I'm getting an error in my switch statement:
switch (menuchoice)
{
case 1: addrecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 2: deleterecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 3: editrecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 4: search(lname[], fname[], phoneNo[]); break;/*Edit*/
case 5: view(lname[], fname[], phoneNo[]); break;/*Edit*/
case 6: return 0;
}
return 0;
}
here are my compiler's comments:
--------------------Configuration: program1 - Win32 Debug--------------------
Compiling...
program1.c
C:\programming\program1.c(43) : error C2059: syntax error : ']'
C:\programming\program1.c(56) : error C2059: syntax error : ']'
C:\programming\program1.c(58) : error C2059: syntax error : ']'
C:\programming\program1.c(60) : error C2059: syntax error : ']'
C:\programming\program1.c(62) : error C2059: syntax error : ']'
C:\programming\program1.c(64) : error C2059: syntax error : ']'
Error executing cl.exe.
program1.exe - 6 error(s), 0 warning(s)
What did I do wrong and can you help me out with passing structures I have looked through my 2 books and they are not helping me at all. I included the full program below if you would like to look at the rest of the code. Thanks
#include <stdio.h>
char lname[20], fname[15], phoneNo[12];
int menuchoice, record, i, cnt, totalcnt;
FILE *infile, *outfile;
struct record{
char lname[20];
char fname[15];
char phoneNo[12];
};
int menu(char *, char *, char *);
void addrecord(char *, char *, char *);
void deleterecord(char *, char *, char *);
void editrecord(char *, char *, char *);
void search(char *, char *, char *);
void view(char *, char *, char *);
void sort(char *, char *, char *);
int main (void)
{
struct record temp;
char filename[20];
printf("Enter file name to open");
scanf("%s", &filename);
infile=fopen(filename,"r");
if (infile == NULL){printf("Unable to open file");return(0);}
while(fscanf(infile, "%s %s %s", &temp.lname[cnt], &temp.fname[cnt], &temp.phoneNo[cnt]) != EOF) cnt++;
cnt = totalcnt;
menu(temp.lname[], temp.fname[], temp.phoneNo[]);
return 0;
}
int menu(char lname[], char fname[], char phoneNo[]){
printf("\nPhonebook menu\n1) Add new record\n2) Delete record\n3) Edit record\n4) Search phone book\n5) View phone book\n6) Quit\nEnter choice #: ");
scanf("%d", &menuchoice);
switch (menuchoice)
{
case 1: addrecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 2: deleterecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 3: editrecord(lname[], fname[], phoneNo[]); break;/*Edit*/
case 4: search(lname[], fname[], phoneNo[]); break;/*Edit*/
case 5: view(lname[], fname[], phoneNo[]); break;/*Edit*/
case 6: return 0;
}
return 0;
}
void addrecord(char *lname, char *fname, char *phoneNo){
printf("\nAdd Record\n");
printf("Last Name: ");
scanf("%s", &lname[totalcnt+1] ); /*Edit*/
printf("\nFirst Name: ");
scanf("%s", &fname[totalcnt+1]); /*Edit*/
printf("\nPhone Number: ");
scanf("%s", &phoneNo[totalcnt+1]); /*Edit*/
printf("\nPhone number added");
++totalcnt;
}
void deleterecord(char *lname, char *fname, char *phoneNo){
char deletelname[20];
printf("\nDelete Record\n");
printf("Last Name: ");
scanf("%s", &deletelname);
/*Edit*/
/*Edit*/
/*Edit*/
}
void editrecord(char *lname, char *fname, char *phoneNo){
char editlname[20];
printf("\nEdit Record\n");
printf("Last name: ");
scanf("%s", &editlname);
/*Edit*/
/*Edit*/
/*Edit*/
}
void search(char *lname, char *fname, char *phoneNo){
char searchfor[20];
printf("\nSearch\n");
printf("Search for: ");
scanf("%s", &searchfor);
/*Edit*/
/*Edit*/
/*Edit*/
}
void view(char *lname, char *fname, char *phoneNo){
printf("\nView Records\n");
for (i=0; i < totalcnt; i++)
{
printf("\n%s %s %d", lname[i], fname[i], phoneNo[i]); /*Edit*/
}
}
void sort(char *lname, char *fname, char *phoneNo){
/*Edit*/
/*Edit*/
/*Edit*/
}