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

Структура "Владелец автомобиля" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить функцию, в которой 3 участника голосуют "0 или 1", возвращающую результат голосования. http://www.cyberforum.ru/cpp-beginners/thread1096076.html
Помогите придумать программу в которой 3 участника голосуют "0 или 1". Ответом должно быть результат голосования. Добавлено через 1 минуту А да, программа должна быть написана в качестве функции.
C++ Создать иерархию классов здание, административное здание и жилое здание а) Создать иерархию классов здание, административное здание и жилое здание. Определить конструктор копирования, оператор присваивания через соответствующие функции базового класса.... http://www.cyberforum.ru/cpp-beginners/thread1096073.html
По двум ислам найти такие два, для которых выполнятся следующие условия. C++
Напишите программу, которая по двум целым неотрицательным числам A и B найдет такие неотрицательные целые числа X и Y, для которых выполняются условия: A = X + Y B = X xor Y, где xor – побитовое...
Компонентные функции C++
Объясните, пожалуйста, как вызываются компонентные функции в отличие от внешних.:(
C++ вычислить значение http://www.cyberforum.ru/cpp-beginners/thread1096060.html
Вычислить значение выражения. Объяснить полученные результаты. 1. Для ввода и вывода данных использовать операции >> и << и стандартные потоки cin и cout. 2. Для вычисления степени можно...
C++ Все слова строки, которые начинаются с цифры отсортировать по убыванию C++ Нужна помощь по написанию программы на С++. Нужно все слова строки, которые начинаются с цифры отсортировать по убыванию. Заданная строка, состоящая из символов. Символы объединяются в слова.... подробнее

Показать сообщение отдельно
Loonys
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 13

Структура "Владелец автомобиля" - C++

13.02.2014, 19:57. Просмотров 195. Ответов 1
Метки (Все метки)

Структура "Владелец автомобиля":
- фамилия, имя, отчество;
- номер автомобиля;
- телефон;
- номер техпаспорта.
Удалить элемент с заданным номером, добавить 2 элемента перед элементом с заданной фамилией.

Добавлено через 21 секунду
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h> 
#include <io.h> 
#include <Windows.h>
 
 
typedef struct
{
    char imya[40];
    char familiya[40];
    char otchestvo[40];
    int telefon;
    int texpasport;
    float pages ;
    
}gor;
void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
{
    FILE *f;
    gor y;
    int i;
    if ((f=fopen(mass,"w"))==NULL) exit(1);
 
 
for (i=1;i<=3;i++)
{
    cout<<"Vvedite imya: ";
    cin>>imya;
    cout<<"Vvedite familiya: ";
    cin>>familiya;
    cout<<"Vvedite otchestvo: ";
    cin>>otchestvo;
    cout<<"Vvedite telefon: ";
    cin>>telefon;
    cout<<"Vvedite texpasport: ";
    cin>>texpasport;
    fwrite(&y,sizeof(gor),1,f);
    if(ferror(f)!=NULL)
        exit(2);
}
fclose(f);
 
}
void vivod(char mass[50])
{
    FILE *f;
    gor z;
    if ((f=fopen(mass, "r"))==NULL) exit(3);
    cout<<"Fail: "<<mass<<endl;
while (!feof(f)) {
 fread (&z,sizeof(gor),1,f);
 if (!feof(f)) 
 {
     cout<<"Imya: "<<z.imya<<endl;
     cout<<"familiya: "<<z.familiya<<endl;
     cout<<"otchestvo: "<<z.otchestvo<<endl;
     cout<<"telefon: "<<z.telefon<<endl;
     cout<<"texpasport: "<<z.texpasport<<endl;
 }
fclose(f);
}
}
void del(char FO[10], char FI[10])
{
 FILE *f1,*f2;
 gor d;
 //char temp[40];
 if ((f1=fopen(FI,"r"))==NULL) exit(4);
 if ((f2=fopen(FO,"w"))==NULL) exit(5);
 //cout << "Vvedite nazvanie na ydalenie - ";
 //cin >> temp;
 for (int i=0;i<3;i++) 
 { 
    fread(&d,sizeof(gor),1,f1);
    if (feof(f1)) break;
    if (i>2)
        fwrite (&d,sizeof(gor),1,f2);
 }
 fclose(f2);
 fclose(f1);
} 
void dobav(char FI[10], char FO[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
 {
    int q;
 int i;
 gor d;
 FILE *f1,*f2;
 char temp[40];
 if ((f1=fopen(FI, "r"))==NULL) exit(4);
 if ((f2=fopen(FO,"r+"))==NULL) exit(5);
 cout << "Vvedite familiu, pered kotorym nuzno dobavit element: ";
 cin >> temp;
 for (i=0;i<10;i++) 
 { 
    fread(&d,sizeof(gor),1,f2);
    if (feof(f2)) break;
    if (strcmp(d.familiya, temp)) break;
    q=i;
 }
 
 for (i=0;i<10;i++)
 {
     if (feof(f2)) break;
     fwrite (&d,sizeof(gor),1,f2);
     if (i==q-1)
     {
    cout<<"Vvedite imya: ";
    cin>>imya;
    cout<<"Vvedite familiya: ";
    cin>>familiya;
    cout<<"Vvedite otchestvo: ";
    cin>>otchestvo;
    cout<<"Vvedite telefon: ";
    cin>>telefon;
    cout<<"Vvedite texpasport: ";
    cin>>texpasport;
         cout <<endl;
     }
 }
 
 fclose(f2);
 fclose(f1);
 }
 
void main()
 {
     int n=10;
     //cout <<"Vvedite kol-vo zapisey: - ";
     //cin>>n;
     //cout <<endl;
     form("f1.txt",n);
     vivod("f1.txt");
     del("f1.txt","f2.txt");
     cout <<"Posle udalenia:\n";
     vivod("f2.txt");
     getch();
     n=1;
     system("cls");
     dobav ("f2.txt","f2.txt");
     cout <<"Posle dobavlenia:\n";
     vivod ("f2.txt");
     getch();
 }
Добавлено через 1 минуту
Void vivod - не выводит данные помогите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru