- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业论文学生成绩管理系统千行代码c语言课程设计正文
内蒙古科技大学
本科生课程设计说明书
题 目:C语言课程设计
—— 学生成绩管理系统
学生姓名:边峰
学 号:1467159114
专 业:软件工程
班 级:1班
指导教师:周李涌
日 期:2015年 1月 1日
内蒙古科技大学课程设计任务书
课程名称 C语言课程设计 设计题目 学生成绩管理系统 指导教师 周李涌 时间 2015.1.1-2015.1.7 一、教学要求
1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。1. 分析课程设计题目的2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用. 设计完成后提交课程设计报告第一天? 选择课程设计题目,分析课题的要求第二天? 编程第三天? 编程及调试第四天? 写课程设计报告第五天? 提交课程设计报告(打印稿及电子稿)1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。内蒙古科技大学课程设计任务书 I
目 录 II
第一章 需求分析 3
1.1 引言 3
1.2 任务概述 3
1.3 数据描述 3
1.4 功能需求 4
1.5 性能需求 4
1.6 运行需求 5
1.7 任务计划 5
第二章 概要设计 6
2.1 总体设计 6
2.2 数据类型设计(或数据结构设计) 6
2.3 接口设计 7
2.4 运行界面设计 7
第三章 详细设计 8
3.1 输入模块设计 8
3.2 输出模块设计 10
3.3 查找模块设计 11
3.4 排序模块设计 14
3.5 保存及读取模块设计 16
第四章 测试分析 17
4.1 测试程序执行情况 17
4.2 出现的问题和解决的方法 20
第五章 课程设计总结 21
附录:程序代码 21
参考文献 46
第一章 需求分析
引言
此报告完整呈现了我开发“学生成绩管理系统”的整个软件过程,包括需求分析阶段,软件设计与实现阶段和测试阶段。在需求分析阶段,明确所要开发的软件应具有的功能、性能与界面,使系统使用人员及系统开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。在软件设计与实现阶段,进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示,然后着手于实践。最后在测试阶段检验了我们的软件的实用性,发现了许多不足。这个报告即是对最后软件的总体描述
任务概述
学生成绩管理系统:
包括以下功能:
从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里
打开文件后,计算每个人的总分和平均分,排序并保存
具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)
具有插入、删除和修改功能
具有输出文件数据信息的功能
数据描述
数据是关于学生的资料:包括 学号、姓名、5门功课的成绩、总分、平均分。
功能需求
为实现管理,该程序有以下功能:
数据类型设计(或数据结构设计)
typedef struct student
{
long xuehao;
char name[12];
int chengji[N];
int zongfen;
float pingjun;
struct student*next;
} NODE;
接口设计
void huanyingyu(); //LED灯闪烁欢迎语
void mytime(); //输出问候语句+时间
void mima(char mi[],char mi1[]); //密码函数
void caidan(); //输出主菜单
NODE* daoru (NODE *l,char kemu [][20]); //已存在信息导入
void jieshu(NODE* l); //模块0 结束程序
NODE* InsertNode(NODE *head,char kemu [][20],int count);//模块1 插入学生资料 (总分排序)
NODE* DeleteNode(NODE* head); //模块2 删除学生资料
void FIND (NODE *he
文档评论(0)