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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
#1

Не выполняется условие сравнения строк с номером телефона - C++

23.04.2014, 07:42. Просмотров 252. Ответов 7
Метки нет (Все метки)

Вот программа через структуру, ввод данных: Фамилия Имя, дата рождения, номер телефона.
Когда вводит в запросе номер телефон он должен выдавать всю информацию о человеке с которым совпал номер телефона, если нет то выдать сообщение не найдено. Вот он не сравнивает строки с номером телефона и всегда выдает не найдено....
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
#pragma hdrstop
#pragma argsused
#include <tchar.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
const int n=2;
struct NOTE { char Family[40];
              char Name[40];
                int data[3];
                 int number_phone[5];}NOTE[n];
main()
{
system("chcp 1251>0");
int i;
for(i=0; i<n; i++)
{ printf("\n введите фамилию, имя");
    scanf("%s %s",&NOTE[i].Family,&NOTE[i].Name);
    printf ("Введите дату рождения\n");
    scanf ("%d%d%d",&NOTE[i].data[0], &NOTE[i].data[1], &NOTE[i].data[2]);
    printf ("номер телефона\n");
    scanf ("%d", &NOTE[i].number_phone);
}
int k[5];
printf("Введите номер для поиска\n");
scanf ("%d", k);
bool flag=false;
for (i = 0; i < n; i++)
{
    if (NOTE[i].number_phone==k)
    {flag=true;
    printf("%s",NOTE[i].Family);
    printf("%s", NOTE[i].Name);
    printf("%d", NOTE[i].number_phone);
    }
    }
if (flag==false) printf ("Не найдено\n");
getch();
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 07:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не выполняется условие сравнения строк с номером телефона (C++):

Массив структур: столбец с номером телефона поставить перед фамилией владельца - C++
Телефонный справочник жителей города оформлен в виде массива структур. Номера телефонов шестизначные. Составить программу, которая...

Не выполняется условие - C++
Код как таковой работает но единственное что не выводит так это ответ при нажатии 0 Как нажимаю на ноль он должен написать c=0 но он...

Не выполняется условие - C++
Если ввести в консольном приложении строку Terminator, то должно выполниться условие и выведется текст That's Right. Но оно почему-то не...

Не выполняется условие! - C++
Здравствуйте! подскажите пожалуйста по какой причине у меня может не выполняться условие проверки страны? void country(TEda * Start){ ...

Не выполняется условие if - C++
Нужна помощь не работает 13-я строка. #include &lt;iostream&gt; #include &lt;stdafx.h&gt; double f(double ** a1, int l, int m) { int...

Не выполняется условие - C++
Условие задачи: На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IrineK
Заблокирован
23.04.2014, 08:04 #2
Цитата Сообщение от Alex-One Посмотреть сообщение
int number_phone[5]
Зачем вам хранить номер телефона в пяти интах?
И что вы здесь считываете:
Цитата Сообщение от Alex-One Посмотреть сообщение
printf ("номер телефона\n");
scanf ("%d", &NOTE[i].number_phone);
И здесь:
Цитата Сообщение от Alex-One Посмотреть сообщение
int k[5];
printf("Введите номер для поиска\n");
scanf ("%d", k);
А потом, что вы здесь сравниваете:
Цитата Сообщение от Alex-One Посмотреть сообщение
if (NOTE[i].number_phone==k)
0
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
23.04.2014, 08:10  [ТС] #3
Цитата Сообщение от IrineK Посмотреть сообщение
Сообщение от Alex-One
int number_phone[5]
Здесь это сколько цифр в телефоне т.е номер из 5 символов...
Цитата Сообщение от IrineK Посмотреть сообщение
Сообщение от Alex-One
printf ("номер телефона\n");
scanf ("%d", &NOTE[i].number_phone);
ввод телефона))
Цитата Сообщение от IrineK Посмотреть сообщение
nt k[5];
printf("Введите номер для поиска\n");
scanf ("%d", k);
переменная в которой хранится данные запроса
Цитата Сообщение от IrineK Посмотреть сообщение
if (NOTE[i].number_phone==k)
это условие если к совпадет с с номером то он должен выдать данные о человеке
0
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
23.04.2014, 08:18 #4
Цитата Сообщение от Alex-One Посмотреть сообщение
scanf ("%d", k);
И что же вы здесь считываете и куда?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
23.04.2014, 08:19 #5
Ты плохо понимаешь типы. %d - это ввод чиcла в один int. Хочешь много, делай цикл или вводи номер в строку.
0
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
23.04.2014, 08:25 #6
Вот рабочий пример
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
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdlib>
const int n=2;
struct NOTE 
{ 
    char Family[40];
    char Name[40];
    int data[3];
    int number_phone;
} NOTE[n];
 
int main()
{
system("chcp 1251>0");
int i;
for(i=0; i< n; i++)
{ 
    printf("\n введите фамилию, имя");
    scanf("%s %s",NOTE[i].Family,NOTE[i].Name);
    printf ("Введите дату рождения\n");
    scanf ("%d%d%d",&NOTE[i].data[0], &NOTE[i].data[1], &NOTE[i].data[2]);
    printf ("номер телефона\n");
    scanf ("%d", &NOTE[i].number_phone);
}
 
int k;
printf("Введите номер для поиска\n");
scanf ("%d", &k);
bool flag=false;
for (i = 0; i < n; i++)
{
    if (NOTE[i].number_phone==k)
    {flag=true;
    printf("%s",NOTE[i].Family);
    printf("%s", NOTE[i].Name);
    printf("%d", NOTE[i].number_phone);
    }
    }
if (flag==false) printf ("Не найдено\n");
std::cin.get();
return 0;
}
0
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
23.04.2014, 08:31  [ТС] #7
Цитата Сообщение от recoder Посмотреть сообщение
Вот рабочий пример
Спасибо большое)))
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
23.04.2014, 08:32 #8
Зачем вообще из номера телефона делать int?
Номера будем складывать, что-ли...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 08:32
Привет! Вот еще темы с ответами:

Не выполняется условие - C++
При вводе единицы должно вывестись сообщение на экран, однако этого не происходит. MS Visual Studio #include &lt;cstdlib&gt; #include...

Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых. - C++
Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых.

Не выполняется условие в цикле for - C++
Доброго времени суток. Почему не выполняется код в цикле for? #include &lt;iostream&gt; using namespace std; int main(){ for (int...

if выполняется, не смотря на условие - C++
Нужно с помощью метода итераций уточнить корень уравнения 1.8*x^4-sin(10*x)=0 на промежутке . Возникла проблема при проверке условия в теле...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2014, 08:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru