Уважаемые программисты! Поменяйте, плз, функцию "fprintf" в "case 2" на функцию "fwrite". "Case 2" должен записывать данные в бинарный файл. Заранее благодарен.
Код:
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <windows.h>
#include <conio.h>
char bufRus[256];
char* Rus(const char*text)
{
CharToOem(text,bufRus);
return bufRus;
}
main()
{
struct data
{
int day;
int month;
int year;
int day2;
int month2;
int year2;
};
data dat[20];
struct istoriya
{
char fio[50]; // FIO
char pasport[40]; // pasportnie dannie
char diagnoz[20]; // Diagnoz
struct data; // data
struct osmotr; // Data osmotra
char zapis[100]; // Zapis' ob osmotre
};
istoriya ist[20];
int i, n, k, p, g, x, f, c;
char y[15];
FILE *f1,*rf;
puts(Rus("Введите число записей! (до 20)"));
scanf ("%d",&n);
p=1;
for(i=0; i<n; i++)
{
puts("Vvedite FIO");
fflush(stdin);
gets(ist[i].fio);
puts("Vvedite pasportnie dannie");
fflush(stdin);
gets(ist[i].pasport);
puts("Vvedite diagnoz");
fflush(stdin);
gets(ist[i].diagnoz);
puts("Data postupleniya: den' mesyac god");
fflush(stdin);
scanf("%d %d %d", &dat[i].day, &dat[i].month, &dat[i].year);
puts("Data osmotra: den' mesyac god");
fflush(stdin);
scanf("%d %d %d", &dat[i].day2, &dat[i].month2, &dat[i].year2);
puts("Zapis' ob osmotre");
fflush(stdin);
gets(ist[i].zapis);
fflush(stdin);
p++;
}
k = 0;
while(k!=8)
{
system("cls");
puts(Rus(" \n Выберите пункт меню \n"));
puts(Rus(" 1 - Создание бинарного файла "));
puts(Rus(" 2 - Добавление записи в файл по номеру "));
puts(Rus(" 3 - Вывод таблицы "));
puts(Rus(" 4 - Изменение ФИО больного "));
puts(Rus(" 5 - Вывод всех сведений о больных с одинаковым диагнозом "));
puts(Rus(" 6 - Удаление файла "));
puts(Rus(" 7 - Выход "));
scanf("%d",&k);
switch (k)
{
case 1:
[...]
break;
case 2:
system("cls");
fflush(stdin);
f=0;
while(f==0)
{
puts(Rus("Введите номер больного, которого вы хотите добаить в файл\n"));
scanf("%d",&g);
if(g-1>=0&&g-1<n)
{
fprintf(f1,"|%20s|%9s|%9s| %2d.%2d.%2d | %2d.%2d.%2d |%8s|\n", ist[i].fio, ist[i].pasport, ist[i].diagnoz, dat[i].day, dat[i].month, dat[i].year, dat[i].day2, dat[i].month2, dat[i].year2, ist[i].zapis);
fprintf(f1,"\n");
puts(Rus("Запись успешно добавлена в файл 1.txt\n"));
puts("\n");
f=1;
}
else puts(Rus("Такого номера в нет, либо номер введён неправильно"));
}
getch();
break;
case 3:
[...]
break;
case 4:
[...]
break;
case 5:
[...]
break;
case 6:
[...]
break;
default:
k=8;
break;
}
}
fclose(f1);
return 0;
}