Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
29 / 29 / 8
Регистрация: 16.10.2012
Сообщений: 170
1

Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг

30.11.2012, 20:32. Показов 804. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
задание:
список абонентов телефонной сети:почтовый номер , ФИО , адрес , номер телефона (ввести по шаблону 00-000-000)
долг по оплате . Вывести на печать телефонные номера , что начинаются на 22 , которые имеют наибольший долг

все сделал , но во в этой строчке
C++
1
if ((s[0].number=='2')&&(s[1].number=='2'))
мне подчеркивает == не могу разобраться почему
помогите пожалуйста !

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<iostream>
#include<math.h>
#include <stdio.h>
#include <conio.h> 
#include<cstdlib>
 
using namespace std;
    
int main ()
{
    const int n=2;
    struct Student 
    {
    int mail ;
    char FIO[40];
    char Adress[50];
    char number[12];
    double dolg;
    }s[n];
    int i;
 
    for (i=0;i<n;i++)
    {
    cout <<"input your mail number  ";
    cin >>s[i].mail;
    cout <<"FIO ";
    cin >>s[i].FIO;
    cout <<"enter home adress   ";
    cin >>s[i].Adress;
    cout <<"enter Number like this (00-000-000) ";
    cin >>s[i].number;
    cout <<"enter debt  ";
    cin >>s[i].dolg;
    cout<<"\n";
    }
 
    double border;
    cout <<"enter border debt   ";
    cin>>border;
    
    cout <<"\n Result \n"<<endl;
 
    if ((s[0].number=='2')&&(s[1].number=='2'))
    {
        for (i=0;i<n;i++)
        {
        if (s[i].dolg>=border)
        {
            cout<<"Mail number  "<<s[i].mail<<endl;
            cout<<"FIO"<<s[i].FIO<<endl;
            cout <<"home adress "<<s[i].Adress<<endl;
            cout<<"Number   "<<s[i].number<<endl;
            cout<<"debt "<<s[i].dolg<<endl;
            cout<<"\n";
        }
    
        }
    }
getch();
return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2012, 20:32
Ответы с готовыми решениями:

Вывести слова из строки, которые имеют длину больше 5 и начинаются с буквы 'А' или 'а'
Привет! Помогите решить задачу со строками по программированию!! 1.ВВЕСТИ строку. На печать выдать...

Вывести на печать числа, которые начинаются с 500
Даны трёхзначные числа n=10, вывести на печать числа, которые начинаются с 500.

Найти и вывести номера и среднее арифметическое столбцов, которые начинаются с 2
Помогите пожалуйста решить) 1. Задана матрица Е (N&lt;=20, M&lt;=15). Найти и вывести номера и среднее...

Вывести номера всех элементов массива которые имеют наибольшее значение
Номера всех элементов массива В1,В2,...,Bn, которые имеют наибольшее значение (оно может...

3
56 / 52 / 21
Регистрация: 01.01.2012
Сообщений: 347
01.12.2012, 04:03 2
Цитата Сообщение от Dot_mmoru Посмотреть сообщение
if ((s[0].number=='2')&&(s[1].number=='2'))
Вы бирете на сравнение элементы массива типа структура - в ней не перегружены условные операции.
Номер же в number находится.

C++
1
 if((s[0].number[0] == '2') && (s[1].number[1] == '2'))
1
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
01.12.2012, 04:11 3
Потому что Student.number это массив типо char, а вы сравниваете со значением одной переменной.

C++
1
if ((s[0].number=="2")&&(s[1].number=="2"))
Внимание на кавычки.

Добавлено через 1 минуту
Хотя мб имелась ввиду данная конструкция:
C++
1
if ((s[0].number[0]=='2')&&(s[1].number[0]=='2'))
1
56 / 52 / 21
Регистрация: 01.01.2012
Сообщений: 347
01.12.2012, 04:13 4
В условном операторе индекс исправьте с s[1] на s[0]
1
01.12.2012, 04:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2012, 04:13
Помогаю со студенческими работами здесь

Вывести на печать слова, которые начинаются и оканчиваются гласной буквой, длиной не менее 7 букв
Вывести на печать слова, которые начинаются и оканчиваются гласной буквой, длиной не менее 7 букв.

Телефонные номера, которые набираются на кнопочном телефоне ходом коня
Динамическое программирование Ход конем (Время: 1 сек. Память: 16 Мб) Шахматная ассоциация...

Структуры, вывести фамилии и номера групп студентов, которые имеют хотя бы одну плохую оценку
Добрый день всем... Прошу помощи с заданием... Описать структуру с именем STUDENT, которая имеет...

Вывести на печать номера элементов массива, которые меньше последнего, и их число
Дан массив С(m), m=&lt;15. Вывести на печать номера тех элементов массива, которые меньше последнего,...

Вывести на печать номера тех элементов массива, которые меньше последнего
Дан массив C(m), m&lt;=15. Вывести на печать номера тех элементов массива, которые меньше последнего,...

Вывести те слова, которые начинаются на ту же букву, что и последнее слово.
И вот эту еще!! Очень нужна помощь! дана символьная строка, содержащая последовательность слов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru