目 录
引言
1 系统概述
11 系统功
12 系统作特点
2 需求分析
21 功求
22 性求
23 数需求
24 开发环境
3 详细设计
31 登陆界面界面实现
32 详细设计思想
33 系统结构体设计
33 种模块实现
4 遇问题分析
41系统存足
42 制作程中遇问题
44 问题分析
5系统特色关键技术
6结心体会
参考文献
附录
摘
着计算机普生活学离开电脑计算机提高生产效率工具途径教育例外现基学学生理系统学生成绩理系统仅广教师繁重成绩理工作中解脱出学校传统成绩理模式中解放出学生成绩判断整理更合理更公正时教师提供准确清晰轻松成绩理环境系统开发求应教育系统学生成绩理系统助计算机强处理力减轻理员工作量提高处理准确性学生成绩理系统开发运实现学生成绩理动化完成学生成绩理包括添加修改删查询查信息保存入档等六方面表修改联动影响表完成添加删操作时系统会动完成学生成绩修改查询功系统核心系统中根学生姓名学号进行查询目方便户系统完整添加删修改功具备成绩表查询功
文介绍课题开发背景完成功开发程文介绍课题开发背景完成功开发程重点说明系统设计思路总体设计功模块设计实现
关键词:学生成绩成绩理信息系统C语言
引言
年前许学校学生成绩理停留运手工操作着计算机飞快发展学校规模断壮学生数逐年增加关学生成绩理工作涉数量越越学校增加力物力进行学生成绩理工理着许缺陷:效率底易出错检索信息慢学校理提供决策信息较困难等学校完全掌握学生学情况样学校教学工作利学校教学质量直停滞前想次课程设计际开发适校通高校学生成绩理系统学校够充分掌握学生学情况便学校教学工作进行改革
开发目标建立学生成绩理系统采计算机学生成绩进行理进步提高办学效率现代化水学校学生成绩够快速准确录入修改查询
更掌握学生科成绩便教师理学生学成绩进行快速查询老师够更更快解学生学情况学校教学质量进步提高系统改变手工理学生成绩状况树立良办学先锋提高工作效率节省力物力高校建立校园网实现办公动化
1 系统概述
11 系统功
学生成绩理系统理学生成绩信息目功包括登录户成绩录入理查询理修改理删理统计理成绩排名等
登录户:老师进行种操作学生进行查询操作
成绩录入理:次考试结束录入学生成绩信息
查询理:包括查询成绩基信息显示单独条记录显示信息
修改理:包括修改成绩基信息
删理:包括删成绩基信息
统计理:统计学生数优生率格数均成绩
成绩排名:成绩高低序排列
12 系统作特点
系统更快学生成绩相加排名种统计老师说减少工作量课考试时成绩出输入电脑秒成绩相加知道某学生学校排名老师说考完试时间增加许功强实性强较交互界面方便户具易操作性覆盖面广
2 需求分析
21功求
中文菜单界面设计户输入输出性化
学生信息保存文文档中
具数删功终文件中删
排序功根设计数结构设计排序算法
具种查询(学号查询姓名查询成绩查询等)输出功
功(种统计统计学生课程均分统计某门课程学生均分等)
学生信息修改(修改学生姓名修改学生某门课程成绩)
22 性需求
系统高速性稳定性安全性
系统体系结构够方便功适应业务办公发展
系统机界面友易学易
系统维护成较低
23 数需求
基数维护功
添加学生信息
修改学生信息
删学生信息
查询学生信息
统计学生信息
存读成绩信息
学生
C语言
算法
数库
性
数库
学号
算法
姓名
C语言
学生数结构
登录户
账号
权限
密码
户结构
户登录
学生成绩理系统
学生户
老师户
查询记录
删记录
成绩统计
修改记录
查询记录
统计记录
存读记录
成绩统计
统计记录
退出
添加记录
菜单
24 开发环境
开发环境Visual C++ 60简称VC者VC60微软推出款C++编译器高级语言翻译机器语言(低级语言)程序Visual C++功强视化软件开发工具种视化编程工具基windows操作系统两种方式建立应程序种通VC60视化编程工具种通visual c++60代码编辑器手工编写代码系统语言C语言C语言目前世界流行广泛高级程序设计语言
C语言操作系统系统程序需硬件进行操作场合C语言明显优高级语言许型应软件C语言编写C语言具绘图力强移植性具备强数处理力适编写系统软件三维二维图形动画数值计算高级语言
3 详细设计
31登陆界面界面实现
系统登录界面C选择控制语言进入系统户进行安全检查阻止非法户进入验证账号密码通判断账号密码否符合申请账号密码果符合允许登录否提示户账号密码正确
系统登录界面:
界面
界面中包括①班级成绩添加②班级成绩显示 ③班级成绩统计 ④班级成绩查询 ⑤班级成绩修改 ⑥班级成绩表 ⑦班级成绩存档 ⑧ ⑨班级成绩读入 ⑩退出等全部功设计麽界面户程序操作流程更加清晰简明二保证户时文件进行操作系统求保证系统正确性易性
32 详细设计思想
321确定程序功模块
较简单根系统设计说明求设计设计九功模块文件操作系统维护功排序统计功输入输出等基功较性化添加较提示语程序功时输入学生学号姓名学期三科成绩进行存储存储学生成绩学号学期姓名学期进行查询时输出学均分总分某学成绩进行种操作例修改删等时学生成绩总分单科成绩排序整程中做操作会保存studenttxt文件中显示
322确定语言算法
前没做类似设计时间够确定底种语言设计系统网设计程序链表数组种样知选择仔细中设计思想终C数组做觉链表掌握熟练设计程中容易产生理解错误耽误时间二想运C巩固学数结构知识前做实验时候没学知识时候想练练样确定整体结构算法
33 系统结构体设计
Student
总分
均分
C语言
姓名
学号
算法
性
数库
struct Student 结构体
{
int term学期
int num学号
char name[12]姓名
float mark1成绩
float mark2
float mark3
float sum总分
float average均分
}
33 种模块实现
Main()函数设计Mvoid main()实现显示菜单户选择操作main()函数中运dowhile循环语句switch()case选择判断语句调相关选择种功模块系统运行永真循环里进行界面选择退出时会跳出永真循环退出程序
331录入学生记录模块
函数int add_text(struct Student stud[] int n) 实现
功学生记录进行添加选择8进入模块录入需学生数学生信息学号姓名成绩等然进入菜单根菜单基础进行操作期间会提示语操作函数文件操作指针FILE *fp
332显示学生记录模块
函数void output_stu(struct Student stud[] int n int i)实现
功显示学生信息进行输出系统已录入学生资料前提该功显示学生信息资料等等时会动跳出菜单进行续操作程序代码文件读操作界面显示操作
333添加学生资料模块
函数void input_num(struct Student stud[] int n int i) 实现功添加学生资料成绩重号提示重新输入模块进行添加利for循环进行输入新学生记录输入完会提示语句:否继续输入 (y\n)y继续输入n返回菜单否返回菜单模块功结束期间会根语句算出总分均分默认学号排序保存文件中
334 查询删修改模块
分三函数实现删箅修改模块基查询模块先查询进行操作容然进行操作
查询函数int find_stu(struct Student stud[] int n)实现两种方式菜单先5进入查询会出现提示:请选择您查询方式(1学号2名字)forif语句 if (strcmp(stud[i]name you_choice) 0) 果第i项查找信息匹配查询失败否查询成功调显示函数输出该学生信息会出现提示:否进行1修改2删3退出选项
修改函数void updata_stu(struct Student stud[] int n int y) 实现修改进行选门课进行修改会提示:请输入您门成绩进行修改( 0数库 1算法 2C语言) 输入该课程成绩
删void delete_stu(struct Student stud[] int n int y)实现选择会判断提示:确认您进行删(yn)y确定会回菜单n删
退出果进行操作返回菜单
335 统计模块
谇功void TJ_stu(struct Student stud[] int n int o) 实现选3进入统计界面首先提示统计学科123供选择选择显示出该课程成绩表高低序排列算法泡排序方法种统计包括:均成绩格率优生率格数\优生数
排序代码:
for (i 0 i < n1 i++)
{
for(j i+1 j < n j++)
{
if (stud[j]score[o] > stud[i]score[o])
{
temp stud[i]
stud[i] stud[j]
stud[j] temp
}
}
}
336 班级成绩表模块
该模块void chenji_stu(struct Student stud[] int n int o) 函数实现算法直接选择排序总成绩高低排序显示调显示模块函数函数结构简化
程序:
for (i 0 i < n1 i++)
{
ki
for(j i+1 j < n j++)
{
if (stud[j]score[3] > stud[i]score[3]) kj score[3])表示总成绩
if(ki) {
temp stud[i]
stud[i] stud[k]
stud[k] temp
}
}
4 遇问题分析解决
41系统存足
学生成绩理系统九模块组成模块相互联系相互独立学生成绩理系统存着足处身编程力问题系统实现功非常限实现学生理系统基功进行简单输入输出学生资料查询修改学生信息直接文件中读入数系统作修改操作进行保存等模块足方输入学生资料时信息项没严格规定输入字符感觉应范围容乐观努力更详实现模块功
42 制作程中遇问题
421 dowhile语句位置问题
查询学生记录模块中查询次进行次查询话行先菜单先查询选项麻烦实现原功想清楚底里循环出问题逻辑思路找相应语句正确添加行
422 system('cls')问题
刚开始时菜单切换解编写程序运行时候竖行影响者视觉范围通查询资料知system('cls')作够暂时相关信息通清屏处理
423存分配问题
初学者话存分配释放问题较抽象模糊问题排序前出现交换数困难问题存分配空间繁琐释放空间时问题造成空间浪费程序运行时效率较低采序存储记录方式改变前面出现问题
44 问题分析
动手写时候会发现太问题已亲实践会收获例细节方面特注意啊分号添加方问题函数返回值等问题然容易改掉容易养成惯会浪费时间开始写时候仔细样保证程序编精细时出现样错误话编写程序时候会心里烦编程时候认真仔细刚开始时文件操作明白直操作文件直快验收时候旧出现问题已存文件读取问题数文件中读取够正常读出读文件操作语句进行仔细检查发现语句序点问题重新fscanf()语句进行修改发现够正常读取文件余没什较问题基细心点话正确调试成功
5 系统特色关键技术
实程序设计程中没吸引关键技术C语言学初设计时候想功实现求功编进程序样觉满足设计较简单易懂语言样够更明白没时间细细设计程序程序说什值说性化点设计成学时候怕弄混添加详提示样编程程中调试时候够较快运行应dowhile语句switchcase语句两语句前常程序中试炼然编写程中总出错成功程序条理知道东西弄学知识中成功应觉事进步
6 结心体会
学生成绩理系统终成功验收测试结果基实现成绩理系统功:成绩信息录入成绩信息理达操作程中直观方便实安全等求系统采模块化程序设计方法便系统功组合修改系统测试证明运行稳定系统设计中遇问题系统功需断完善改进空闲时间里逐进行完善系统功更加完善
周数结构算法课程设计然疲惫收获数库课设样次巩固学知识前学停留理基础现动手操作试验真正理解体会编程学年知识似懂非懂通时机操作解更深理解更认识次课设前困惑通次课设解决然够全面理解进步高兴课程设计前前实验验教训明白写代码步非常重代码输进编译运行发现通检查出问题费费力事情分析规划代码重重逻辑结构写样会出现问题写代码先找出核心容种方法实现核心部分样避免发现逻辑编译支持错误
通次文设计学会样鉴方法验知道整合资料处理资料力位做毕设文基础感觉较种成功喜悦然编译时候会常错误心烦意乱失件事失败越积累验越丰富考验较编译成功时喜悦越浓烈力进步提高
参考文献
[1] 谭浩强C程序设计[M]北京:清华学出版社 2005
[2] 陈雁数结构 [M]北京:高等教育出版社2004
[3] 黄梯云理信息系统 北京:济科学出版社 2007
[4] 甘仞初信息系统开发 北京:济科学出版社 2009
[5] 严蔚敏 数结构(C语言版) [M] 北京:清华学出版社 2008
[6] 张孝算法数结构(C语言描述)北京:高等教育出版社2005
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档