Witam, mój problem polega na tym, że z otworzonego pliku "kalosze.txt" muszę za pomocą unii dopasować odpowiednią zmienną, tak że np dla 0 jest to tekst, dla 1 int, a 2 zmiennoprzecinkowa. W pliku txt mam:
0 kolor zolty
gdzie:
0 oznacza że będzie to zmienna tekstowa zolty, po czym program odczyta następną linijkę gdzie pierwsza cyfra oznacza format tekstu i przyporządkuje jej odpowiednia zmienną. Napisałem taki fragment kodu i dalej nie wiem jak to połączyć.
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int dataType;
char dataName[25];
union
{
int intValue;
float floatValue;
char textValue;
char charValue;
}dataValue;
} data;
int main()
{
int i;
int cnt;
data tab[3];
FILE *plik;
char nazwa[10],ch;
printf("Podaj nazwe pliku, ktory chcesz otworzyc: ");
gets(nazwa);
plik=fopen(nazwa,"r");
if ((plik=fopen(nazwa, "r"))==NULL){
perror("Zla nazwa pliku! ");
exit(1);
}
switch(tab[0].dataType)
{
case 0:
scanf("%s", tab[0].dataValue.textValue);
break;
case 1:
scanf("%d", &tab[0].dataValue.intValue);
break;
case 2:
scanf("%f", &tab[0].dataValue.floatValue);
break;
case 3:
scanf("%s", tab[0].dataValue.charValue);
break;
}
fclose(plik);
return 0;}