#include<stdio.h>#include<string.h>struct student{char num[20];//学号char name[20];//姓名char course1[20];//课程1char course2[20];//课程2}stu[50];struct course{char name[20];//课程名称char character[200];//课程性质char score[5];//课程学分}cou[50];char menu(){char c;do{system("cls");//运行前清空printf("\t\t<<<<<学生选课系统>>>>>");printf("管理员还是学生?\nm/s?");c=getchar();}while(c!='m'||c!='s');if(c=='m')return('m');elsereturn('s');}char menum()//管理员菜单{char p2,p1="123";//密码char c;for(;strcmp(p1,p2)!=0;){printf("password:");gets(p2);}do{system("cls");printf("\t\t<<<<<管理员你好!>>>>>");printf("\t1.添加课程");printf("\t2.删除课程");printf("\t3.查询课程");printf("\t4.浏览课程");printf("\t0.结束");printf("输入你的选择:");c=getchar();}while(c<'0'||c>'4');return(c);}char menus()//学生菜单{char c;do{system("cls");printf("\t\t<<<<<学生你好!>>>>>");printf("\t1.浏览所有课程");printf("\t2.查询课程信息");printf("\t3.选择课程");printf("\t4.浏览选修的课程");printf("\t5.删除错选课程");printf("\t0.结束");printf("输入你的选择:");c=getchar();}while(c<'0'||c>'5');return(c);}int madd(course coud[],int n)//管理员添加课程{char c;while(c!='n'||'N'){printf("\t课程名称:");scanf("%s",coud[n].name);printf("\t课程学分:");scanf("%s",coud[n].score);printf("\t课程性质:");scanf("%s",coud[n].character);printf("\t继续?(Y/N)"); c=getchar(); n++;}return (n);}int mdelete(course coud[],int n)//管理员删除课程{char s[20];int i=0;gets(s);while(strcmp(coud[i].name,s)!=0&&i<n)i++;if(i==n){printf("没有此课程");return(n);}else{for(;i<n-1;i++){strcpy(coud[i].name,cou[i+1].name);strcpy(coud[i].score,cou[i+1].score);strcpy(coud[i].character,cou[i+1].character);}printf("\t已删除");return (n-1);}}void msearch(course coud[],int n)//管理员查询课程{int i=0;char s[20];printf("\t输入你要寻找的课程:");gets(s);while (strcmp(coud[i].name,s)!=0&&i<n;)i++;if(i==n){printf("没有此课程");return();}else{printf("\t%s",coud[i].name);printf("\t%s",coud[i].score);printf("\t&s",coud[i].character);return();}}void mdisplay(course coud[],int n)//管理员浏览课程{int i;printf("\t课程名称\t课程学分\t课程性质\n");for(i=0;i<n;i++){printf("\t%s",coud[i].name);printf("\t%s",coud[i].score);printf("\t&s\n",coud[i].character);}}void sdisplay(course coud[],int n)//学生浏览课程名称{int i;printf("\t课程名称\n");for(i=0;i<n;i++){printf("\t%s\n",coud[i].name);}}void ssearch(course coud[],int n)//学生查询课程信息{int i=0;char s[20];printf("\t输入你要寻找的课程:");gets(s);while (strcmp(coud[i].name,s)!=0&&i<n;)i++;if(i==n){printf("没有此课程");return();}else{printf("\t%s",coud[i].score);printf("\t&s",coud[i].character);return();}}int sselect(student stud[],int n)//学生选课{char c;while(c!='n'||c!='N'){printf("\t输入你的学号:");scanf("%s",stud[n].num);printf("\t输入你的姓名:");scanf("%s",stud[n].name);printf("\t选择你的课程1:");scanf("%s",stud[n].course1);printf("\t选择你的课程2:");scanf("%s",stud[n].course2);printf("\t继续?(Y/N)");c=getchar();n++}return (n);}void sscan(student stud[],int n)//学生浏览已选课程{int i=0;char s[20];printf("\t输入你的姓名:");gets(s);while (strcmp(stud[i].name,s)!=0&&i<n;)i++;if(i==n){printf("查无此人");return();}else{printf("\t学号\t姓名\t课程1\t课程2\n");printf("\t%s",stud[i].num);printf("\t%s",stud[i].name);printf("\t%s",stud[i].course1);printf("\t%s",stud[i].course2);return();}}int schange(student stu[],int n)//学生重选错选课程{int i=0;char s[20];printf("\t输入你的姓名:");gets(s);while (strcmp(stud[i].name,s)!=0&&i<n;)i++;if(i==n){printf("查无此人");return();}else{printf("课程1:");scanf("%s",stud[i].course1);printf("课程2:");scanf("%s",stud[i].course2);return();}}int main()//主函数{int n1=0,n2=0;for(;;){switch(menu)case'm':{switch(menum)case'1':printf("\t\t添加课程\n");n1=madd(cou,n1);break;case'2':printf("\t\t删除课程\n");n1=mdelect(cou,n1);break;case'3':printf("\t\t查询课程\n");msearch(cou,n1);break;case'4':printf("\t\t浏览全部课程\n");mdisplay(cou,n1);break;case'0':printf("\t\t感谢使用");exit(1);}break;case's':{switch(menus)case'1':printf("\t\t浏览课程\n");sdisplay(cou,n1);break;case'2':printf("\t\t查询课程信息\n");ssearch(cou,n1);break;case'3':printf("\t\t选择课程\n");n2=sselect(stu,n2);break;case'4':printf("\t\t查询已选课程\n");sscan(stu,n2);break;case'5':printf("\t\t重选课程\n");schange(stu,n2);break;case'0':printf("\t\t感谢使用");exit(1);}}}
F:\C语言\course\coursem.c(72) : error C2146: syntax error : missing ')' before identifier 'coud'
很多个这个错误,可是怎么找都没有缺少
还有问一下switch相互嵌套可以是这样用的吗?
F:\C语言\course\coursem.c(72) : error C2146: syntax error : missing ')' before identifier 'coud'
很多个这个错误,可是怎么找都没有缺少
还有问一下switch相互嵌套可以是这样用的吗?