С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
paradox92
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 38
#1

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

20.05.2010, 01:04. Просмотров 337. Ответов 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);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2010, 01:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Справочник с использованием классов (C++):

Телефонный справочник C (без классов) - C++
Написать информационную систему &quot;Телефонный справочник&quot; со следующими требованиями: - динамическое изменение размеров массива для...

Таблица с использованием классов - C++
Помогите задать переменные char. #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;iomanip&gt; class OfficePacks...

Программирование с использованием классов. - C++
Помогите решить. Создать класс квадрат, член класса - длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о...

Переделать программу с использованием классов - C++
вообщем я решил перебить свою задачу и предыдущей моей темы под классы. оригинальная прога #include &lt;iostream&gt; #define maxn 1000 ...

Задача с использованием геометрических классов - C++
Есть входящее изображение. Определить, является оно плоской фигурой(треугольник\квадрат\круг), объёмной, или фотографией. Использовать...

Умножение матриц с использованием классов - C++
Написал простенькую программу для умножения 2ух матриц. Все работает, собственно, кроме умножения. Не знаю, как заставить метод умножить...

1
Crudelis
Шаровик затейник
676 / 418 / 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);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2010, 01:31
Привет! Вот еще темы с ответами:

Стек с использованием шаблона классов - C++
Помогите найти ошибку , реализация стека с использованием шаблона классов. Когда без int все работало #include &lt;iostream&gt; ...

Переписать программу с использованием классов - C++
Кто ни-будь помогите разбить на классы у меня небольшие проблемы с ООП (игра &quot;Сапер&quot;) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Написать игру с использованием классов - C++
Здравствуйте. Тут такая штука - нужно написать игру в с++ используя классы, но я не знаю как это сделать. Класы я написать могу, а дальше -...

Задача с использованием шаблонов классов в С++ - C++
Помогите пожалуйста подредактировать задачу: Разработайте программу, которая бы выполняла одно из указанных пользователем арифметических...


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

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

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