Witam mam napisać program który po wprowadzeniu danego klawisza wykona daną operację. Dokładny opis za co odpowiada dana litera w programie. Na razie napisałem tylko dwie funkcję ale już przy drugiej (dopisz) mam problem. Mianowicie program wywala się przy zapisywaniu do pliku. Poniżej kod, proszę o pomoc tylko z funkcją dopisz resztę będę sam próbował napisać. Z góry dzięki.
#include <stdio.h>
#include <stdlib.h>
void nowy (void);
void dopisz(void);
struct osoba
{
char imie[20];
char nazwisko[20];
int numer;
}czlowiek;
FILE *plik;
main()
{
char znak;
system ("chcp 1250");
do
{
printf("podaj znak\n n-nowy \n d-dopisz\n u-usuń osobę (podaj numer)\n w-wyświetl zawartość całego pliku \n z-wyjdź\n");
fflush(stdin);
znak=getchar();
switch (znak)
{
case 'n':
nowy();
break;
case 'd':
dopisz();
break;
case 'u':
break;
case 'w':
break;
case 'z':
break;
}
}
while (znak != 'q');
}
void nowy (void)
{
//FILE *plik;
plik=fopen("c:/onp/lab6.txt", "w+");
printf("\nplik został utworzony");
fclose(plik);
}
void dopisz(void)
{
plik=fopen("c:/onp/lab6.txt", "a");
printf("podaj imie \n");
scanf("%s", czlowiek.imie);
printf("podaj nazwisko \n");
scanf("%s", czlowiek.nazwisko);
printf("podaj numer");
scanf("%d", czlowiek.numer);
fwrite(&czlowiek,sizeof(struct osoba),1,plik);
fclose(plik);
}