witam,
jestem w trakcie robienie programu opartego na bazie danych. Chodzi mi o konkretną rzecz:
to jakby główne menu:

switch(wybor) {
		case '1':
		printf("Zapisujesz nowa osobe do biblioteki:\n");
		dodaj();
		break;
		case '2':
		printf("Dodajesz wyporzyczenie do konta:\n");
		break;
		case '0':
		printf("Koniec programu\n");
		straznik = 0;
		break;
		default: 
		printf("zostala wybrana zla opcja, sprobuj jeszcze raz.\n");
		break;
		}

a tu jest funkcja dodaj:

void dodaj(void) {
	
	struct dane {
				char imie[20];
				char nazwisko[20];
				char miasto[30];
				char ulica[50];
				char nrdomu[50];
			} info;

			

FILE *plik;
			plik = fopen("plik.txt", "a");
			if(plik == NULL) {
			printf("nie mozna otworzyc pliku\n");
			} else {
			printf("plik pomyslnie otwarty\n");
			}	
			char line[50];

			printf("podaj imie: ");
			fgets(line, sizeof(line), stdin);
			sscanf(line, "%s", info.imie);

			printf("podaj nazwisko: ");
			fgets(line, sizeof(line), stdin);
			sscanf(line, "%s", info.nazwisko);

			printf("adres do korenspodencji: miasto: ");
			fgets(line, sizeof(line), stdin);
			sscanf(line, "%s", info.miasto);

			printf("podaj ulica: ");
			fgets(line, sizeof(line), stdin);
			sscanf(line, "%s", info.ulica);

			printf("podaj nr domu: ");
			fgets(line, sizeof(line), stdin);
			sscanf(line, "%s", info.nrdomu);
			
			fprintf(plik, "%s %s %s %s %s\n", info.imie, info.nazwisko, info.miasto, info.ulica, info.nrdomu);
			fclose(plik);
}

i jest taki problem, gdy uruchamiam program w konsoli, i wybieram przycisk '1' czyli dodanie nowego jakby użytkownika, plik się otwiera (wyświetla się napis z if'a), jednak później pojawia się coś takiego:

podaj imie: podaj nazwisko:
tak jakby w ogóle nie było tak tego fgetsa pobierającego imię.
A najlepsze jest to że gdy przekopiowałem samą funkcję to działała (konsola czekała aż wpiszę imię).
Macie jakiś pomysł jak to rozwiązać?

EDIT: udało mi się to ogranąć (bardziej to mojemu koledze :P ): rozwiązanie jest następujące: trzeba powiększyć tablicę która znajduje się przed swichem i która była przeznaczona na to żeby z niej wyłuskać sscanfem numer opcji, jaka ma być wykonana. Był rozmiar [2], co jeśli fgetsem wpisywało się tam liczbę po prostu nie działało - kolega powiedział że prawdopodobnie fgets nie radził sobie z wpisaniem tam jeszcze '\n'. Zwiększyłem tablicę do [3] i działa. :)
pozdrawiam