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

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

Восстановить пароль Регистрация
 
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
23.04.2014, 07:42     Не выполняется условие сравнения строк с номером телефона #1
Вот программа через структуру, ввод данных: Фамилия Имя, дата рождения, номер телефона.
Когда вводит в запросе номер телефон он должен выдавать всю информацию о человеке с которым совпал номер телефона, если нет то выдать сообщение не найдено. Вот он не сравнивает строки с номером телефона и всегда выдает не найдено....
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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)
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)
это условие если к совпадет с с номером то он должен выдать данные о человеке
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
23.04.2014, 08:18     Не выполняется условие сравнения строк с номером телефона #4
Цитата Сообщение от Alex-One Посмотреть сообщение
scanf ("%d", k);
И что же вы здесь считываете и куда?
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,480
23.04.2014, 08:19     Не выполняется условие сравнения строк с номером телефона #5
Ты плохо понимаешь типы. %d - это ввод чиcла в один int. Хочешь много, делай цикл или вводи номер в строку.
recoder
 Аватар для recoder
129 / 129 / 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;
}
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
23.04.2014, 08:31  [ТС]     Не выполняется условие сравнения строк с номером телефона #7
Цитата Сообщение от recoder Посмотреть сообщение
Вот рабочий пример
Спасибо большое)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 08:32     Не выполняется условие сравнения строк с номером телефона
Еще ссылки по теме:

Не выполняется условие. Причина не ясна C++
C++ Не выполняется условие!
Почему всегда выполняется условие? C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
23.04.2014, 08:32     Не выполняется условие сравнения строк с номером телефона #8
Зачем вообще из номера телефона делать int?
Номера будем складывать, что-ли...
Yandex
Объявления
23.04.2014, 08:32     Не выполняется условие сравнения строк с номером телефона
Ответ Создать тему
Опции темы

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