Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Dot_mmoru
25 / 25 / 4
Регистрация: 16.10.2012
Сообщений: 161
30.11.2012, 20:32     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг #1
задание:
список абонентов телефонной сети:почтовый номер , ФИО , адрес , номер телефона (ввести по шаблону 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;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 20:32     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг
Посмотрите здесь:

Вывести слова, которые начинаются и оканчиваются одной и той же буквой C++
Определить попарно номера окружностей, которые имеют хотя бы одну общую точку C++
C++ Вывести слова которые начинаются с одной и той же буквы
Вывести из файла все слова, которые начинаются на заданную букву C++
Выделить из текста все слова которые имеют длину 6 символов и начинаются на "С" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
01.12.2012, 04:03     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг #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'))
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4922 / 2665 / 243
Регистрация: 29.11.2010
Сообщений: 7,420
01.12.2012, 04:11     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг #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'))
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
01.12.2012, 04:13     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг #4
В условном операторе индекс исправьте с s[1] на s[0]
Yandex
Объявления
01.12.2012, 04:13     Вывести на печать телефонные номера, что начинаются на 22, которые имеют наибольший долг
Ответ Создать тему
Опции темы

Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru