simple program, simple error? HELP!
Hello all. I am a beginning programmer, taking my first programming class in college this semester. I have a program that
it's supposed to:
first: read the data from an outside file, data1.dat and find the average of all the entries in column 3 when the number in column1=1, or ignore the row if column1=0
or
find the maximum value of column 3 if column2=1
find the minimum value of column 3 if column2=0
it has some problem in the code, and when asked, my professor could not determine what it is. I'm kind of at a loss on this one.
the program I wrote is as follows:
Code:
/* Homework 6 */
#include <stdio.h>
#include <math.h>
#define FILENAME "data1.dat"
int main()
{
/* declare variables */
int points=0;
int c1, c2;
double c3, ave, max, min, sum=0.0;
int flag0=0, flag1=0;
FILE *list;
/* open file */
list = fopen(FILENAME, "r");
/* read file */
while ((fscanf(list, "%i, %i, %lf", &c1, &c2, &c3)) == 3)
{
/* compute the average, minimum and maximum */
if (c1 == 1)
{
sum += c3;
points++;
if (c2 == 0)
{
if (flag0 == 0)
flag0 = 1;
min = c3;
if (c3 < min) min = c3;
}
if (c2 == 1)
{
if (flag1 == 0)
flag1 = 1;
max = c3;
if (c3 > max) max = c3;
}
}
}
/* compute ave */
ave=sum/points;
/* print a summary */
printf("average value: %7.2f \n", ave);
printf("maximum reading: %7.2f \n", max);
printf("minimum reading: %7.2f \n", min);
fclose(list);
return 0;
}
any help is GREATLY appreciated.