Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создание консольного приложения




Для создания текстового файла в консольном приложении используем функцию fprintf (). Текст программы может иметь следующий вид:

...

#include <stdio.h>

#include <io.h>

...

struct TZap{

char FIO[30];

double s_b;

} Zap;

int size = sizeof(TZap);

FILE *Fz, *Ft;

char File_Zap[] = "zapisi.dat";

char File_Rez[] = "rezult.txt";

void Out(TZap);

 

void main()

{

int kod, D_f, i=0, j, kol;

long len;

TZap st, *mas_Z;

Ft = fopen(File_Rez, "w");

while(true) {

puts("\n Create – 1\n Add – 2\n View – 3\n Sort – 4\n EXIT – 0");

scanf("%d", &kod);

switch(kod) {

case 1:

if ((Fz=fopen(File_Zap,"wb"))==NULL) {

puts("\n Create ERROR!");

return;

}

fclose(Fz);

printf("\n Create New File %s!\n",File_Zap);

break;

case 2:

Fz = fopen(File_Zap,"ab");

printf("\n F.I.O. – ");

fflush(stdin);

gets(Zap.FIO);

printf(" Ball – ");

scanf("%lf", &Zap.s_b);

fwrite(&Zap, size, 1, Fz);

fclose(Fz);

break;

case 3:

if ((Fz=fopen(File_Zap,"rb"))==NULL) {

puts("\n Open ERROR!");

return;

}

// Вывод на экран

printf("\n\t--------- Informations ---------");

 

// Запись такой же информации в текстовый файл Ft

fprintf(Ft,"\n\t--------- Informations ---------");

while(1) {

if(!fread(&Zap,size,1,Fz)) break;

Out(Zap);

}

fclose(Fz);

break;

case 4:

Fz = fopen(File_Zap,"rb");

D_f = fileno(Fz);

len = filelength(D_f);

kol = len/size;

mas_Z = new TZap[kol];

// Считываем записи из файла в динамический массив

for (i=0; i < kol; i++)

fread((mas_Z+i), size, 1, Fz);

fclose(Fz);

printf("\n\t----- S O R T -----\n");

fprintf(Ft,"\n\t----- S O R T -----\n");

for (i=0; i < kol-1; i++)

for (j=i+1; j < kol; j++)

if (mas_Z[i].s_b > mas_Z[j].s_b) {

st = mas_Z[i];

mas_Z[i] = mas_Z[j];

mas_Z[j] = st;

}

for (i=0; i<kol; i++)

Out(mas_Z[i]);

delete []mas_Z;

break;

case 0:

fclose(Ft);

return;

}

}

}

//----------------- Функция вывода одной записи на экран и в файл --------------------

void Out(TZap z)

{

printf("\n %20s, %6.3lf.", z.FIO,z.s_b);

fprintf(Ft, "\n %20s, %6.3lf.", z.FIO, z.s_b);

}

 

Первоначально выбав пункт «1», создаем файл с именем zapisi. dat, который будет располагаться в текущем каталоге (созданной папке). Затем, выбирая пункт «2», последовательно вводим 4 записи. Выбрав пункт «3», просматриваем содержимое файла, а сортированные записи выведем на экран (запишем в файл), выбрав пункт «4». Результаты выполнения программы могут иметь вид:

 

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 395 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2510 - | 2325 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.