создать файл

  • Автор темы fed
  • Дата начала
F
#1
Используя функции и режим меню, создать файл из 10 структур, просмотреть файл, добавить в файл новую информацию и, применяя режим прямого доступа Вывести на печать информацию о самом дешевом издании. Структура имеет вид: название издания, газеты или журнала, стоимость одного экземпляра, количество экземпляров в год.
Подскажите (не считая литературы по С) может у кого то есть что то подобное или ссылка на что то подобное, буду признателен за любую информацию.
p.s. у гугла я уже был
 
F
#2
C++:
 #include <stdio.h>
#include<conio.h>
#include<string.h>
struct library {char name[20]; char newspap[15]; char magazine[15]; float price; int circula;} l1;
void input (FILE*);
void edit (FILE*);
void app (FILE*);
main()
{
char c;
FILE*nf;
while (1)
{clrscr();
puts("1-­®ўл© д ©«");
puts("2-Їа®б¬®ва д ©« ");
puts("3-¤®Ў ў«Ґ­ЁҐ ў д ©«");
puts("4-ЇҐз вм");
puts("0-ўл室");
c=getch();
switch(c)
{case '1':input(nf); break;
case '2':edit(nf); break;
case '3': app(nf); break;
case '0': return 0;
defaults: puts("­ҐўҐа­л© ०Ё¬");
}
}
}
/////////////////////////////
////////////////////////////////////////////////////////
/////////////////////////////////////

void input(FILE*nf)
{ char ch;
nf=fopen("file1.dat","wb");
clrscr();
printf("\n ‚ў®¤ ¤ ­­ле ЎЁЎ«Ё®вҐЄЁ\n");
do
{printf("\n ­ §ў ­ЁҐ:");
scanf("%s", l1.name);
printf("\n Ј §Ґв (¤  Ё«Ё ­Ґв):");
scanf("&s", l1.newspap);
printf("\n ¦га­ «(¤  Ё«Ё ­Ґв):");
scanf( "&s", l1.magazine);
printf("\n 業 :");
scanf("&f", l1.price);
printf( "\n Є®««ЁзҐбвў® ўлЇгбЄ®ў ў Ј®¤:");
scanf("&d",l1.circula);
fwrite(&l1, sizeof(l1),1,nf);
printf("\n § Є®­зЁвм? y/n");
ch=getch();
}
while(ch !='y');
fclose(nf);
}
////////////////////////////////////////////////////////
////////////////////////////
///////////////////
////////////////
void edit (FILE*nf)
{ int i;
clrscr();
nf=fopen("file1.dat","rb");
i=1;
fread(&l1,sizeof(l1),1,nf);
while(!feof(nf))
{printf("\n %3s ­ §ў %10s Ј § %10s ¦га %10f 業  %3d вЁа ¦",i,l1.name, l1.newspap,l1.magazine, l1.price, l1.circula);
fread(&l1, sizeof(l1),1,nf);
i++;
}
getch();
}
///////////////////////////////////////////////////////////
/////////////////////
/////////////
/////
void app(FILE*nf)
{ char ch;
nf=fopen("file1.dat","ab");
clrscr();
printf("ўў®¤ ¤ ­­ле ЎЁЎ«Ё®вҐЄЁ\n");
do
{printf("\n ­ §ў ­ЁҐ:");
scanf("%s",l1.name);
printf("Ј §Ґв (¤  Ё«Ё ­Ґв):");
scanf("%s", l1.newspap);
printf("¦га­ «(¤  Ё«Ё ­Ґв):");
scanf("%s", l1.magazine);
printf("業 :");
scanf("%f", l1.price);
printf("Є®««ЁзҐбвў® ўлЇгбЄ®ў ў Ј®¤:");
scanf("%d", l1.circula);
fwrite(&l1,sizeof(l1),1,nf);
printf("§ Є®­зЁвм y/n");
ch=getch();
}
while (ch != 'y');
fclose(nf);
}
помогите дописать, не знаю как вывести на печать инфу о самом дешевом издании
 
F
#3
Вот так посетителей и теряют. код есть, подскзать человеку который начал учить язык программирования нельзя? Большая часть уже сделана, пару советов или ссылок и я дальше сам разберусь.Нет же полный игнор.........
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#4
Цитата из ICQ, задумайтесь, про вас.
*** (20:38) :
ну, выходные, все сишники отдыхают. и вообще, он фиг что написал, влом разбираться, кодировка левая.. если б проверить - попровить - еще как-то можно было глянуть
ПС.
ВСе это я к тому, что имейте терпение, то что вы что-тосделали самостоятельно - это хорошо и вызывает уважение, но не думайте что тут толпы спецов, которые ежеминутно обновляют форум абы ответить на чей-то примитивный вопрос. Уважайте права людей на выходные. И да, рано вы себя мега-важным посетителем возомнили.