1 / 1 / 1
Регистрация: 01.01.2011
Сообщений: 79
1

При вводе имени абонента или его номера выводить его фамилию, номер телефона и адрес.

28.10.2011, 20:58. Показов 3843. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать телефонный справочник на 10 имен, адресов и номеров. При вводе имени абонента или его номера выводить его фамилию, номер телефона и адрес. Не могу что-то разобраться


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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <cstdio>
 
 
 
using namespace std;
 
int main()
{
    int numbers[10];
    char* surnames[10];
    char* adresses[10];
    char str;
    int a, t, n;
 
 
    numbers[0] = 958611362;
    numbers[1] = 509509882;
    numbers[2] = 669010500;
    numbers[3] = 502615062;
    numbers[4] = 951513451;
    numbers[5] = 505009237;
    numbers[6] = 956256107;
    numbers[7] = 314142212;
    numbers[8] = 314124968;
    numbers[9] = 314142380;
 
    surnames[0] = "Illya Sklyarov";
    surnames[1] = "Anatoliy Poloskov";
    surnames[2] = "Tolik Poloskov";
    surnames[3] = "Goarik Gabrelyan";
    surnames[4] = "Oksana Sklyarova";
    surnames[5] = "Igor Sklyarov";
    surnames[6] = "Zeykan Rostislav";
    surnames[7] = "My home";
    surnames[8] = "Grandmother";
    surnames[9] = "Poloskov Home";
 
    adresses[0] = "Vereshmarti street, 18";
    adresses[1] = "Tinodi street, 37";
    adresses[2] = "Tinodi street, 37";
    adresses[3] = "Velyka Bakta village, Parkova street, 15";
    adresses[4] = "Vereshmarti street, 18";
    adresses[5] = "Vereshmarti street, 18";
    adresses[6] = "Vereshmarti street, 25";
    adresses[7] = "Vereshmarti street, 18";
    adresses[8] = "Shevchenko street, 114/2";
    adresses[9] = "Tinodi street, 37";
 
 
    cout << "Enter number or press 0 if ypu want to find an abonent by name:" << endl;
    cin >> t;
    if (t == numbers[0])
    cout << surnames[0] << " \t" << adresses[0] <<" \t" << t << endl;
    else if (t == numbers[1])
    cout << surnames[1] << " \t" << adresses[1] <<" \t" << t << endl;
    else if (t == numbers[2])
    cout << surnames[2] << " \t" << adresses[2] <<" \t" << t << endl;
    else if (t == numbers[3])
    cout << surnames[3] << " \t" << adresses[3] <<" \t" << t << endl;
    else if (t == numbers[4])
    cout << surnames[4] << " \t" << adresses[4] <<" \t" << t << endl;
    else if (t == numbers[5])
    cout << surnames[5] << " \t" << adresses[5] <<" \t" << t << endl;
    else if (t == numbers[6])
    cout << surnames[6] << " \t" << adresses[6] <<" \t" << t << endl;
    else if (t == numbers[7])
    cout << surnames[7] << " \t" << adresses[7] <<" \t" << t << endl;
    else if (t == numbers[8])
    cout << surnames[8] << " \t" << adresses[8] <<" \t" << t << endl;
    else if (t == numbers[9])
    cout << surnames[9] << " \t" << adresses[9] <<" \t" << t << endl;
 
    if (t==0)
    cout << "Enter name and surname:" << endl;
    gets(str);
 
 
 
    if (str == surnames[0])
    cout << str << " \t" << adresses[0] <<" \t" << numbers[0] << endl;
 
    else
    cout << "Error! No abonent in database!" << endl;
 
 
  return 0;
}
Ошибка думаю где-то начиная с 80 строки. То есть если ввожу имя и фамилию Illya Sklyarov то идет ошибка
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2011, 20:58
Ответы с готовыми решениями:

Опишите массив записей, содержащих фамилию абонента и номер его телефона. Запрограммируйте двоичный поиск в
Опишите массив записей, содержащих фамилию абонента и номер его телефона. Запрограммируйте двоичный...

