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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему компилятор выдает ошибку? http://www.cyberforum.ru/cpp-beginners/thread1092923.html
#include <stdio.h> #include <clocale> typedef enum{ COUNT, POUNDS, PINTS }unit_of_measure; typedef union{ short count; float weight;
C++ Сформировать массив строк. Удалить из него самую короткую строку Помогите пожалуйста. Сформировать массив строк. Удалить из него самую короткую строку http://www.cyberforum.ru/cpp-beginners/thread1092922.html
Как пользоваться функцией gettime() C++
Добрый вечер! Кто бы мог подробно объяснить как работает функция gettime(), откуда взять конечное и начальное время, как определить разность? Требуется определить время работы алгоритма. Еще я плохо...
C++ Элементы одномерного массива A (n^2) разместить в матрице N (n, n) по строкам
Добрый вечер! Вот задача : Элементы одномерного массива A (n^2) разместить в матрице N (n, n) по строкам. (язык Си) Есть цикл,for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) N = A;...
C++ Зацикливание http://www.cyberforum.ru/cpp-beginners/thread1092905.html
Вобщем, проверял уже 100 раз. Думаю причина в моем неумении работать с файлами. Почти все переменные, объявленные в этой процедуре, используются и главном теле программы. Так можно? void PIPE(float...
C++ Написать функцию days Написать функцию days с переменным числом параметров, которая находит количество дней, прошедших между двумя датами (параметрами функции являются даты в формате «дд.мм.гг». Написать вызывающую... подробнее

Показать сообщение отдельно
Loonys
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 13
13.02.2014, 19:55  [ТС]
#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();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru