Mam strukturę:
struct Produkt {
int id;
char nazwa[20];
char producent[20];
int ilosc;
int cena;
};
struct Element {
struct Produkt dane;
struct Element* nast;
};
Chciałbym stworzyć funkcję która pozwala użytkownikowi na wypełnienie danych o produkcie z możliwością wprowadzania niepełnych danych (np. nie wprowadzając ceny produktu).
Fragment programu który miałby pobierać te dane od użytkownika napisałem w podany niżej sposób:
struct Produkt produkt;
printf("Wprowadz id produktu: ");
scanf("%d", &produkt.id);
printf("Wprowadz nazwe produktu: ");
scanf("%s", produkt.nazwa);
printf("Wprowadz producenta produktu: ");
scanf("%s", produkt.producent);
printf("Wprowadz ilosc produktu ");
scanf("%d", &produkt.ilosc);
printf("Wprowadz cene produktu: ");
scanf("%d", produkt.cena);
Problem jest taki że program wymaga aby użytkownik podał wszystkie dane. Chciałbym żeby użytkownik mógł nie wprowadzać jakiś danych (w takim przypadku użytkownik zostawiałby puste pole). Jak wygląda rozwiązanie tego problemu? Myślałem nad tym że może należy użyć polecenia fgets() ale czy zadziała ono w przypadku liczb całkowitych?