Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 89
1

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

29.06.2016, 13:54. Показов 3311. Ответов 4
Метки нет (Все метки)

Здравствуйте пытаюсь разобрать такую программу изкнижки

Напишите программу, которая позволяет найти в телефонном справочнике (A:\phone.txt) нужные сведения. Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть люди с одинаковыми фамилиями, то программа должна вывести список всех этих людей. Рекомендуемыйвид экрана во время работы профаммы приведен ниже.

Поиск в телефонном справочнике.
Введите фамилию и нажмите <Enter>. Для завершения работы с
программой сразу после приглашения нажмите <Enter>
-> Петров
В справочнике данных о Петров нет.
-> Иванов
Иванов Вася 578-12-45
Иванов Сергей 244-34-02
->
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <clocale>
#define FNAME "C:\\phone.txt\0" 
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    char fname[20] = FNAME;
    FILE *in; 
    
    char obr[15];
    
    
    char fam[15]; 
    char name[15]; 
    char tel[9]; 
    
    int n = 0; 
    
    puts("\nПоиск в телефонном справочнике");
    
    if ((in = fopen(fname, "rt")) == NULL)
    {
        printf ("Ошибка открытия файла %s", fname) ;
        getch();
        return 0;
    } 
    
    printf("Фамилия ->");
    scanf("%s", &obr); 
    while (!feof(in))
    {
    fscanf(in,"%s %s %s", &fam, &name, &tel);
    if (fam == obr)
    {
    printf("%s %s %s",fam, name, tel);
    n++;
    }
    }
    if (n )
    printf("Найдено записей: %i", n);
    else
    printf("Данных об абоненте &s в БД нет", obr);
    fclose(in);
    puts("\nДля завершения нажмите <Enter>");
    getch();
    }
У меня она открывает файл но не дальше пишет что нет фамилий в базе......в чем ошибка?помогите разобраться во всем этом
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2016, 13:54
Ответы с готовыми решениями:

Телефонный справочник
Всем привет! :) Задачка в двух словах такова. Надо сделать телефонный справочник, чтоб можно было...

Телефонный справочник
#include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; #pragma warning(disable:4996) //...

Телефонный справочник
Помогите пожалуйста написать программу &quot;Телефонный справочник&quot;, в которой есть два массива по 10...

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

4
11 / 11 / 11
Регистрация: 16.07.2014
Сообщений: 55
29.06.2016, 14:21 2
Что бы сравнить строки if (strcmp(fam, obr) == 0).
Только я вот не уверен что с русскими словами это будет работать.
0
62 / 60 / 37
Регистрация: 01.04.2015
Сообщений: 116
29.06.2016, 14:24 3
Проблемы с кириллицей.
Русские шрифты в консоли

Сравнивать строки:
C++
1
if (strcmp(fam, obr) == 0)
И в сроке 45 опечатка:
C++
1
printf("Данных об абоненте %s в БД нет", obr);
0
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 89
30.06.2016, 17:53  [ТС] 4
А что нужно в 45 строчке?
0
62 / 60 / 37
Регистрация: 01.04.2015
Сообщений: 116
01.07.2016, 08:55 5
Опечатка в спецификаторе формата (в Вашем коде было "&s").
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2016, 08:55

C++ Телефонный справочник
Доброго времени суток, есть готовое домашнее задание по С++, но есть баг который никак не могу...

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

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

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


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

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

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