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

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

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

Телефонный справочник - C++

17.12.2011, 14:31. Просмотров 2250. Ответов 3
Метки нет (Все метки)

Прога читает из файла, есть поиск по имени и по адресу. Никак не могу реализовать поиск по номеру. Помогите пожалуйста. Вот код:

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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
class Number
{
  public:
            string name;
            string number;
            string adress;
            Number(const Number &v):
                         name(v.name),
                         number(v.number),
                         adress (v.adress) {}
            Number() {}
            const Number &operator=(const Number &v)
            {
                  name = v.name;
                  number = v.number;
                  adress = v.adress;
                  return v;
            }
};
 
int main ()
{
   fstream f("file.txt");
   vector<Number> telBook;
 
   while (true)
   {
     Number t;
     f >> t.name;
     if (f.eof())
        break;
     f >> t.number;
     if (f.eof())
        break;
        f >> t.adress;
        if (f.eof())
        break;
 
     telBook.push_back(t);
     }
     while (true)
     {
     cout << "Enter name or press 1 if you want to find by adress:"<< endl;
     string name;
     cin >> name;
     cout << "\n";
 
     for (int i = 0; i < telBook.size(); i++)
     {
         if (telBook[i].name == name)
            cout << name << "   " << telBook[i].number << "   "  << telBook[i].adress << endl;
     }
            if (name == "1")
            cout << "Enter adress:" << endl;
            string adress;
            cin >> adress;
            cout << "\n";
 
 
for (int i = 0; i < telBook.size(); i++) {
                if (telBook[i].adress == adress)
            cout << telBook[i].name << "   " << telBook[i].number << "   "  << adress << endl;
}
 
 
 
 
     cout << "-------------------------------------------" << endl;
     }
 
 
}

Содержимое файла:
Vasya 345627 Moskva
Petya 679353 Kiev
Yura 430532 Peterburg
Dima 647230 Rostov

Добавлено через 51 минуту
Никто помочь не может?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2011, 14:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Телефонный справочник (C++):

телефонный справочник - C++
Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в базу. Удаление абонентов из базы. ...

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

Телефонный справочник. - C++
#include &quot;stdio.h&quot; #include &quot;conio.h&quot; #define FNAME &quot;I:\\phone.txt\0&quot; void main() { char fname = FNAME; FILE *out; char...

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

телефонный справочник - C++
создать программу телефонный справочник на 5 человек эти 5 человек вводятся с клавиатуры. помогие составить

Телефонный справочник - C++
Помогите пожалуйста написать прогу на С++.Нужно написать прогу телефонный справочник,она должна считывать инфу с текстового файла и...

3
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 14:41 #2
Я не очень понимаю, в чем проблема...
Скопировал кусок вашего же кода, поменяв adress на number.
C++
1
2
3
4
5
6
7
8
9
cout << "Enter number:" << endl;
            string number;
            cin >> number;
            cout << "\n";
 
 
for (int i = 0; i < telBook.size(); i++) {
                if (telBook[i].number == number)
            cout << telBook[i].name << "   " << number << "   "  << telBook[i].adress << endl;
0
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
17.12.2011, 16:49  [ТС] #3
Цитата Сообщение от I.M. Посмотреть сообщение
Я не очень понимаю, в чем проблема...
Скопировал кусок вашего же кода, поменяв adress на number.
C++
1
2
3
4
5
6
7
8
9
cout << "Enter number:" << endl;
            string number;
            cin >> number;
            cout << "\n";
 
 
for (int i = 0; i < telBook.size(); i++) {
                if (telBook[i].number == number)
            cout << telBook[i].name << "   " << number << "   "  << telBook[i].adress << endl;
Номер же через string не запишется
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 18:49 #4
Наверное, я все-таки чего-то не понимаю. Но в вашем классе номер имеет тип string. Да и какая разница, что именно хранить в строке
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2011, 18:49
Привет! Вот еще темы с ответами:

Телефонный справочник - C++
Всем привет! :) Задачка в двух словах такова. Надо сделать телефонный справочник, чтоб можно было добавлять ФИО №телефона, затем...

Телефонный справочник. - C++
Здравствуйте. Нужна помощь в создании программы, которая объединяла бы в себе действия: &quot;Добавление в телефонный справочник&quot; и &quot;Поиск в...

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

Телефонный справочник консоль - C++
Помогите пожалуйста! Приложение должно выполнять основные функции телефонного справочника: - ввод сведений о новых абонентах...


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

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

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