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

Структуры (Сделать поиск человека по номеру телефона) - C++

Восстановить пароль Регистрация
 
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
15.12.2012, 13:26     Структуры (Сделать поиск человека по номеру телефона) #1
Задание: из файла считать в структуру фамилию, имя, телефон, дату рождения. Сделать поиск человека по номеру телефона.
Не понимаю, почему из файла читает не все записи, а только первые 4?
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
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
struct note{
       char fi[30];
       char nom[20];
       char rojd[15];
};
      
int main(int argc, char *argv[])
{
    int i, k;
    bool fl = false;
    char *tel;
    tel = new char [15];
    note *man;
    man = new note [8];
    ifstream f;
    f.open("Baza.txt");
    for(i=0; i<8; i++){
        while(!f.eof()){
            f.get(man[i].fi, 30);
            f.get();
            f.get(man[i].nom, 20);
            f.get();   
            f.get(man[i].rojd, 15);
            f.get();
            f.get();
            break;
        }
    }
    f.close();
    for(i=0; i<sizeof(man); i++){
        cout << "Name: ";
        puts(man[i].fi);
        cout << "Tel: ";
        puts(man[i].nom);
        cout << "Data rojd: ";
        puts(man[i].rojd);
        cout << endl;
    }
    cout << "Vvedite nomer telefona (v formate 11-11-11): ";
    gets(tel);
 
    for (i=0;i<sizeof(man); i++)
        if (strcmp(man[i].nom, tel) == 0){
            fl = true;
            cout << "Name: ";
            puts(man[i].fi);
            cout << "Tel: ";
            puts(man[i].nom);
            cout << "Data rojd: ";
            puts(man[i].rojd);
        }
    if (fl == false)
        cout << "Takogo nomera net" << endl;
    delete[] tel;
    delete[] man;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Содержание файла Baza.txt:
Sleptsov Dima
12-34-56
20.10.1992

Ivanov Vasya
65-43-21
01.01.1995

Petrov Petya
26-66-68
21.06.1996

Sidorov Ivan
40-28-47
05.11.1980

Petrov Kolya
26-66-68
21.06.1996

Karasev Maxim
88-24-65
08.09.1970
http://s40.***********/i090/1212/81/cdb1ae0cd23c.jpg
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 13:26     Структуры (Сделать поиск человека по номеру телефона)
Посмотрите здесь:

найти номер телефона человека с заданной фамилией C++
Структуры. Очередь (вывести на экран фамилию человека,где номер телефона введен с клавиатуры) C++
C++ в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени
Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) C++
C++ Односвязные списки. Реализовать функцию для удаления строчки из структуры по заданному номеру
C++ Написать программу за выводом инфо по номеру телефону (структуры)
Телефонный справочник: добавление/удаление/поиск номера телефона C++
C++ Редактирование структуры по номеру записи

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
марияснежская
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 1
08.06.2016, 21:24     Структуры (Сделать поиск человека по номеру телефона) #2
Недавно узнала о людях, которые предоставляют услуги геолокации по номеру телефона. Потеряла свой телефон и долго не могла придумать как его отследить.... Проверила - результат удивил! Смогла найти человека у которого был мой телефон и забрать его со знакомым. Кому необходима такая помощь - вот номер +7(929)-829-75-42
zoom59rus
5 / 5 / 3
Регистрация: 09.02.2015
Сообщений: 42
Завершенные тесты: 1
08.06.2016, 21:58     Структуры (Сделать поиск человека по номеру телефона) #3
for (int i = 0; i<sizeof(man); i++) - здесь ошибка.

sizeof(man) - равен 4.

Добавлено через 11 минут
Как я понял задание:

C++ (Qt)
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <fstream>
 
using namespace std;
 
struct note 
{
    char fi[30];
    char nom[20];
    char rojd[15];
};
 
int main(int argc, char *argv[])
{
    bool fl = false;
    char *tel = new char[15];
    note *man = new note[8];
    ifstream f;
    f.open("Baza.txt");
    for (int i{0}; i < 8; i++)
    {
        while (!f.eof()) 
        {
            f.getline(man[i].fi, 30);
            f.getline(man[i].nom, 20);
            f.getline(man[i].rojd, 15);
            break;
        }
    }
    f.close();
    for (int i{0}; i < sizeof(man) / sizeof(note); i++) {
        cout << "Name: ";
        puts(man[i].fi);
        cout << "Tel: ";
        puts(man[i].nom);
        cout << "Data rojd: ";
        puts(man[i].rojd);
        cout << endl;
    }
    cout << "Vvedite nomer telefona (v formate 11-11-11): ";
    cin>>*tel;
 
    for (int i{0}; i<sizeof(man) / sizeof(note); i++)
        if (strcmp(man[i].nom, tel) == 0) 
        {
            fl = true;
            cout << "Name: ";
            puts(man[i].fi);
            cout << "Tel: ";
            puts(man[i].nom);
            cout << "Data rojd: ";
            puts(man[i].rojd);
        }
    if (fl == false)
        cout << "Takogo nomera net" << endl;
    delete[] tel;
    delete[] man;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Yandex
Объявления
08.06.2016, 21:58     Структуры (Сделать поиск человека по номеру телефона)
Ответ Создать тему
Опции темы

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