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

下载本文档

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

文档简介

1、- 阳 航 空 工 业 学 院 课程设计 学 号 6班 级 6406103 姓 名 彦文 指导教师 王晓岩 2021年 3 月 11 日. z-航空工业学院课程设计任务书一、课程设计题目:学生选修课程系统设计二、课程设计工作自2021年3月10日起至2021年3月21日止三、课程设计容:用C语言编写软件完成以下任务:假定有10门课程参见下表,每门课程有:课程编号,课程名称,学分,学时。为自己设计一个选修课程系统,并将自己选课的信息保存到自己所创立的文件myfile.t*t中。注意:确保总学分不少于8分。四、课程设计要求:程序质量:² 贯彻构造化程序设计思想。² 用户界面友好

2、,功能明确,操作方便。² 用户界面中的菜单至少应包括“读取数据、“输入选课信息、“查看已选情况、“退出4项。² 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程完毕后,上交课程设计说明书打印稿和电子稿,其容如下:² 封面² 课程设计任务书² 目录² 需求分析分析题目的要求² 程序流程图总体流程图和主要功能模块流程图² 核心技术的实现说明及相应程序段² 个人总结² 参考资料² 源程序及适当的注释指导教师: 学生签名: 5、 成绩:六、教师评语:. z-目录题目3

3、需求分析4总体设计4流程图5关键技术分析6总结体会8参考文献9源程序9. z-题目假定有10门课程参见下表,每门课程有:课程编号,课程名称,学分,学时。为自己设计一个选修课程系统,并将自己选课的信息保存到自己所创立的文件myfile.t*t中。注意:确保总学分不少于8分。1思想概论2322思想道德修养2323法律根底12324C语言程序设计3.5565计算机文化根底2326大学英语(上下)81287高等数学(上下)6968网络技术根底2329统计学原理 46410经济法概论232需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别

4、是:输出函数 添加数据函数显示函数保存数据退出函数。在这些函数当中,前3个函数的实现严格按照题目的要求,而第四个函数属于附加功能。1.输出函数 输出选课信息,以便同学选择课程。2.添加函数 让使用者选择自己要选的课。3. 显示函数 用来显示备选科目信息。4保存函数保存所选课程信息。5.退出函数 退出选课系统。 总体设计开场输入i值输出 添加 显示 保存完毕 填加函数的流程图I=0I<10输出“课程号i+1J+aj= =0YES NO n=n+ 退出 sum=sum=subaj-1.score系统 sum<8 是 否 continue 833.5BreakContinue>33

5、.5保存函数的流程图fb=fopen“d;myfile.t*t,“w= =Null 是 否cannot open fwrite(&subai-1,sizeof(struct subject),1,fp)file 关闭文件关键技术分析(1) 输出函数 该函数主要用来显示科目信息,便于学生选课。函数如下。*include <stdio.h> int a10,n=0; struct subject int num; char name50; float score; int time; sub10=1,"思想概论",2,32,2,"思想道德修养&qu

6、ot;,2,32, 3,"法律根底",2,32,4,"C程序",3.5,56, 5,"计算机根底",2,32,6,"英语",8,128, 7,"数学",6,96,8,"网络",2,32, 9,"统计",4,64,10,"经济学",2,32 ; void read_data() int i; printf("课程号 课程名 学分 学时n");for(i=0;i<10;i+)printf("%3dtt%-

7、13s%1.1f%13dn",subi.num,,subi.score,subi.time); /*/(2) 添加函数 此函数使同学根据提示键入所选科目的序号,便与同学选课。函数如下。void input()/*根据提示信息选择课程*/ int i,j=0,k; float sum=0; printf("欢迎进入选课阶段:n"); printf("请输入选修的课程号n"); printf("(注意:你所选科目学分不少于8分!)n"); for(i=0;i<10;i+) printf("第i门

8、课程号:",i+1); j+;scanf("%d",&aj); if(aj=0) break; n=n+1; sum=sum+subaj-1. score;if(sum<8) printf("您的学分之和不到8分,请继续输入");if(sum>=8&&sum<33.5)printf("您所选课程的学分已足8分,是否还要继续选课n"); printf("*如果继续请按1*n"); printf("*如果不再选课请按0*n");scanf(&quo

9、t;%d",&k);if(k=0)break;if(sum>=33.5) break; printf("您所选课程的总学分为: %2.1fn",sum);(3) 保存函数 在选课同时进展的,记录所选的课程,并在以后可以调出保存的文件。具体函数如下。void save()/*保存选课信息*/ int i;FILE *fp; if(fp=fopen("d:myfile.t*t","w")=NULL) printf("cannot open filen"); return; for(i=1;i&l

10、t;=10;i+) if(ai!=1) fwrite(&subai-1,sizeof(struct subject),1,fp); fclose(fp); 编程总结体会通过几天的课设使我的C语言编程水平进一步提高,逻辑思维、全局观也得到了锻炼,使我的综合水平的到进一步提升。并且我也在这几天里对课本中所学的知识得到进一步理解,并且能理论结合实际,将所编写程序很好的完成。 通过这几天的学习使我明白了C语言是门需要很强逻辑性的学科,在编写程序时必须思维缜密,一个符号的错误就会谬以千里。所以在以后的C语言学习中一定要慎重小心。另外,有些程序只适合少量的学科,在以后的学习中要加强此方面的锻炼。参

11、考文献谭浩强C程序设计:清华大学,2005源程序*include <stdio.h>*include <stdlib.h> int a10,n=0; struct subject/*显示课程信息*/ int num; char name50; float score; int time; sub10=1,"思想概论",2,32,2,"思想道德修养",2,32, 3,"法律根底",2,32,4,"C程序",3.5,56, 5,"计算机根底",2,32,6,"英语&

12、quot;,8,128, 7,"数学",6,96,8,"网络",2,32, 9,"统计",4,64,10,"经济学",2,32 ; void read_data()/*将所给课程信息按规则列出*/ int i; printf("课程号 课程名 学分 学时n");for(i=0;i<10;i+)printf("%3dtt%-13s%1.1f%13dn",subi.num,,subi.score,subi.time); void input()/*根据提示

13、信息选择课程*/ int i,j=0,k; float sum=0; printf("欢迎进入选课阶段:n"); printf("请输入选修的课程号n"); printf("(注意:你所选科目学分不少于8分!)n"); for(i=0;i<10;i+) printf("第i门课程号:",i+1); j+;scanf("%d",&aj); if(aj=0) break; n=n+1; sum=sum+subaj-1. score;if(sum<8) printf("您

14、的学分之和不到8分,请继续输入");if(sum>=8&&sum<33.5)printf("您所选课程的学分已足8分,是否还要继续选课n"); printf("*如果继续请按1*n"); printf("*如果不再选课请按0*n");scanf("%d",&k);if(k=0)break;if(sum>=33.5) break; printf("您所选课程的总学分为: %2.1fn",sum); void reads() int i;for(i

15、=1;i<=10;i+) if(ai!=1) printf("%3d%6s%1.1f%5dn",subai-1.num,,subai-1.score,subai-1.time ); void save()/*保存选课信息*/ int i;FILE *fp; if(fp=fopen("d:myfile.t*t","w")=NULL) printf("cannot open filen"); return; for(i=1;i<=10;i+) if(ai!=1) fwrite(&subai-1,sizeof(struct subject),1,fp); fclose(fp); void main()int i; printf("*欢迎进入选课系统*n"); printf("n*1 读取数据*;"); printf("n*2 输入选课信息*;"); printf("n*3 查看以选信息*;"); p

温馨提示

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

评论

0/150

提交评论