Hi my C program is as follows. It seeks to read a set of values from a file and create a table that produces the average of some floating point numbers.
#include <stdio.h>
int
main (void){
int lake, beach, samples, count, sum;
float e_coli, ave;
char recc[20], lakename[20], beachname[20];
FILE *in;
sum = 0;
count = 0;
in = fopen ("july15.data", "r");
printf ("Lake | Beach | Avg E Coli Level | Reccomendation |\n");
while (1){
fscanf (in, "%d, %d, %d", &lake, &beach, &samples);
count = samples;
while (count < samples){
fscanf (in, "%f",e_coli);
sum = sum + samples;}
ave = sum / samples;
if (lake == 1)
lakename[] = "Ontario";
else if (lake == 2)
lakename[] = "Erie";
else if (lake == 3)
lakename[] = "Huron";
else if (lake == 4)
lakename[] = "Muskoka";
else if (lake == 5)
lakename[] = "Simcoe";
if (beach == 100)
beachname[] = "Kew Beach";
else if (beach == 101)
beachname[] = "Sunnyside Beach";
else if (beach == 102)
beachname[] = "Sandbanks";
else if (beach == 201)
beachname[] = "Port Dover";
else if (beach == 202)
beachname[] = "Port Burwell";
else if (beach == 203)
beachname[] = "Crystal Beach";
else if (beach == 301)
beachname[] = "Goderich";
else if (beach == 302)
beachname[] = "Sauble Beach";
else if (beach == 303)
beachname[] = "Kincardine";
else if (beach == 401)
beachname[] = "Muskoka Beach";
else if (beach == 501)
beachname[] = "Sibbald Point";
if (samples < 3)
recc[] = "INSUFFICENT DATA";
else if (samples > 3 && ave < 50)
recc[] = "OPEN";
else if (samples > 3 && ave > 50)
recc[] = "CLOSED";
printf("%s, %s, %f, %s\n", lakename, beachname, ave, recc);}
return(0);}
Unfortunately it produces the error "parse error before "]" token" on lines 22, 32, and 54. Effectively these are the first areas where the string is defined. So line 22 is "lakename[] = "Ontario"" line 32 is "beachname[] = "Kew Beach"" and line 54 is recc[] = "INSUFFICIENT DATA".
I've tried inserting the number of spaces into the [] (i.e. lakename[9] = "Ontario") but then I get a subsequent error "assignment makes integer from pointer without cast". It would be great if someone can show me what I'm doing wrong, Thanks!
Aucun commentaire:
Enregistrer un commentaire