c程序设计学生选修课程系统_第1页
c程序设计学生选修课程系统_第2页
c程序设计学生选修课程系统_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、课程设计的题目和意义 2二、详细设计 31、模块功能介绍 32、程序流程图 43、程序清单 5三、系统运行结果 1.1一、 课程设计的题目和意义题目五:学生选修课程系统设计假定有 n 门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课 ),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如 总学分不得少于 60)自由选课。试设计一选修课程系统,使之能提供以下功能:1、系统以菜单方式工作2、课程信息录入功能 (课程信息用文件保存 )3、课程信息浏览功能4、课程信息查询功能查询方式按学分查询按课程性质查询5、学生选修课程 (可选项 )通过课程设计

2、的实践环节的教学, 可以加深学生对课堂所学基础知识的掌握与理解, 提 高学生对所学内容的综合运用能力; 同时也可以通过查询相关资料, 培养学生自学能力、 接 受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧, 并可培养学生实 际上机调试程序的能力。 “理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工 作打下坚实的基础。二、详细设计1、模块功能介绍题目:学生选修课程系统设计:课程信息包括:课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学 分、开课学期等。试设计一学生选课系统,使之能提供以下功能:选课信息录入功能(学生信息用文件保存)-输入选课信息浏览功能

3、-输出查询功能-算法按学分查询按课程性质查询进入选课信息操作2、程序流程图学生选修课程系课程信息的删除与修改学学编统分时号计按学分查询按性质查询3、程序清单#include<stdio.h>#include<stdlib.h>#include <string.h>struct courseint num;char name20;char kind10;int time;int ttime;int etime;int mark;int term;struct studentint snum;int cnum;char cname20;/* 课程信息录入 */v

4、oid insert()void main();FILE *fp;struct course c;int count;int i; if(fp=fopen("course.txt","a+")=NULL)printf("cannot open filen");printf("n 请输入课程门数 :n");scanf("%d",&count);学分printf(" 课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 开课学期 :n");for(i=0;i&l

5、t;count;i+)scanf("%d %s %s %d %d %d %d %d",&c.num,&,&c.kind,&c.time,&c.ttime,&c.etime,&c .mark,&c.term);fprintf(fp,"%d %s %s %d %d %d %d %dn",c.num,,c.kind,c.time,c.ttime,c.etime,c.mark, c.term);fclose(fp);main();/* 课程信息浏览 */void browse

6、r()void main();FILE *fp;struct course c;int a;if(fp=fopen("course.txt","r")=NULL)printf("nCannot open course!n");printf(" 课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期 :n");for(;!feof(fp);)fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&,&c.

7、kind,&c.time,&c.ttime,&c.eti me,&c.mark,&c.term);printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c.ttime,c.etime,c .mark,c.term);fclose(fp);printf("n1- 返回主菜单; 2-退出选课系统 n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 课程信息查询 */voi

8、d search()void main();FILE *fp; struct course c; int score; char kind10; int a; int b; printf("1. 按学分查询 ,2.按课程性质查询 .n"); printf(" 请选择查询方式,输入选项数字: "); scanf("%d",&b);if(b=1)printf("n 请输入您要查询的学分 :n"); scanf("%d",&score);if(fp=fopen("course

9、.txt","r")=NULL) printf("nCannot open course!n");printf(" 课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期 :n");for(;!feof(fp);)fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&c.ttime,&c.etime, &c.mark,&c.term);if(c.ma

10、rk=score)printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c.ttime,c.etime,c .mark,c.term);else if(b=2)printf("n 请输入您要查询的课程性质 :n");scanf("%s",&kind);if(fp=fopen("course.txt","r")=NULL)printf("nCannot open course!n");prin

11、tf(" 课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期 :n");for(;!feof(fp);) fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);if(strcmp(c.kind,kind)=0)printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,c.nam

12、e,c.kind,c.time,c.ttime,c.etime,c .mark,c.term);elseprintf(" 输入错误! ");exit(1);fclose(fp);printf("n1- 返回主菜单; 2-退出选课系统 n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 统计选课情况 */void xuanke_information()void main();int total=0;int a;FILE *fp;struct student s;if(fp=fopen

13、("student.txt","r")=NULL)printf("nCannot open student!n");printf(" 学号 课程编号 课程名称 n");for(;!feof(fp);) fscanf(fp,"%d%d%sn",&s.snum,&um,&ame);total+; printf("%7d%9d%13sn",s.snum,um,ame);printf("n 选课学生总人数为: %d 人 ",total);f

14、close(fp);printf("n1- 返回主菜单; 2-退出选课系统 n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 学生选修课程 */void xuan_ke()void main();struct student s;struct course c;int a;FILE *fp;printf("n 请输入您的学号及您要选择的课程编号 :");scanf("%d%d",&s.snum,&um);if(fp=fopen("cou

15、rse.txt","r")=NULL) printf("nCannot open course!n");for(;!feof(fp);)fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&,&c.kind,&c.time,&c.ttime,&c.eti me,&c.mark,&c.term);if(um=c.num)break;fclose(fp);if(fp=fopen("student.txt&qu

16、ot;,"a+")=NULL) printf("nCannot open student!n");fprintf(fp,"%d %d %sn",s.snum,um,);fclose(fp);printf("n1- 返回主菜单; 2-退出选课系统 n");scanf("%d",&a);if(a=1)main();elseexit(0);/* 主菜单 */void main()int n,w=0;printf("*n");printf("n"

17、;);学生选课系统菜单printf("*n");printf("n");printf("n");printf("n");printf("n");printf("1- 录 入 选 课 信 息2- 浏 览 选 课 信 息3- 查 询 选 课 信 息4- 统 计 选 课 情 况5- 进 入 选 课 操 作n");printf("n");0- 退 出 选 课 系 统printf("*n");printf(" 请选择输入选项前数字 :&

18、quot;);scanf("%d",&n);doif(n>5|n<0)printf("n 输入错误!请重新输入! n"); scanf("%d",&n);else w=1;while(w=0);switch(n)case 1:insert();break;case 2:browser();break;case 3:search();break;case 4:xuanke_information();break;case 5:xuan_ke();break;case O:exit(O); return ;4、

19、系统运行结果主菜单功能电气与皆息工程竽院丄-#入选课信息4-1+诜课情况 一进入选孵作 0-退出选课系统2- 和览选课倍息3- Wil选i般息、Ddciu«hs and Setti&esuserPet>ug> 1. ex&选课信息录入浏览选课信息4-统廿诜课情况0退岀选课累统A磁入选课操作-录入选谏信息3-査询选课信息选课信息查询La*C: Docuaeats and Sett ingsXuserXBetrag I. eie-"33'请选择输入选项前数字江请输傀课桿门数:谍程编吕釋§称谍程性质总学时授课学时突验或上机学时学分开学期:1clliiniB 番&bixiu201G10520112an3rli«hbixiu201Q10E3Q11m *c;DocuAentg uid SettingsuseiDebugXl.Qg齐查询选课信息4 -统计选课惰况百-进入选课操年0-退岀选

温馨提示

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

评论

0/150

提交评论