c语言程序设计之学生选修课系统设计代码(共11页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《c语言程序设计之学生选修课系统设计代码(共11页).doc》由会员分享,可在线阅读,更多相关《c语言程序设计之学生选修课系统设计代码(共11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上#include#include#include#include#includeint n=0; /n为结点个数struct kecheng /声明结构体 int bianhao; char name10; char xingzhi10; int zongxueshi; int shoukexueshi; int shangjixueshi; float xuefen; int kaikexueqi; struct kecheng *next;struct kecheng *head;struct kecheng *creat() /创建链表.此函数带回一个指向链表头
2、的指针 void save(struct kecheng *head); printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n); struct kecheng *head,*p1,*p2; p1=p2=(struct kecheng *) malloc(sizeof (struct kecheng); /开辟一个新单元 scanf(%d,&p1-bianhao); head=NULL; while(p1-bianhao!=0) scanf(%s%s%d%d%d%f%d,p1-name,p1-xingzhi,&p1-zongxueshi,&p1-sho
3、ukexueshi,&p1-shangjixueshi,&p1-xuefen,&p1-kaikexueqi); n+; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct kecheng *)malloc(sizeof (struct kecheng); scanf(%d,&p1-bianhao); p2-next=NULL; save(head); return(head);void save(struct kecheng *head) /保存到文件中 struct kecheng *p; FILE *fp; fp=fopen(所有课程信息
4、.txt,w); /把输入的课程信息在kecheng.txt中保存 p=head; while(p!=NULL) fprintf(fp,%dt%st%st%dt%dt%dt%.1ft%dn,p-bianhao,p-name,p-xingzhi,p-zongxueshi,p-shoukexueshi,p-shangjixueshi,p-xuefen,p-kaikexueqi); p=p-next; fclose(fp); void chakan(struct kecheng *head) /查看所有课程信息,即可以选的课程 struct kecheng *p; p=head; printf(课程
5、编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n); while(p!=NULL) printf(%dt %st %st %dt %dt %dt %.1ft %dn,p-bianhao,p-name,p-xingzhi,p-zongxueshi,p-shoukexueshi,p-shangjixueshi,p-xuefen,p-kaikexueqi); p=p-next; void search(struct kecheng *head) /按编号或性质查询 int a,bianhao; /a为对菜单进行选择的变量 int flag=1; /flag为判断是否找到该
6、课程 char xingzhi10; struct kecheng *p; printf(若要按课程性质查找请输入1n); printf(若要按课程编号查找请输入2n); printf(退出查询请按0n); scanf(%d,&a); while(a!=0) switch(a) case 1:printf(请输入要查找的课程的性质:n); /以课程性质选课 scanf(%s,xingzhi); printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n); p=head; while(p!=NULL) if(strcmp(xingzhi,p-xingzhi)
7、=0) printf(%dt %st %st %dt %dt %dt %.1ft %dn,p-bianhao,p-name,p-xingzhi,p-zongxueshi,p-shoukexueshi,p-shangjixueshi,p-xuefen,p-kaikexueqi); flag=0; p=p-next; if(flag=1) printf(对不起,未找到,请重新输入或退出!n); flag=1; break; case 2:printf(输入要查找的课程的编号n); /以课程编号选课 scanf(%d,&bianhao); printf(课程编号 课程名称 课程性质 总学时 授课学时
8、 实践或上机学时 学分 开课学期n); p=head; while(p!=NULL) if(p-bianhao=bianhao) printf(%dt %st %st %dt %dt %dt %.1ft %dn,p-bianhao,p-name,p-xingzhi,p-zongxueshi,p-shoukexueshi,p-shangjixueshi,p-xuefen,p-kaikexueqi); flag=0; p=p-next; if(flag=1) printf(对不起,未找到,请重新输入或退出!n); flag=1; break; printf(若要按课程性质查找请输入1n); pri
9、ntf(若要按课程编号查找请输入2n); printf(退出查询请按0n); scanf(%d,&a); void xuanke(struct kecheng *head) /学生按编号选课 FILE *fp; fp=fopen(学生已选课.txt,w); int bianhao,i=0,j,a20; /数组a中存放已选好的课程 struct kecheng *p; float s=0; /s为统计所选课程的学分 printf(请输入你想选的课程编号,以0结束:n); scanf(%d,&bianhao); while(bianhao!=0) for(j=0;jbianhao) p=p-nex
10、t; else break; if(p=NULL) printf(无此课程,请重新输入n); else s=s+p-xuefen; /若选课成功,就把该课程的学分累加 printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n); printf(%dt %st %st %dt %dt %dt %.1ft %dn,p-bianhao,p-name,p-xingzhi,p-zongxueshi,p-shoukexueshi,p-shangjixueshi,p-xuefen,p-kaikexueqi); ai=bianhao; fprintf(fp,%dt %st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 学生 选修课 系统 设计 代码 11
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内