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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
#1

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

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

Создать телефонный справочник на 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 то идет ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 20:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При вводе имени абонента или его номера выводить его фамилию, номер телефона и адрес. (C++):

Массивы строк. По имени абонента найти его номер - C++
Данная программа - справочник, вводим имя (например Mery) и получаем номер телефона. Пример из книги: #include &lt;cstring&gt; using...

При вводе даты рождения и номера телефона в структуру выдает неверные данные - C++
#pragma hdrstop #pragma argsused #include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include...

При вводе элементов массива выводить их тип (или int или float) - C++
Помогите с ошибкой, и если не сложно то с заданием а то я вроде сделал только не могу проверить так как крешит прогу( А задание...

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

Структура и объединение: дан список студентов. Общие поля: Ф.И.О., группа, домашний номер телефона. Для тех, у кого домашний телефон указать его номер - C++
ЗАДАЧА: Дан список студентов. Общие поля: Ф.И.О., группа, домашний номер телефона. Для тех, у кого домашний телефон указать его номер. Для...

Определить максимальный элемент матрицы А, номер его строки и номер его столбца - C++
Помогите написать программу)Не могу сформировать одномерный массив из строки(( Дана матрица А (5*5) нецелых элементов. -3.8 ...

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

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

И, вообще, лучше объявить одну структуру, в которую включить все поля. И определить один массив этой структуры.
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
28.10.2011, 21:07 #7
unbelievable, про тип int погорячилась
А вот про сравнение строк все в силе. Попробуйте сравнивать свои строки через функцию strcmp
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
28.10.2011, 21:08  [ТС] #8
Цитата Сообщение от aeshes Посмотреть сообщение
unbelievable, про тип int погорячилась
А вот про сравнение строк все в силе. Попробуйте сравнивать свои строки через функцию strcmp
Можно пример функции?
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
28.10.2011, 21:10 #9
C++
1
strcmp(str, surnames[0]);
сравнивает строки str и surnames[0] и возвращает 0, если они равны
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 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;
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2011, 14:52 #11
unbelievable, лучше найди индекс номера в массиве номеров через цикл, а потом индекс уже используется для вывода имён
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 14:52
Привет! Вот еще темы с ответами:

Вывести на экран фамилию, имя и адрес учеников, у которых нет домашнего телефона - C++
Известны данные о 25-ти учениках класса: фамилия, имя, отчество, адрес и домашний телефон, если он есть. Вывести на экран фамилию, имя и...

Найти максимум из положительных элементов массива и его порядковый номер (номера) - C++
Отсортировать массив по неуменьшение элементов. Исключить из массива нечетные элементы. масивы сохранять в динамической памяти.

Нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет - C++
Здравствуйте, мне нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет. Я попытался...

Ввести с клавиатуры фамилию, и прог. должна выводить номер телефон... - C++
Создать файл, которые содержат: ФИЛ И НОМЕР ТЕЛЕФОНА. Ввести с клавиатуры фамилию, и прог. должна выводить номер телефон... Как это...


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

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

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