资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
#include #include#includeint N1,N2;struct couse * head1;struct student * head2;struct couse/课程信息结构体 int num1;/课程编号char name120;/课程名称char type20;/课程性质int hour;/总学时int teach;/上课学时int exp;/实验上机学时int credit;/学分int semester;/开课学期 int nelepeo;/课程已选人数int Melepeo; /课程上限 struct couse * next;struct student/学生信息结构体 int num2;/学号 char name220;/姓名int nelenum50;/已选课程编号char nelename1020;/已选名称 int nelen; /已选课程数量int score; /总学分int gainscore; /已获得的学分 struct student * next;void manger();void student();void managementc();void managements();void manage();void main();void intoc() /存储课程信息FILE * fp;struct couse * p;char filepath30;printf(ttt*n); printf(ntttt欢迎使用此系统!n); printf(ttt*n);printf(输入路径:);getchar();gets(filepath);if(fp=fopen(filepath,w)=NULL)printf(无法储存!);exit(0);p=head1;while(p!=NULL)fprintf(fp,%d%s%s%d%d%d%d%d%d%dn,p-num1,p-name1,p-type,p-hour,p-teach,p-exp,p-credit,p-semester,p-nelepeo,p-Melepeo);p=p-next;fclose(fp);printf(已储存入%s文件!n,filepath);void keyboardc()/录入课程子函数(从键盘录入)struct couse *p1,*p2;N1=0;p1=p2=(struct couse*) malloc(sizeof(struct couse);printf(ttt*n);printf(ntttt欢迎使用此系统!n);printf(ttt*n); printf(编号名称性质总学时上课学时实验上机学时学分开课学期已选人数课程上限n);scanf(%d %s %s %d %d %d %d %d %d %d,&p1-num1,p1-name1,&p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); head1=NULL;while(p1-num1!=0) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1;/对这段语句有疑问 p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); scanf(%d %s %s %d %d %d %d %d %d %d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); p2-next=NULL;void filec()/录入键盘子函数(从文件录入) FILE * fp; char filepath20; struct couse *p1,*p2; N1=0;printf(ttt*n); printf(ntttt欢迎使用此系统!n); printf(ttt*n); printf(输入要读入的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,rb)=NULL) printf(找不到%s文件!n,filepath); exit(0); p1=p2=(struct couse*)malloc(sizeof(struct couse); fscanf(fp,%d%s%s%d%d%d%d%d%d%d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); head1=NULL; while(!feof(fp) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); fscanf(fp,%d%s%s%d%d%d%d%d%d%d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); p2-next=NULL;void inputc()/录入课程主函数 int i;printf(ttt*n); printf(ntttt欢迎使用此系统!n); printf(ttt*n); printf(ttt录入课程信息n); printf(nttt1.从键盘录入n); printf(ttt2.从文件录入n); printf(ttt3.返回上一菜单n); printf(请选择(13):); scanf(%d,&i); switch(i) case(1):system(cls);keyboardc();system(cls);inputc();break; case(2):system(cls);filec();system(cls);inputc();break; case(3):system(cls);managementc();break; void insertc(int num2)/课程管理子函数(修改课程)struct couse *p1,*p2; if(head1=NULL) printf(nttt没有课程,无法修改!n); goto end; p1=head1; while(num2!=p1-num1 & p1-next!=NULL) p2=p1; p1=p1-next; if(num2=p1-num1) printf(ttt请重新输入数据进行修改n);printf(课程编号课程名称课程性质总学时上课学时实验上机学时学分开课学期课程已选人数课程上限n);scanf(%d %s %s %d %d %d %d %d %d %d %d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo);printf(ttt已修改该课程n); else printf(ttt无该编号的课程!n); end:;void delc(int num1)/课程管理子函数(删除课程) struct couse *p1,*p2; if(head1=NULL) printf(nttt没有课程,无法删除!n); goto end; p1=head1; while(num1!=p1-num1 & p1-next!=NULL) p2=p1; p1=p1-next; if(num1=p1-num1) if(p1=head1) head1=p1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号