Массивы строк. По имени абонента найти его номер
Данная программа - справочник, вводим имя (например Mery) и получаем номер телефона. Пример из...

При вводе в LineEdit фильтровать по его содержимому данные и выводить в QLstWidget
Доброе время суток, посмотрите пжл код. Идея состоит в том, чтобы при вводе в лайнедит...

ООП: не выводит информацию из файла при вводе его имени
при вводе имени нужного файла не выводит информацию из него.помогите исправить ошибку

10
Заблокирован
28.10.2011, 21:00 2
Как я понял, вам нужно создать справочник из 10 записей, а затем по имени абонента выводить о нем информацию.
0
1 / 1 / 1
Регистрация: 01.01.2011
Сообщений: 79
28.10.2011, 21:01  [ТС] 3
Цитата Сообщение от Сыроежка Посмотреть сообщение
Как я понял, вам нужно создать справочник из 10 записей, а затем по имени абонента выводить о нем информацию.
Да. По номеру у меня выводит, а вот с именем проблема
0
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
28.10.2011, 21:02 4
Для сравнения строк разве используется ==?
0
1 / 1 / 1
Регистрация: 01.01.2011
Сообщений: 79
28.10.2011, 21:03  [ТС] 5
Цитата Сообщение от aeshes Посмотреть сообщение
Что-то я сомневаюсь, что числа типа 958611362 влезут в тип int..

И для сравнения строк разве используется ==?
Я же под кодом описал проблему
0
Заблокирован
28.10.2011, 21:03 6
Цитата Сообщение от unbelievable Посмотреть сообщение
Да. По номеру у меня выводит, а вот с именем проблема
Я вообще не вижу, где у вас объявлен массив имен.

И, вообще, лучше объявить одну структуру, в которую включить все поля. И определить один массив этой структуры.
0
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
28.10.2011, 21:07 7
unbelievable, про тип int погорячилась
А вот про сравнение строк все в силе. Попробуйте сравнивать свои строки через функцию strcmp
0
1 / 1 / 1
Регистрация: 01.01.2011
Сообщений: 79
28.10.2011, 21:08  [ТС] 8
Цитата Сообщение от aeshes Посмотреть сообщение
unbelievable, про тип int погорячилась
А вот про сравнение строк все в силе. Попробуйте сравнивать свои строки через функцию strcmp
Можно пример функции?
0
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
28.10.2011, 21:10 9
C++
1
strcmp(str, surnames[0]);
сравнивает строки str и surnames[0] и возвращает 0, если они равны
1
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
28.10.2011, 22:59 10
unbelievable, а чё так без массивов

Добавлено через 34 секунды
начиная с 51

Добавлено через 5 минут
да вобще так наверно правильней
C++
1
2
3
4
cin >> i
if (i<0) return 0;
if (i>10) return 0;
cout << surnames[i] << " \t" << adresses[i] <<" \t" << t << endl;
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
29.10.2011, 14:52 11
unbelievable, лучше найди индекс номера в массиве номеров через цикл, а потом индекс уже используется для вывода имён
1
29.10.2011, 14:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2011, 14:52
Помогаю со студенческими работами здесь

При вводе номера числа фиббоначи на экран вывести его знаечие
Помогите кто... Необходимо что бы при вводе номера чиста фиббоначи на экран выводило его знаечие и...

Процедура должна выводить сумму при вводе номера, но кроме суммы выводит еще что такого номера нет
procedure output; var nom:string; x:integer; begin reset(f); x:=0; writeln('Введите...

Классы: найти фамилию и инициалы сотрудника по его номеру телефона
Даны сведения о 13 сотрудниках учреждения. Сведения о сотрудниках - это фамилия,инициалы и номер...

По номеру квартиры абонента кабельной сети вывести на экран номер его подъезда
Написать программу, которая по заданному номеру квартиры абонента кабельной сети выводит на экран...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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