Napisz program ktory przechowa informacje max 10 filmów ma pozwolić dopisać, ma pozwolic odczytać informacje o danym filmie, ma pozwolić wypisać informacje o wszystkich filmach naraz, pozwala też usunąć informacje o danym filmie...(wszystkie informacje mają być w pliku)
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char nazwa[30];
char rezyser[20];
int rok; /*==0 oznacza ze puste*/
int czas;
int ocena;
} film;
int main(int argc, char *argv[])
{
char nazwa[13];
film tab[10];
for(i=0;i<10;i++)
tab[i].rok=0;
int i; /* zmienna do petli bo na pewno jakies beda*/
FILE*wsk;
char menu;
do
{
system("CLS");
printf("1)Stworzenie pliku");
printf("2)Otworzenie pliku");
printf("3)Zapisanie do pliku"); /*zapisanie na dysku te elementy ktore sa wypelnione czyli nie sa puste*/
printf("4)Dodaj");
printf("5)Usun");
printf("6)Wypisz wybrane informacje");
printf("7)Wypisz wszystkie informacje o filmie");
menu=getch();
switch(menu)
{ case '1':
printf("Podaj nazwe pliku.");
scanf("%s",nazwa);
if((wsk=fopen(nazwa,"w"))==NULL)
printf("Nie udalo sie utworzyc pliku.");
system("PAUSE");
return 0;
fclose(wsk);
break;
case'2':
printf("Podaj nazwe pliku ktory chcesz otworzyc");
scanf("%s",nazwa);
if((wsk=fopen(nazwa,"r")==NULL)
{printf("Nie udalo sie otworzyc pliku");
break;
}
i=0;
while(fread(&tab[i],sizeof(film),1,wsk)!=0)
i++;
fclose(wsk);
break;
case'3':
printf("Podaj nazwe pliku");
scanf("%s",nazwa);
if((wsk=fopen(nazwa,"w"))==NULL)
{puts("Nie mozna zapisac");
break;
}
for(i=0;i<10;i++)
if(tab[i].rok!=0)
fwrite(&tab[i],sizeof(film),1,wsk);
fclose(wsk);
break;
i=0;
while(i<10&&tab[i].rok!=0)
i++;
.
.
.
break;
}
while(1);
/*petla nieskonczona*/
system("PAUSE");
return 0;
}
dobra i to już jest prawie zrobione bo na lekcji już prawie kończyliśmy tylko trzeba dopisać pare kroków czyli "case" tam w programie są wypisane na początku ale pod spodem są nie napisane programy do tych kroków...
ale zadanie polega na tym teraz żeby ten program skrócić i np z każdego case'a zrobić funkcje dać przed main czyli przed program a potem w programie już tylko wywoływać te funkcje.
aaa i podpowiedź do któregoś tam case'a chyba tam gdzie jest usuwanie że to jest przypisanie 0 do odpowiedniego rekordu np.rok to wtedy nam wykasuje dane rok z danego filmu albo z wszystkich filmów?:P nie wiem
Nie ogarniam tego.. ;/
Proszę o pomoc, z góry dziękuje!