C语言程序成绩管理系统设计报告 精品.docx_第1页
C语言程序成绩管理系统设计报告 精品.docx_第2页
C语言程序成绩管理系统设计报告 精品.docx_第3页
C语言程序成绩管理系统设计报告 精品.docx_第4页
C语言程序成绩管理系统设计报告 精品.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

实训名称: 成 绩 管 理 系 统目录1. 系统简介-31.1项目标题-31.2项目的说明-3-1.3项目目地-32. 系统设计的思路和整体框架-42.1设计思路-42.2整体框架-73. 各功能或模块实现的思路-73.1模块功能说明-73.2主要函数之间的调用关系及各自功能-83.3操作执行图-94. 系统设计的结果-104.1主界面运行结果-104.2录入学生信息程序运行结果-104.3显示学生成绩信息运行结果-114.4按平均成绩成绩降序排列并输出运行结果-114.5按学号查询成绩运行结果-124.6按学号删除学生成绩的运行结果-124.7按学号修改学生成绩运行结果-134.8退出该学生成绩管理系统运行结果-145. 个人感想和总结-151. 系统简介1.1项目标题学生成绩管理系统1.2项目的说明 学生成绩管理系统是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生成绩管理系统得到了更大的发展空间,通过对学生成绩管理系统的开发,可以提高校务人员的工作效率。1.3项目目地明确教师对学生成绩管理系统的功能需求和性能需求,加强教师对学生成绩管理系统软件的理解和认识。2. 系统设计的思路和整体框架2.1设计思路本操作系统是用C语言编写的学生成绩管理系统。共8个菜单栏:1 输入功能:输入学生姓名学号及成绩。2.查看功能:输出姓名学号及各科成绩。3 保存功能:保存学生成绩信息。4排序功能:按平均成绩降序排列并输出学生信息和成绩。5 查询功能:通过学号查询学生姓名及各科成绩。 6 修改功能:通过输入学号修改指定学生的错误信息。7删除功能:通过输入学号输入指定学生信息。8.退出。 (1) 用户首先进入主界面,通过scanf(“%d”,&choose)输入相对应的数字(0-8),main函数中switch(choose)会根据用户选择的数字来选择要执行的功能相对应的调用不同的函数。(2)用户输入学生信息时,为了提醒用户输入班级,姓名,学号的形式,我会采用以下方法当用户类型输入的形式错误时会提醒用户输入有误请重新输入。isnum=scanf(%d,&banji); while(isnum!=1) printf(输入有误请重新输入!);isnum=scanf(%d,&banji);break; isnum=scanf(%s,&name); while(isnum!=1) printf(输入有误请重新输入!);isnum=scanf(%s,&name);break; isnum=scanf(%d,&studentid); while(isnum!=1) printf(输入有误请重新输入!);isnum=scanf(%d,&studentid);break; 为了提醒用户已经输入了相同的学号时我会采用了以下方法来判断,当用户输入相同的学号时会提醒用户此人学号已存在,请从新输入:int judgeid(int studentid,int n) int a=studentid ;for(int i=0;iNUM;i+)if(studentid=studentsi.shu)system(cls);printf(此人学号已存在,请从新输入!n);printf(请输入学号:n);scanf(%d,&a);a=judgeid(a,n); break;return a;(2)显示学生信息时,直接调用show()函数就可以进行,没有什么特别的地方。(3)保存信息时,我会采用以下方法:先创建一个文本stu.txt来写入学生信息,该方法会把学生信息和学生成绩存入文件中:FILE*fp; int i=0;if(fp=fopen (stu.txt,w+)=NULL)printf(cannot open filen);getch();return;for(i=0;iNUM;i+) fwrite(&studentsi,sizeof(struct student),1,fp);printf(学生成绩已保存,按任意键返回!);fclose(fp);getch(); (4)当用户想要读取保存的学生信息时,可以通过switch(choose)来选择操作,就会调用read()函数,就会从文件中读取已保存的学生信息和成绩。(5)当用户要查找已保存的学生信息和学生成绩时,可以通过switch(choose)来选择操作,就会调用search()函数,就会从文件中按学号查找已保存的学生信息和成绩:if(wrong=(studentsi.studentid=studentid)当找到该学生时如果用户想要删除该学生,我会采用覆盖的方法studentsi=studentsNUM-1; 来删除该学生。当用户修改该学生信息时我会采用从新输入的方法来修改。当用户想要把学生成绩排序时,我采用了按平均成绩冒泡降序排列的方法。2.2整体框架3.各功能或模块实现的思路3.1模块功能说明:1 输入功能:输入学生姓名学号及成绩。2 查看功能:输出姓名学号及各科成绩。3 保存功能:保存学生成绩信息。4排序功能:按平均成绩降序排列并输出学生信息和成绩。5 查询功能:通过学号查询学生姓名及各科成绩。 6 修改功能:通过输入学号修改指定学生的错误信息。7删除功能:通过输入学号输入指定学生信息。8.退出。 3.2主要函数之间的调用关系及各自功能:主要函数的函数原型void input(); /输入学生信息和成绩void show; /显示学生信息函数void sum_grade(); /总成绩和平均成绩函数void modify(); /按学号修改学生信息void save(); /保存学生信息void search(); /按学号查找学生信息void read(); /读取学生信息void grade_sort(); /按平均成绩进行冒泡降序排序void delete_student(); /按学号删除学生信息void main(); /主函数void printff(int a); /输出函数int judgeid(int studentid,int n); /判断id是否存在(1)在菜单界面输入1,调用函数input( )实现输入学生成绩信息功 能。(2)在菜单界面2,调用函数show( ),同时在函数show()中调用函数printff(a),sum_grade.就会显示在执行1后的学生信息和学生成绩,并计算和输出总成绩和平均成绩。(3)在菜单界面输入3,调用save()函数实现对学生信息和成绩的保存。(4)在菜单界面输入4,调用read()函数,可以从文件中读出3保存的学生信息和学生成绩。(5)在菜单界面输入5,调用delete()函数实现删除学生信息和学生成绩的功能。(6)在菜单界面输入6,调用grade_sort()函数实现通过按学生的平均成绩进行冒泡降序排序的功能。(7)在菜单界面输入7,调用search()函数查找指定学生成绩,并输出。(8)在菜单中输入8,调用modify()函数修改指定的学生信息和学生 成绩。(9)在菜单界面输入0,通过exit(0)退出该学生成绩管理系统3.3操作执行图4.系统设计结果4.1主界面运行结果:4.2录入学生信息程序运行结果:4.3显示学生成绩信息运行结果:4.4按平均成绩成绩降序排列并输出运行结果:4.5按学号查询成绩运行结果:4.6按学号删除学生成绩的运行结果:4.7按学号修改学生成绩运行结果:4.8退出该学生成绩管理系统运行结果:5.个人感想和总结:(1)通过本次C程序课程设计,我觉得对自己提高很大:我发现自己真的爱上了写程序(一心一意写代码,几乎到了痴迷),我感觉这一星期是大一期间最有成就感的一星期,也是最充实的一星期。除了在实训室写程序,回到宿舍打开电脑也会情不自禁的去写程序,不知不觉就会写到晚上十二点多,以前看到程序就心烦,就害怕,而现在看到程序就会情不自禁去修改。(2)加深了对C语言的理解,以前我对C语言就是那种很朦胧的感觉,通过这一个周的实训,我发现自己对于C语言有了更进一步的理解。(3)同时养成了多利用图书馆的这一很好的资源, C语言的相关资料,查过好多书;这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常周密且逻辑性很强的活动,他不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎。(4)通过本次课程设计,我初步学会了程序设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,这为以后的大学打下了一个初步的基础。(5)使我收益最大的是享受到了一种成功的喜悦,当我把程序完善的那一时刻,我的心情真的是无比的愉悦。好像全世界都在我的脚下,这让我更加钟爱于写程序了。(6)在这一个星期之中从老师布置了要写的程序系统后就开始想系统软件需求分析,确定要写的功能,然后在老师的带领下,编写C语言原程序(一个功能一个功能的写),然后是进行

温馨提示

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

评论

0/150

提交评论