Code:
#include <stdio.h>
//function declarations
int getreport (FILE* spIN,
int* partnum, int* price,
int* qty, int* reorder, int* minorder);
int writereport (FILE* spOUT, int partnum, int price, int qty,
int reorder, int minorder, int* orderamt);
void calcorderamount (int reorder, int minorder);
int main(void)
{
//local declarations
FILE* spIN;
FILE* spOUT;
int partnum;
int price;
int qty;
int reorder;
int minorder;
int* orderamt;
//statements
printf("begin inventory report\n\n");
spIN = fopen ("C:\\stuff.TXT", "r");
if (!(spIN = fopen ("C:\\stuff.TXT", "r")))
{
printf("error opening stuff.txt\n");
return 101;
}//input file error check
if (!(spOUT = fopen ("C:\\inventoryreport.TXT", "w")))
{
printf("error creating inventory file\n");
return 102;
}//output file error check
while (getreport
(spIN, &partnum, &price, &qty, &reorder, &minorder))
{
calcorderamount (reorder, minorder);
writereport (spOUT, partnum, price, qty, reorder, minorder, orderamt);
}//while
fclose (spIN);
fclose (spOUT);
printf ("end of inventory report\n");
return 0;
}
int getreport (FILE* spIN, int* partnum, int* price,
int* qty, int* reorder)
{
//local declarations
int ioresult;
int minorder;
//statements
ioresult = fscanf(spIN, "%d%f%d%d%d", partnum,
price, qty, reorder, minorder);
if (ioresult == EOF)
return 0;
else if (ioresult !=5)
{
printf("\aError reading data\n");
return 0;
}//error check
else
return 1;
}
void calcorderamount (int reorder, int minorder)
{
//statements
int* orderamt;
int* qty;
*orderamt = (reorder + minorder);
if (*qty < *reorder)
*qty = *orderamt;
else
*qty = *qty;
return;
} //clacgrade
int writereport (FILE* spOUT, int partnum, int price, int qty,
int reorder, int minorder, int orderamt)
{
//statements
fprintf(spOUT, "%d %f %d %d %d %d", partnum,
price, qty, reorder, minorder, orderamt);
return 0;
}//writereport
it's sloppy i know. but i can't figure out that "illegal indirection" error at my if else statement.