Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Radik93
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 4
#1

Файл содержит информацию о фамилиях и номерах телефонов 10 человек - C++

29.06.2012, 21:18. Просмотров 1097. Ответов 4
Метки нет (Все метки)

Пожалуйста помогите доработать программу. Вот задание:
Создать текстовый файл с записями фиксированной длины.
Файл содержит информацию о фамилиях и номерах телефонов 10 человек.
Написать программу, реализующую следующие функции:
1.Определение телефона некоторого человека. Если телефон есть, то выводит его на экран, иначе выдает соответствующее сообщение;
2.Определение человека с заданным номером телефона. Если такой человек есть, то выводит информацию о нем на экран, иначе выдает соответствующее сообщение;
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
# include <stdio.h>
# include <conio.h>
# include <string.h>
struct abonent
{
char fio[20];
int nomer[8];
};
main()
{
struct abonent name[5];
int i,n,s;
FILE*f;
clrscr();
f=fopen("abonent.txt","r");
if(f==NULL)
{
puts("Fail ne naiden!");
 
}
puts("\n Vvod dannuh");
for(i=0;i<5;i++)
{
printf("\n Nomer:");
scanf("%d",&name[i].nomer);
printf ("\n Familia:");
scanf("%s",&name[i].fio);
}
printf("\n Vvedite nomer telefona-");
scanf("%d",&name[i].nomer);
 for(i=0;i<5;i++)
 
  s==name[i].nomer;
 {
 if(s==1)
 printf("\nThis people have!");
 printf("\n Information the people:");
 printf("\nFamilia the piople: %s",&name[i].fio);
 }
 
  if(s==0)
 {
 printf("\n Takogo people net!");
 }
 getch();
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2012, 21:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Файл содержит информацию о фамилиях и номерах телефонов 10 человек (C++):

Структуры данных (создание, просмотр, дополнение и извлечения данных из файла, содержащего информацию о номерах телефонов сотрудников учреждения,ФИО)
Нужно создать программу, которая бы обеспечивала создание, просмотр, дополнения...

Текстовый файл, который содержит номера телефонов сотрудников
A. Сформировать текстовый файл, который содержит номера телефонов сотрудников...

Файл input.txt содержит следующую информацию:
Файл input.txt содержит следующую информацию: 1 строка - количество элементов...

Файлы: вывести информацию об абитуриентах, проживающих в деревнях с населением выше 30 человек
9. Ведомость абитуриентов содержит ФИО, населенный пункт проживания, суммарный...

Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым
Добрый день, помогите пожалуйста сделать вот такую программу. Даны натуральное...

Составить программу, которая содержит информацию о сотрудниках
Язык С или С++ Составить программу, которая содержит информацию о сотрудниках...

4
Doctor_
235 / 234 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
30.06.2012, 00:58 #2
Написал по новой с менюшкой
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
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <string.h>
 
int main() {
    struct abonent {
        char fio[20];
        int nomer;
        };
    FILE *fp;
    abonent fail;
    int num, x = 0;
    char fioo[20];
    do {
        system("cls");
        printf("1. Dobavitj zapisj\n");
        printf("2. Prosmotretj spisok\n");
        printf("3. Iskatj cheloveka po nomeru telefona\n");
        printf("4. Iskatj cheloveka po imeni\n");
        printf("5. Vyjti\n");
        scanf("%d",&x);
        switch(x) {
                  case 1:
                       system("cls");
                       printf("Zapolnite trebujemje!\n");
                       printf("Nomer telefona: ");
                       scanf("%d",&fail.nomer);
                       printf("Familija: ");
                       scanf("%s",&fail.fio);
                       fp=fopen("abonent.txt","a");
                       fwrite(&fail,sizeof(fail),1,fp);
                       fclose(fp);
                  break;
                  case 2:
                       system("cls");
                       fp=fopen("abonent.txt","r");            
                       while(fread(&fail,sizeof(fail),1,fp)) {
                           printf("%9d |%12s ",fail.nomer,fail.fio);  
                       printf("\n------------------------------\n");                           
                       }
                       fclose(fp);
                       getche();
                  break;
                  case 3:
                       system("cls");
                       printf("Vvedite nomer telefona: ");
                       scanf("%d",&num);
                       system("cls");
                       printf("Vy vveli nomer %10d\n",num);
                       fp=fopen("abonent.txt","r");      
                       while(fread(&fail,sizeof(fail),1,fp)) {
                           if(num==fail.nomer) {
                               printf("%9d |%12s ",fail.nomer,fail.fio);  
                               printf("\n------------------------------\n");
                               }
                               else {
                                    printf("Cheloveka s takim nomerom net\n");
                                    }
                        }
                        fclose(fp); 
                        getch();
                  break;
                  case 4:
                       system("cls");
                       printf("Vvedite nomer telefona: ");
                       scanf("%s",&fioo);
                       system("cls");
                       printf("Vy vveli fio %10s\n",fioo);
                       fp=fopen("abonent.txt","r");      
                       while(fread(&fail,sizeof(fail),1,fp)) {
                           if(strstr(fioo,fail.fio)) {
                               printf("%9d |%12s ",fail.nomer,fail.fio);  
                               printf("\n------------------------------\n");
                               }
                               else {
                                    printf("Cheloveka s takim nomerom net\n");
                                    }
                        }
                        fclose(fp); 
                        getch();
                  break;     
                  }
        }
        while(x!=5);
}
1
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.06.2012, 12:59 #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
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream> 
#include <string> 
#include <fstream> 
using namespace std; 
 
struct abonent   // структура абоенент
{ 
    string name; // фамилия 
    int number;   // номет телефона
}; 
 
int main() 
{   
    setlocale(0, "rus");
    const int size = 10; //количество абонентов
    abonent ab[size];  // 
    ofstream outfile("Text.txt");  // текстовый файл в который будем записывать данные
    int var;  // переменная на меню
    string sur; // переменная для ввода фамилии
    int tel;    // переменная для ввода телефона
    int i = 0;  // счётчик количества абонентов
    bool flag = false;  // флаги совпадений в поиске
    bool flag1 = false; 
 
    while(true)  
    {
 
    cout << "         Меню         " << endl; 
    cout << "1 Ввести данные абонента ( английский язык ) " << endl; 
    cout << "2 Поиск абонента по фамилии " << endl;  
    cout << "3 Поиск телефона по номеру телефона " << endl; 
    cout << "4 Вывести весь список абонентов " << endl;
    cout << "5 Выход из программы " << endl; 
    cout << "Введите ваш вариант " << endl; 
    cin >> var; 
 
    switch(var) 
    { 
    case 1: 
        cout << "Введите фамилию абонента " << endl; // вводим информацию
        cin >> ab[i].name; 
        cout <<"Введите номер абонента " << endl; 
        cin >> ab[i].number; 
        outfile << ab[i].name << " " << ab[i].number << endl; // сохраняем информацию в текстовый файл
        i++;  
        break;
    case 2: 
        cout << "Введите фамилию для поиска  " << endl; 
        cin >> sur;  
        for ( int j = 0; j < i; j++)  // поиск
            if(sur == ab[j].name)  
            {
                cout <<" Номер абонента с такой фамилией " <<  ab[j].number << " ";   
                cout << endl;
                flag = true;   // если найдено ставим флаг тру
            }  
            if( flag == false)  
                cout << "Абонента с такой фамилией нет в списке " << endl << endl;  
               break;
 
    case 3: 
        cout << "Введите номер телефона " << endl; 
        cin >> tel; 
        for ( int j = 0; j < i; j++)  
            if( tel == ab[j].number) // поиск номера телефона
            { 
                cout <<"Фамилия абонента с данным номером " << ab[j].name << " ";  
                cout << endl;
                flag1 = true; 
            }  
            if(flag1 == false)  
                cout << "Такого номера в списке нет "<< endl;  
                break; 
 
    case 4: 
        for ( int j = 0; j < i; j++)  // выводим весь список
            cout << ab[j].name << " " << ab[j].number << endl;  
            cout << endl;
            break; 
 
    case 5:  
        cout << "До свидания " << endl; // выход
        exit(1);
        break; 
    default: 
        cout << "Не коретный ввод данных  " << endl; // при некоретнеом вводе
 
    }   
 
    }
    return 0;
}
2
Radik93
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 4
01.07.2012, 14:42  [ТС] #4
system("cls")-извини, а что означает это???)
0
Петррр
6155 / 3455 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
01.07.2012, 14:48 #5
clear screen
0
01.07.2012, 14:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 14:48
Привет! Вот еще темы с решениями:

Список внутренних телефонов организации с разбивкой по отделам.Количества отделов и телефонов внутри отдела задать самостоятельно.
Список внутренних телефонов организации с разбивкой по отделам.Количества...

Создайте класс, который содержит информацию об имени и адресе
Создайте класс, который содержит информацию об имени и адресе. Храните всю эту...

Составить программу, которая содержит текущую информацию о заявках на авиабилеты
Помогите пожалуйста! Пишу программу и столкнулся с проблемой! Вот...

Составить программу, которая содержит текущую информацию о заявках на авиабилеты
Составить программу, которая содержит текущую информацию о заявках на...


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

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

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