学生选课系统代码_第1页
学生选课系统代码_第2页
学生选课系统代码_第3页
学生选课系统代码_第4页
学生选课系统代码_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、共享知识分享快乐#in clude#in cludeint N1,N2,kk1,kk2,kk3;struct couse * headl;struct stude nt * head2;struct couseint nu ml;char name120;int score;int n elepeo;int Melepeo;struct couse * n ext;struct stude ntint nu m2;char name220;int n ele nu m50;int n ele n;struct stude nt * n ext;void Ms()for(kk 1=O;kk111

2、OO;kk1+)for(kk2=0;kk21200;kk2+)for(kk3=0;kk3 num1,p1- namel,&p1-score, &p1-Melepeo);p1- n elepeo=0;head 仁NULL;while(p1- nu m1!=0)N1=N1 + 1;if(N1=1)head 1= p1;else p2-n ext=p1;p2=p1;p1=(struct couse * )malloc(sizeof(struct couse);sca nf(%d%s%d%d, &p1- nu m1,p1- name1,&p1-score, &p1-Melepeo);p1- n ele

3、peo=0;p2- next=NULL;void filec()FILE * fp;char filepath20;struct couse *p1,*p2;N1=0;printf(”输入要读入的文件路径:);getchar();gets(filepath);if(fp=fope n(filepath,r)=NULL)printf(” 找不到 %s 文件!n,filepath);exit(0);p1=p2=(struct couse*)malloc(sizeof(struct couse);fscan f(fp,%d%s%d%d%d,&p1- num1,p1- namel,&p1-score,

4、&p1- nelepeo,&p1-Melepeo); head 仁NULL;while(!feof(fp)2= N1+1;if(N1=1)head 1= p1;else p2-n ext=p1;p2=p1;p1=(struct couse * )malloc(sizeof(struct couse);fscan f(fp,%d%s%d%d%d,&p1- num1,p1- namel,&p1-score,&p1- nelepeo,&p1-Melepeo);p2- next=NULL;void in putc()int i;printf(ttt 录入课程信息 n);printf(n1.从键盘录入

5、n”);printf(2.从文件录入n);printf(3.返回主菜单n);printf(” 请选择(13):n);scan f(%d, &i);switch(i)case(1):keyboardc();break;case(2):filec();break;case(3):break;void in sertc(struct couse *in couse)struct couse *p0,*p1,*p2;p1=head1;pO=in couse;if(head 1=NULL)head1=p0;p0- next=NULL;elsewhile(pO-num1 p1-numl) & (p1-ne

6、xt!=NULL)p2=p1;p1=p1- n ext;if(p0-num1 nu ml)if(head1=p1) head1=p0;else p2-n ext=p0;pO_n ext=p1;elsep1- n ext=p0;p0- next=NULL;N1=N1 + 1;void delc(i nt nu ml)struct couse *p1,*p2;if(head 1=NULL)printf(n没有课程,无法删除!n);goto end;p1=headl;while(num1!=p1-numl & p1-next!=NULL)p2=p1;p1=p1- n ext;if(nu m1=p1-

7、 nu m1)if(p1=head1) head仁p1- n ext;else p2-n ext=p1- n ext;printf(”已删除该编号课程!n);N1=N1-1;else printf(无该编号的课程!n);en d:;void man ageme ntc()struct couse * in couse;in t i, nu m1;printf(ttt 课程管理 n”);printf(1.新增课程 n);printf(2.删除课程 n);printf(3.返回主菜单n);printf(” 请选择(13):n);sca nf(%d,&i);switch(i)case(1):in c

8、ouse=(struct couse *)malloc(sizeof(struct couse);printf(”课程编号t课程名称t学分t课程人数上限n);sca nf(%d%s%d%d,&in couse-nu m1,i ncouse-n ame1,&in couse-score,&in couse-Melepeo); in couse-n elepeo=0;in sertc(i ncouse);break;case(2):printf(”请输入要删除课程的编号:n);sea nf(%d,&nu ml);delc( nu ml);break;case(3):break;void keybo

9、ards()int i;struct stude nt *p1,*p2;N2=0;p1=p2=(struct stude nt *)malloc(sizeof(struct stude nt); printf(”学生学号t学生姓名n);sca nf(%d%s,&p1- nu m2,p1- name2);p1- n ele n=0;for(i=0;inelenumi=0;head2=NULL;while(p1- nu m2!=0)N2=N2+1;if(N2=1)head2=p1;else p2-n ext=p1;p2=p1;p1=(struct stude nt * )malloc(sizeof

10、(struct stude nt);sca nf(%d%s,&p1- nu m2,p1- name2);p1- n ele n=0;for(i=0;i nele numi=0;p2- next=NULL;void files()int i=0;FILE * fp;char filepath20;struct stude nt *p1,*p2;N2=0;printf(”输入要读入的文件路径:);getchar();gets(filepath);if(fp=fope n(filepath,r)=NULL)printf(” 找不到 %s 文件!n,filepath);exit(O);p1=p2=(s

11、truct stude nt*)malloc(sizeof(struct stude nt); fread(p1,sizeof(struct stude nt),1,fp);head2=NULL;while(!feof(fp)i=0;N2=N2+1;if(N2=1)head2=p1;else p2-n ext=p1;p2=p1;p1=(struct stude nt * )malloc(sizeof(struct stude nt); fread(p1,sizeof(struct stude nt),1,fp);p2- next=NULL;void in puts()int i;printf(

12、ttt 录入学生信息 n);printf(n1.从键盘录入 n);printf(2.从文件录入n);printf(3.返回主菜单n);printf(” 请选择(13):n);sca nf(%d,&i);switch(i)case(1):keyboards();break;case(2):files();break;case(3):break;void in serts(struct stude nt * in couse)struct stude nt *p0,*p1,*p2;p1=head2;pO=in couse;if(head2=NULL)head2=p0;p0- next=NULL;e

13、lsewhile(pO-num2 p1-num2) & (p1-next!=NULL)p2=p1;p1=p1- n ext;if(p0-num2 num2)if(head2=p1) head2=p0;else p2-n ext=p0;pO_n ext=p1;elsep1- n ext=pO;p0- next=NULL;N2=N2+1;void dels(i nt nu m2)struct stude nt *p1,*p2;if(head2=NULL)printf(n没有该学生信息,无法删除!n);goto end;p1=head2;while (n um2!=p1- num2 & p1- ne

14、xt!=NULL)p2=p1;p1=p1- n ext;if(nu m2=p1- nu m2)if(p1=head2) head2=p1- n ext;else p2-n ext=p1- n ext;printf(”已删除该学生信息!n);N2=N2-1;else printf(无该学号的学生!n);en d:;void man ageme nts()struct stude nt * in couse;in t i, nu m2;printf(ttt 学生信息管理 n);printf(1.新增学生信息n”);printf(2.删除学生信息n”);printf(3.返回主菜单n);printf

15、(” 请选择(13):n);sca nf(%d,&i);switch(i)case(1):in couse=(struct stude nt *)malloc(sizeof(struct stude nt);in couse-n ele n=0;in couse-n ele num0=0;printf(”学生学号t学生姓名n);sca nf(%d%s,&in couse-nu m2,i ncouse-n ame2);in serts(i ncouse);break;case(2):printf(”请输入要删除学生的学号:n);sca nf(%d,&nu m2);dels( nu m2);bre

16、ak;case(3):break;void elect(struct stude nt * s)struct couse * p;int nu m1,i;printf(”请输入要选课的编号:n);sca nf(%d,&nu ml);for(i=0;s-n ele nu mi!=0;i+);s-n ele nu mi=nu ml;(s_n ele n)+;p=head1;while(p-nu ml!=nu ml) p=p-n ext;(p-n elepeo)+;void cheak()char e;struct couse * c;struct stude nt * s;int nu m2,i,

17、j=0,t=0;printf(”请输入你的学号:);sca nf(%d,&nu m2);s=head2;while(s- nu m2!=num2 & s- next!=NULL) s=s- next; if(s-nu m2!=nu m2)!n);printf(”不存在你的信息,请进入主菜单录入你的信息 goto end;c=head1;printf(你的可选课程编号:n);while(c!=NULL)for(t=0,i=0;s-n ele nu mi!=0;i+)if(c-nu m1=s-n ele nu mi) t=1;if(t=0 & (c-n elepeo!=c-Melepeo)prin

18、 tf(%dn,c- nu m1);j+;c=c- n ext;if(j=0)printf(你已选完所有课程,无法再多选!n);goto end;printf(” 选课(y/n)?:n);getchar();e=getchar();i=0;while(e=y)elect(s);printf(” 继续选课(y/n)?:n);getchar();e=getchar();en d:;void back(struct stude nt * p)struct couse * p1;int nu m1,i,j;printf(”请输入你要退掉的课程编号:n);sca nf(%d,&nu ml);p1=hea

19、d1;while(p1- nu ml!=nu ml) p1=p1- n ext;for(i=0;p- nele nu mi!=nu m1;i+);for(j=i;p-n ele nu mj!=O;j+) p_n ele nu mj=p_ n ele nu mj+1; p_n ele num _-j=0;(p1- n elepeo)-;printf(” 退课成功!n);void hcheak()char c;struct couse * p0;struct stude nt * p;int nu m2,i,f=0;printf(”请输入学号:n);sca nf(%d,&nu m2);p=head

20、2;while(p- nu m2!=num2 & p!=NULL) p=p-n ext;if(p=NULL)printf(”不存在你的信息,请回主菜单录入信息:n);goto end;printf(”已选课程编号:n);if(p-n ele num0=0)printf(你还没选课!n);goto end;for(i=0;p-n ele nu mi!=0;i+)prin tf(%dn,p- nele nu mi);p0=head1;while(pO-nu m1!=p-n ele nu mi) pO=pO-n ext;f=f+pO_score;printf(” 总学分:dn”,f);printf(

21、”是否进行退课(y/n)?);getchar();c=getchar();while(c=y)back(p);printf(” 继续退课(y/n)?);getchar();(p-n ele n)en d:;void elective()int i;printf(ttt 学生选课 n);printf(1.查询可选课程n”);printf(2.查询已选课程n”);printf(3.返回主菜单n);printf(” 请输入(13):n);sca nf(%d,&i);switch(i)case(1):cheak();break;case(2):hcheak();break;case(3):break;

22、void listc()struct couse * p;p=head1;printf(”课程编号课程名称学分课程已选人数课程人数上限n);while(p!=NULL)prin tf(%-8d%10s%6d%8d%12dn,p- num1,p- name1,p-score,p- nelepeo,p-Melepeo);p=p-n ext;void lists()struct stude nt * p;p=head2;printf(”学生学号学生姓名已选课程数量n);while(p!=NULL)prin tf(%-4d %10s %6dn,p- num2,p- name2,p- nele n);p

23、=p-n ext;void in toc()FILE * fp;struct couse * p;char filepath30;printf(”输入课程信息要保存的文件路径:”);getchar();gets(filepath);if(fp=fope n(filepath,w)=NULL)printf(n 保存失败!);exit(0);p=head1;while(p!=NULL)fprin tf(fp,%d %s %d %d %dn ”,p-nu m1,p-n ame1,p-score,p-n elepeo,p-Melepeo); p=p-n ext;fclose(fp);printf(”课

24、程信息已保存在 %s中!n,filepath);void in tos()FILE * fp;struct stude nt * p;char filepath30;printf(”输入学生信息要保存的文件路径:”);getchar();gets(filepath);if(fp=fope n(filepath,w)=NULL)printf(n 保存失败!);exit(0);p=head2;while(p!=NULL)fWrite(p,sizeof(struct stude nt),1,fp); p=p-n ext;fclose(fp);printf(学生信息已保存在 %s中!n”,filepath);void in to()int i;printf(1.存储课程信息n”);printf(2.存储学生信息n”);printf(3.返回主菜单n”);printf(” 请输入(13)n);sca nf(%d,&i);switch(i)case(1):i ntoc();break;case(2):i ntos();break;case(3):break;void store()int i;printf(tt系统信息查看及存储n);pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论