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

Структура "Владелец автомобиля" - 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. Просмотров 147. Ответов 0
Метки (Все метки)

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

Добавлено через 21 секунду
#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 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru