Derzeit sieht mein Code wie folgt aus:Wie speichere ich Daten aus einer Datei in einer Funktion in einem Array und drucke dann dieses Array?
#include<stdio.h>
#define MAX_SIZE 12
int readInventory(char filename[], int item[], float price[]);
int main(void)
{
int item[MAX_SIZE], i;
float price[MAX_SIZE];
char filename[MAX_SIZE];
for (i = 0; i < MAX_SIZE; i++)
{
readInventory(filename, &item[i], &price[i]);
printf("\n%d %.2f\n", item[i], price[i]);
}
return 0;
}
int readInventory(char filename[], int item[], float price[])
{
FILE *inventory;
int i;
inventory = fopen("inventory.dat", "r");
for (i = 0; i < MAX_SIZE; i++)
{
fscanf(inventory,"%d%f", &item[i], &price[i]);
return 1;
}
fclose(inventory);
return 0;
}
die ausdruckt:
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
1200 20,00
, die nur die ersten 2 Elemente in der Datei sind
wie mache ich mein Programm zeigt alle 12 verschiedene Artikel?
Entfernen Sie 'return 1' von der Funktion' for' loop. – kaylum
Schauen Sie sich die Schleife an, in der Sie gelesen haben, und denken Sie daran, dass 'return' von der Funktion * sofort * zurückkehrt. –
Und entscheiden, wo Sie die Schleife wollen - entweder in der Funktion readInventory oder außerhalb, aber nicht an beiden Orten. – tofro