c语言程序设计.doc

上传人:F****n 文档编号:98043371 上传时间:2019-09-07 格式:DOCX 页数:48 大小:212.53KB
返回 下载 相关 举报
c语言程序设计.doc_第1页
第1页 / 共48页
c语言程序设计.doc_第2页
第2页 / 共48页
c语言程序设计.doc_第3页
第3页 / 共48页
c语言程序设计.doc_第4页
第4页 / 共48页
c语言程序设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《c语言程序设计.doc》由会员分享,可在线阅读,更多相关《c语言程序设计.doc(48页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计课程设计报告 专 业: 统计学 班 级: 姓 名: 罗钰莹 指导教师: 薛思清 2015 年 01 月 26 日目 录 1.课程设计目的2.问题需求分析3.系统设计(数据结构,总体软件框架,程序模块设计)4.编程实现(描述主要实现过程,主要模块设计必须用流程图或伪代码等)4.1. 流程图4.2. .伪代码4.3 .程序内容5.系统测试(设计测试样例,验证程序,用截图的形式表达出来)6.(可选)附:部分关键源程序7.实习总结(评价对你所开发的软件,实习过程中的难题,解决过程,你的收获与经验等)一,课程设计的目的随着计算机的普及,计算机在生活中得到越来越多的应用其中在计算机上的运行的

2、各种软件在解决生活中的实际问题中起着重大作用,而目前在编写程序时C语言是各种语言最基础的,对于普通用户能够使用C语言设计出小型软件对于解决生活中的繁琐问题非常必要,在学校和班级中经常会对某次考试所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理学生总成绩和平均成绩时工作会相对繁重,所以争对这种情况,同时对分析成绩管理所需要的功能,在利用C语言及VC+6.程序运行平台之下,设计了一种小型的成绩管理系统所需要的功能,该系统具有学生成绩相关信息的录入,显示,查询,排序,修改删除和统计功能。学生成绩管理系统为提供高校信息的管理【要求】设计“学生成绩管理系统”,实现学生信息的输入,显示,查找

3、,保存,删除以及成绩排序等功能模块。要求功能选择用菜单实现,数据输入和结果输出要求用文件存放。原始数据文件格式(具体数据自行编写);学号 姓名 年龄 英语 高等数学 C语言 平均成绩1 张珊 19 85 80 75 802 李四 20 95 85 90 90.功能要求极其说明: (1)数据录入功能:录入每个学生的学号、年龄、课程名称、英语成绩、数学成绩,C语言成绩、平均成绩、共7个数据。(2)查询功能:分为学生基本情况查询和成绩查询两种 学生基本情况查询: 输入一个学号或姓名及年龄(可实现选择)查出此学生的基本信息并显示输出。 称号查询: 输入一个学号时,查出此学生所有课程情况,格式如下: 学

4、号:XX 姓名:XX 年龄:XX 英语成绩:XX 数学成绩:XX C语言成绩XX 平均成绩XX(3)添加功能:要求可以添加学生的成绩信息 (4)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。 (5)排序功能:能够实现按英语成绩排序,按数学成绩排序,按C语言成绩排序,按平均成绩排序以及按学号排序数据结构采用结构体数组,提供学生基本信息和学生成绩基本信息结构体数组。二问题需求分析根据题目要求,该程序具备的功能有程序总体设计程序总体设计1根据题目要求,该程序应具备的功能有:(1) 数据录入功能:录入每个学生的学号、年龄、课程名称、英语成绩,数学成绩,平均成绩共7个

5、数据。因而实现文章的输入输出功能。(2) 查询功能:分为学号情况查询和姓名查询两种,要求用户可以查询各个学生的成绩,通过不同方式实现查询功能。(3) 添加功能:可以添加学生的信息,因而要提供查找和添加功能(4)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。(5)排序功能:能实现选择按学号,英语成绩,数学成绩,C语言成绩或平均成绩升序或降序排序并显示数据。(6)菜单功能:应该提供键盘式的选择菜单以实现其功能选择。三总程序设计四 程序详细设计主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。流程图::int ma

6、in()/主函数void Add(FILE *fp,STUDENT one);/函数声明void Show(FILE *fp);/函数声明int Find(FILE *fp,char *no,int K);/函数声明int Del(FILE *fp,char *no);/函数声明void Mod(FILE *fp,char *p);/函数声明void Zap(FILE *fp);/函数声明struct student Input(void);long num=0,iItem;int res,K;STUDENT temp;char strNo10;FILE *fp=fopen(student.d

7、at,r+); /*判断该文件是否存在*/if(fp=NULL)fp=fopen(student.dat,w+);else fseek(fp,0L,SEEK_END);num=ftell(fp)/sizeof(STUDENT);/*统计多少个字节,除以一个学生需要的字节得到学生的数*/ rewind(fp);while(iItem=menu(num)!=5)switch(iItem)case 1: temp=Input(); Add(fp,temp); num+; printf(学生信息已添加,按任意键返回.); break;case 2: Show(fp); printf(按任意键返回.);

8、 break;case 3: if(num0) printf(输入要删除的学号:); scanf(%s,strNo); res=Del(fp,strNo); if(res) printf(学号%s记录已删除,按任意键返回.,strNo);Zap(fp);num-; else printf(没有学号%s记录,按任意键返回.,strNo); else printf(目前没有记录,无法删除!按任意键返回.); break;case 4: if(num0) printf(选择查询方式n); printf(1-基本情况查询n); printf(2-成绩查询n); scanf(%d,&K); switch

9、(K) case 1: printf(输入要查找的学号或姓名:); scanf(%s,strNo); printf(t姓名t学号t性别t年龄n);break; case 2: printf(输入要查找的学号或姓名:); scanf(%s,strNo); printf(t姓名t学号t性别t年龄t英语t高数tc语言t平均分n);break; default :printf(输入有误!); res=Find(fp,strNo,K); if(!res) printf(没有此学生记录,按任意键返回.); else printf(按任意键返回.); else printf(目前没有记录,无法删除!按任意键

10、返回.); break;default: printf(命令错误,按任意键返回.);break;getch();if(fp) fclose(fp);return 0;2菜单:先定义空函数#includestdio.h#includeconio.h#includestdlib.h/函数声明/下面这些函数可以分别对应不同的功能模块,但一个功能模块可以有多个函数来实现/这些函数暂时不做具体设计,包括函数参数,返回值等。/在后续逐步添加功能模块具体设计与实现这些函数intfunction1();/。函数voidfunction2();/。函数voidfunction3();/。函数intfunctio

11、n4();/。函数voidfunction5();/。函数voidfunction6();/。函数intmenu();/菜单程序,也可以把后面的菜单的具体实现函数放在main函数之前,则不需要做此声明/主函数voidmain()/调用菜单程序intchoice;dochoice=menu();if(choice=0)break;switch(choice)/*switch结构*/case1:/*case事件*/printf(输入入一个新的学生的记录);function1();break;case2:printf(查询一个学生记录);function2();break;case3:printf(插入一个学生记录);function3();break;case4:printf(修改一个学生记录);function4();break;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号