Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
MR_Andrew
12 / 12 / 3
Регистрация: 19.12.2009
Сообщений: 119
1

Работа с файлами. Телефонная книга

07.04.2010, 00:24. Просмотров 3971. Ответов 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
#include <iostream>
#include <fstream.h>
#include <string.h>
#include <stream.h>
 
 
struct phone
{
int num;
};
 
struct imya
{
char name;
};
 
 
struct year
{
int god;
};
 
 
int main()
{
phone ph1;  //определение номера
//получить данные от пользователя
 
cout <<"\nVvedite Nomer ";
cin >>ph1.num;
 
 
imya nh1;
 
cout <<"\nVvedite Imya ";
cin >>nh1.name;
 
year yh1;
 
cout <<"\nVvedite God ";
cin >>yh1.god;
 
cout <<"\nfamiliya: "<< nh1.name <<" Telefon: "<< ph1.num <<" God ustanovki"<< yh1.god;
 
ofstream file("C:\\1.txt");
file << nh1.name;
file << ph1.num;
file << yh1.god;
return 0;
}
В блоке
Код
cout <<"\nVvedite God ";
cin >>yh1.god;
оно просто перескакивает через cin. Причем дело не в самом блоке, переставлял местами - перескакивает именно на последнем. В файл пишет. И еще фокус: из фамилии запоминает только первую букву. Номер нормально, и в файл пишет. А тут только 1-ю. Что это оно так? И еще надо огранизовать, чтоб много фамилий вводить. Но, думаю, просто в цикл While загнать, но как реализовать еще не придумал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2010, 00:24
Ответы с готовыми решениями:

Работа с файлами: телефонная книга
Здравствуйте участники форума! Помогите, если сможете, разобраться какие...

Телефонная книга
помогите найти хоть пример кода программа телефонная книга,имеет менюшку ее...

Телефонная книга
В общем, ребят, мне надо сделать подобие телефонной книги. Для записи...

Класс Телефонная Книга
Доброго времени суток форумчане! Получил следующее задание, но столкнулся с...

Телефонная книга сортировка пузырьком
Сортировка массива записей (телефонной книги) методом Пузырька. Записи...

2
ureman
2 / 2 / 2
Регистрация: 27.01.2010
Сообщений: 17
07.04.2010, 08:23 2
я конечно тоже не мастер, но не проще ли было бы объявисть целую стурктуру и писать все сразу в нее.
а первый символ потому что массив char у тебя на 1 символ. я не прав?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct book
{
char name [50];
int num;
int god;
};
int main()
{
book user[5]; //5 структур типа book, типа 5 записей в книжке
    for (int i=0;i<5;i++)
        {
              cout <<"\nVvedite Nomer ";
              cin >>user[i].num;
 
             cout <<"\nVvedite Imya ";
             cin >>user[i].name;
 
             cout <<"\nVvedite God ";
             cin >>user[i].god;
         }
ну а дальше по желанию
1
MR_Andrew
12 / 12 / 3
Регистрация: 19.12.2009
Сообщений: 119
09.04.2010, 20:32  [ТС] 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
#include <iostream.h>
#include <fstream.h>
 
class Klient
{
    public:
    float num;
    char* name;
    int year;
        
    Klient(){};
    
    void Getvalue(){
       cin>>name>>num>>year;
       }
 
    ~Klient(){}
  };
 
//__________________________________________________________
 
void main(){
 int n, i;
 cout<<"Vvedit' kil'kist' korystuvachiv";
 cin>>n;
 
   ofstream File("c:\\BAZA1.txt");
 
 Klient **A=new Klient* [n];
 
 for (i=0;i<n;i++){
   cout<<"\nInput surname, number, year of "<<(i+1)<<" user\n";
   A[i]=new Klient();
   A[i]->Getvalue();
 
   File<<A[i]->num<<"\t"<<A[i]->name<<"\t"<<A[i]->year<<"\n";
   }
 
 File.close();
}
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
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>
 
 
class Klient
{
    public:
    float num;
    char* name;
    int year;
 
    Klient(){}
    ~Klient(){}
  };
 
//__________________________________________________________
 
int main(){
 
 int n,k, i=0, l=0, search1;
 char *search;
 
 cout<<"Vyberit' sposib poshuku (1-surname, year-another number )\n\n";
 cin>>k;
 if (k==1){cout<<"Input surname ";
 
       cin>>search;
       }
 else{    cout<<"Input year ";
 
      cin>>search1;
       }
 
 ifstream File("c:\\BAZA1.txt");
 
 Klient *A[50];
 
 switch (k){
   case 1:
   while(!File.eof()){
 
     A[i]=new Klient();
 
     File>>A[i]->num>>A[i]->name>>A[i]->year;
     if (strcmp(A[i]->name,search)==0){
       cout<<"\n"<<A[i]->num<<"\t"<<A[i]->name<<"\t"<<A[i]->year<<"\n";
       
       }
     i++;
 
     }  break;
   case 2:
   while(!File.eof()){
 
     A[i]=new Klient();
 
     File>>A[i]->num>>A[i]->name>>A[i]->year;
     if ((A[i]->year)>=search1) l++;
     i++;
     }
    cout<<"k-t' telefoniv z "<<search1<<" roku "<<l;
    break;
     }
  File.close();
getch();
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2010, 20:32

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

Не обращается к функции из класса. Проект телефонная книга
Здравствуйте! Прошу помощи так как проект нужно сдавать уже на днях :( В...

Телефонная книга: подскажите алгоритм быстрого поиска контактов
привет всем! какой самый быстрий алгоритм поиска контактов.и какие вы...


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

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

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