int main()
{
FILE* infile1;
int stockCode[15];
char stockName[100];
int stockQuantity[15];
int stockReorder[15];
int unitPrice[15];
int i;
infile1 = fopen("NUSTOCK.TXT", "r");
while(fscanf(infile1, "%d %s %d %d %f",
&stockCode, stockName, &stockQuantity, &stockReorder, &unitPrice) != EOF)
{
printf(" %3d %-18s %3d %3d %6.2f \n",
stockCode, stockName, stockQuantity, stockReorder, unitPrice);
}
fclose(infile1);
}
What I'm trying to do is to take information from a file and store it into 5 separate arrays. However, when printing out, it only prints out the name correctly.
1394854864 Prune-Basket 1394854688 1394854624 0.00
1394854864 Pear-Basket 1394854688 1394854624 0.00
1394854864 Peach-Basket 1394854688 1394854624 0.00
1394854864 Deluxe-Tower 1394854688 1394854624 0.00
The original file looks like this. So all the numbers aren't being scanned in and I can't figure out why...
101 Prune-Basket 065 060 25.00
105 Pear-Basket 048 060 30.00
107 Peach-Basket 071 060 32.00
202 Deluxe-Tower 054 040 45.00
You are using those arrays incorrectly. Try this:
Also, the
unitPrice
should be a array offloat
, not ofint
.I think what you want to do is designing a structure for saving many personal records. And each record contain:
You should know the meaning of each type in C language.
I suggest you rewrite your codes like these:
And how to use the C
Structure
in functions or many other places? In C programming language, there are different types such as int, char, struct and so on. You can usestruct
like many other types.