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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
17.12.2011, 14:31     Телефонный справочник #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
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 минуту
Никто помочь не может?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2011, 14:31     Телефонный справочник
Посмотрите здесь:

телефонный справочник C++
C++ Телефонный справочник.
телефонный справочник C++
Телефонный справочник C++
Телефонный справочник C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 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;
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 не запишется
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 18:49     Телефонный справочник #4
Наверное, я все-таки чего-то не понимаю. Но в вашем классе номер имеет тип string. Да и какая разница, что именно хранить в строке
Yandex
Объявления
17.12.2011, 18:49     Телефонный справочник
Ответ Создать тему
Опции темы

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