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

Справочник с использованием классов - C++

Восстановить пароль Регистрация
 
paradox92
 Аватар для paradox92
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 38
20.05.2010, 01:04     Справочник с использованием классов #1
Есть программа "телефонный справочник" с записью в *.txt файл (txt файл используется просто как буфер). Как теперь её переделать с использованием объектно-ориентированного программирования и с использованием классов?

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
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
void write (FILE*);
void read (FILE*);
 
struct RECORD
{
    char FirstName [40];
    char LastName [40];
    char Phone [40];
    char City [40];
};
 
int main()
{
    FILE * stream;
    char filename[200];
    char txt[]=".txt";
    cout << "Vvedite imya faila:\n";
    cin.getline (filename, 200);
    strcat(filename, txt);
    if ((stream = fopen(filename,"r")) == NULL)
    stream = fopen(filename, "w");
else
    stream = fopen(filename,"r+");
    do
 
{
    cout<<"\nviberete operaciyu\n";
    cout << "1.write\n"<< "2.read\n" << "3.exit\n";
    int z;
    cin >> z;
    switch (z)
{
    case 1:write (stream);
    break;
    case 2:read (stream);
    break;
    case 3: cout<<"\n";
    return 0;
    default:break;
    }
}
    while(1);
    return 0;
}
void write (FILE *potok)
{
    int i;
    cout << "Vvedite nomer yacheiki:";
    cin >> i;
    fseek(potok, 0, SEEK_SET);
    fseek(potok, sizeof(RECORD)*i, SEEK_SET);
    RECORD z={0,0,0,0};
    cout << "Vvedite Imya:";
    cin >> z.FirstName;    
    cout << "Vvedite Familiy:";
    cin >> z.LastName;    
    cout << "Vvedite Phone:";
    cin >> z.Phone;    
    cout << "Vvedite Gorod:";
    cin >> z.City;    
    fwrite(&z, sizeof(z), 1, potok);
}
void read (FILE *potok)
{
    RECORD yaheika;
    int i;
    cout << "Vvedite nomer yacheiki:";
    cin >> i;
    fseek(potok, 0, SEEK_SET);
    fseek(potok,sizeof(RECORD)*i,SEEK_SET);
    fread( &yaheika,sizeof(yaheika),1,potok);
    cout << "\nImya: " << yaheika.FirstName;
    cout << "\nFamiliya: " << yaheika.LastName;
    cout << "\nPhone: " << yaheika.Phone;
    cout << "\nCity: " << yaheika.City;
    fseek(potok, 0, SEEK_SET);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2010, 01:04     Справочник с использованием классов
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
20.05.2010, 01:31     Справочник с использованием классов #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
87
88
89
90
91
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
void write (FILE*);
void read (FILE*);
 
class RECORD
{
public:
    char FirstName [40];
    char LastName [40];
    char Phone [40];
    char City [40];
    void Init(RECORD z);
    void Show(RECORD q);
};
void RECORD::Init(RECORD z)
{
    cout << "Vvedite Imya:";
    cin >> z.FirstName;    
    cout << "Vvedite Familiy:";
    cin >> z.LastName;    
    cout << "Vvedite Phone:";
    cin >> z.Phone;    
    cout << "Vvedite Gorod:";
    cin >> z.City; 
}
void RECORD::Show(RECORD yaheika)
{
 
    cout << "\nImya: " << yaheika.FirstName;
    cout << "\nFamiliya: " << yaheika.LastName;
    cout << "\nPhone: " << yaheika.Phone;
    cout << "\nCity: " << yaheika.City;
}
int main()
{
    FILE * stream;
    char filename[200];
    char txt[]=".txt";
    cout << "Vvedite imya faila:\n";
    cin.getline (filename, 200);
    strcat(filename, txt);
    if ((stream = fopen(filename,"r")) == NULL)
    stream = fopen(filename, "w");
else
    stream = fopen(filename,"r+");
    do
 
{
    cout<<"\nviberete operaciyu\n";
    cout << "1.write\n"<< "2.read\n" << "3.exit\n";
    int z;
    cin >> z;
    switch (z)
{
    case 1:write (stream);
    break;
    case 2:read (stream);
    break;
    case 3: cout<<"\n";
    return 0;
    default:break;
    }
}
    while(1);
    return 0;
}
void write (FILE *potok)
{
    int i;
    cout << "Vvedite nomer yacheiki:";
    cin >> i;
    fseek(potok, 0, SEEK_SET);
    fseek(potok, sizeof(RECORD)*i, SEEK_SET);
    RECORD z={0,0,0,0};   
    z.Init(z);
    fwrite(&z, sizeof(z), 1, potok);
}
void read (FILE *potok)
{
    RECORD yaheika;
    fseek(potok, 0, SEEK_SET);
    int i;
    cout << "Vvedite nomer yacheiki:";
    cin >> i;
    yaheika.Show(yaheika);
    fseek(potok, 0, SEEK_SET);
    fseek(potok,sizeof(RECORD)*i,SEEK_SET);
    fread( &yaheika,sizeof(yaheika),1,potok);
}
Yandex
Объявления
20.05.2010, 01:31     Справочник с использованием классов
Ответ Создать тему
Опции темы

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