Mam następujący problem, przechodze sobie znak po znaku przez plik i wykonuje następujące operacje:
1)Jeżeli napotkam znak "@" to:
if(znak=='@')
{
fscanf(plik, "%s", tab2[0].nazwa_dania);
}
To działa bez problemów.
2)Jeżeli napotkam znak "$" to:
if(znak=='$')
{
fscanf(plik, "%s%s%f", tab2[0].tab1[0].nazwa_produktu, tab2[0].tab1[0].jednostka, tab2[0].tab1[0].liczba_jednostek);
}
W podpunkcie 2) tkwi cały problem, gdyż program się wykłada, co robię nie tak? Dodam, że jeżeli robię bez "%f" to działa:
if(znak=='$')
{
fscanf(plik, "%s%s", tab2[0].tab1[0].nazwa_produktu, tab2[0].tab1[0].jednostka);
}
Plik wygląda tak:
A struktura tak:
struct przepisy{
char nazwa_dania[30];
produkt tab1[50];
};
typedef struct przepisy danie;
struct spizarka{
char nazwa_produktu[30];
char jednostka[30];
float liczba_jednostek;
};
typedef struct spizarka produkt;
@Edit
Cały problem tkwi w tym, że nie chce mi zapisać tej liczby w tym przypadku '4' do tablicy struktur, ktos ma jakis pomysl jak to naprawic?