C语言课程设计报告格式2014.doc_第1页
C语言课程设计报告格式2014.doc_第2页
C语言课程设计报告格式2014.doc_第3页
C语言课程设计报告格式2014.doc_第4页
C语言课程设计报告格式2014.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

C语言课程设计报告 题目:学生成绩管理系统 班 级: 动力1341 学 号: 1303411122 姓 名: 于伟强 指导老师: 黄亮 成 绩: 目 录1、 课程设计目的和意义二、总体设计思路(功能模块图)三、详细设计 四、课程设计总结体会五、教师评语一、课程设计目的和意义一 课程设计的目的和意义目的:1. 根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解内容2. 通过调试典型例题或习题积累调试程序的经验。3. 通过完成辅导教材中的编程题,逐渐培养学生的编程能力,用计算机解决实际问题的能力。意义: 1. 有助于加深我们对操作系统这门课程的理解,我们的都是基础理论知识,对于如何用程序语言来描述所学知识还是有一定难度。通过课程设计,我们可以真正理解其内涵。2. 有利于我们逻辑思维的锻炼,程序设计能直接有效练的创新思维、培养分析问题、解决问题能力。即使是一个简单的程序,依然需要学生有条不理的构思。3. 有利于培养严谨认真的学习态度,在程序设计过程里,当我们输入程序代码的时候,如果不够认真或细心,法错误,从而无法得出运行结果。那么,这个我们反复调试,反复修改的过程,其实也是对我们认真严谨治学的一个锻炼.二、总体设计思路(功能模块图)学生信息包括学号,姓名,性别,年龄,学历,工资,住址,电话等。是设计一学生成绩管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(职工信息用文件保存)输入学生信息浏览功能 输出查询和排序功能 算法 按学号查询 按姓名查询等学生信息删除,修改功能。补充要求:1)整个系统均用c语言实现;2)可以利用数组,指针,链表来实现数据结构设计;3)系统具有输入,显示,查询,删除,排序,插入,保存,读取等基本功能;4)系统的各个功能模块都用函数的形式来实现;5)可以将信息保存在文件中读取出来。1.程序采用模块化设计,主函数为程序的入口,各模块独立,可分块调试,各模块由主函数控制调用。主函数的控制功能通过循环执行一个开关语句来实现。该开关语句的条件值为调用主菜单函数得到的返回值,根据该值,调用相应的各功能函数。 2.应用高级语言程序设计中的基本控制结构,如选择和循环等,并且包含对文件的读、写等基本操作,在软件开发过程中应用了软件工程的基本理论。因此,系统的设计方法是结构化设计方法,开发手段是C语言。 3.源程序运用多个函数,开头先进行函数声明,然后分别定义、调用各函数。系统功能模块图三、详细设计1、模块功能介绍1)主菜单学生成绩管理系统1.成绩录入2.成绩查询3.成绩统计4.成绩排名5退出 2)各菜单项功能成绩录入:输入学生的学号、姓名及三门课的成绩,查询不及格学生的记录。 成绩统计:l计算学生的平均分;2 根据学生的平均分高数统2、利用结构体数组实现学生成绩统计管理的数据结构设计;3、 系统具有增加,查询,排序等基本功能; 4、系统的各个功能模块要求用函数的形式实现2、程序清单#include#include #include struct student char num10; char name20; char sex5; int grade5; float v; int sum; stu50; int k=0; void input(); void display(); void look(); void change(); void delete(); void sumandave(); void paixu(); void main() int a; do printf(nn *n); printf( *); printf(ttwelcome enter the student management system); printf(t*); printf(n *n); printf( *); printf(t 1.Access student information); printf(tttt*n); printf( *); printf(t 2.look student information); printf(tttt*n); printf( *); printf(t 3.Change student information); printf(tttt*n); printf( *); printf(t 4.delete student information);printf(tttt*n); printf( *); printf(t 5.By sum Sort student information and output); printf(tt*n); printf( *); printf(t 6. exit ); printf(tttttt*n); printf( *n); printf( Enter you choice : ); scanf(%d,&a); switch(a) case 1:printf(n);input();break; case 2:printf(n);look();break; case 3:printf(n);change();break; case 4:printf(n);delete();break; case 5:printf(n);paixu();break; case 6:printf(n);exit(0);break; default:printf(nThe choice is between 1 to 6.n); while(a!=0); void input() int j; char ch20; printf(nenter student information:n); do printf(nnum: ); scanf(%s,stuk.num); printf(nname: ); scanf(%s,); printf(nsex: ); scanf(%s,stuk.sex); for(j=0;j5;j+) printf(ngrade%d: ,j+1); scanf(%d,&stuk.gradej); k+; printf(nif want continue input student information(y/n): ); scanf(%s,ch); while(strcmp(ch,y)=0|strcmp(ch,Y)=0); sumandave(); display(); void display() int i; printf( the student information is:n); for(i=0;ik;i+) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d%5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v); printf(n); void sumandave() int i,j; for(i=0;ik;i+) stui.sum=0; for(j=0;j5;j+) stui.sum=stui.sum+stui.gradej stui.v=stui.sum/5.0; void look() int i; char a20; printf(nenter you want look student num:); scanf(%s,a); for(i=0;ik;i+) if(strcmp(stui.num,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v); printf(nenter you want look student name:); scanf(%s,a); for(i=0;ik;i+) if(strcmp(,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v); display(); void change() int i,j; char a20,ch10; printf(nenter you want change student num:); scanf(%s,a); for(i=0;ik;i+) if(strcmp(stui.num,a)=0) printf(nyou sure want change student num(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nnum:); scanf(%s,stui.num); printf(nyou sure want change student name(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nname:); scanf(%s,); printf(nyou sure want change student sex(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nsex:); scanf(%s,stui.sex); printf(nyou sure want change student grade(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) for(j=0;j5;j+) printf(ngrade%d: ,j+1); scanf(%d,&stui.gradej); stui.sum=0; for(j=0;j5;j+) stui.sum=stui.sum+stui.gradej stui.v=stui.sum/5.0; display(); void delete() int i,j; char ch10,c20; printf(nyou sure want delete student information(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nenter you want delete num: n); printf(num:); scanf(%s,&c); for(i=0;ik;i+) if(strcmp(c,stui.num)=0) break; for(j=i;j=2;j+) stuj=stuj+1; printf(tttyou had delete %sn,c); k-; display(); void paixu() struct student T; int i,j; for(i=0;ik-1;i+) for(j=i+1;jk;j+) if(stui.sumstuj.sum) T=stui; stui=stuj; stuj=T; display(); 3、系统运行结果四、课程设计总结体会本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能进行循环输入、不能进行数据储存、不能输出有效的数据等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。现在

温馨提示

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

最新文档

评论

0/150

提交评论