成绩处理系统(文件操作).doc_第1页
成绩处理系统(文件操作).doc_第2页
成绩处理系统(文件操作).doc_第3页
成绩处理系统(文件操作).doc_第4页
成绩处理系统(文件操作).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

程序设计报告 ( 2011 / 2012 学年 第 二 学期) 题 目: 成绩处理系统(文件操作)成绩处理系统(文件操作) 专专 业业 学学 生生 姓姓 名名 班班 级级 学学 号号 指指 导导 教教 师师 指指 导导 单单 位位 日日 期期 评分项评分项优秀优秀良好良好中等中等差差 遵守机房规章制度遵守机房规章制度 上机时的表现上机时的表现 学习态度学习态度 程序准备情况程序准备情况 程序设计能力程序设计能力 团队合作精神团队合作精神 课题功能实现情况课题功能实现情况 算法设计合理性算法设计合理性 用户界面设计用户界面设计 报告书写认真程度报告书写认真程度 内容详实程度内容详实程度 文字表达熟练程度文字表达熟练程度 评评 分分 细细 则则 回答问题准确度回答问题准确度 简简 短短 评评 语语 教师签名:教师签名: 年年 月月 日日 评分等评分等 级级 备注备注 评分等级有五种:优秀、良好、中等、及格、不及格评分等级有五种:优秀、良好、中等、及格、不及格 1 成绩处理程序(文件操作)成绩处理程序(文件操作) 一、一、课题内容和要求课题内容和要求 学生成绩处理系统是学生熟悉的教学系统之一,系统以学生成绩的输入、 输出、插入、删除、排序、统计等基本功能模块为基础,将结构体、链表、文 件等主要知识点结合在一起,运用菜单、排序等一些常用算法,解决学生成绩 处理的实际问题。 通过课程设计使学生综合使用所学过的 C+语言程序设计知识,掌握结构 化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步 提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题, 加深对所学知识的理解与掌握,增强学生我们利用自己所学知识解决实际问题 的能力,为以后的程序开发打下基础。 设计一个程序,统计一个班(最多有 30 人)的学生成绩,要求能实现如下四 个功能: (1) 由键盘输入每个学生的学号和四门课程的成绩,将其保存至文件。 (2) 计算每个学生的平均分和总分。 (3) 按总分从高到低排出名次,并按名次输出每个学生的情况,包括学号、 各科成绩、平均分和总分。 (4) 根据用户要求输出某门课程(由键盘输入课程号)成绩在 90 分以上(含 90 分)且总分在前五名的学生情况,包括:学号、各科成绩、平均分和总分。 基本要求: (1)以上每一个功能为一个独立的函数; (2)所有的输入之前都要有提示。 提高要求: (1)所有输入和输出结果能保存在文件中; (2)程序操作友好、界面美观,最好有图形界面。 二、需求分析二、需求分析 1.需求分析 1):每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的 2 科目)、平均成绩。 2):创建功能:可以一次完成若干条记录的输入。 3):显示输出功能:完成全部学生记录的显示。 4):查找功能:完成按姓名或学号查找学生记录,并显示。 5):排序功能:按学生平均成绩进行排序。 6):修改功能:修改一条学生记录。 7):删除功能:完成学生记录的删除。 8):统计功能:按学生各门课成绩统计出平均成绩 9):将学生记录存在文件student.txt中。 10):应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽 可能清晰美观! 2.系统性能要求: 1):.系统安全、可靠; 2):.功能齐全; 3):操作方便、界面友好; 4):易于维护和扩充。 3.系统的功能分析: 资料维护:系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。 系统功能:可以对数据表中的信息进行浏览。 系统查询:可以对学生的信息进行查询。 4.系统功能模块 学生成绩查询系统有:成绩录入、增加、删除、修改,数据查询,排序显示构 成。 5.界面设计 程序运行后会出现一个简捷的窗口,便于用户查询数据。 6.功能设计与实现 通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主 控界面包括记录编辑和记录查询等功能模块。记录编辑功能完成学生成绩记录 编辑和记录查询功能。记录查询功能可以对数据各分类的记录进行查询 3 三、概要设计三、概要设计 1)流程图示 4 开始开始 结束结束 选择操作选择操作 输入数据输入数据 排序排序 显示数据显示数据 查询查询 删除删除 主菜单主菜单 插入数据插入数据 退出系统退出系统 按学号按学号 按姓名按姓名 保存数据保存数据 吧吧 按平均成绩按平均成绩 选择选择 7 7 选择选择 6 6 选择选择 5 5 选择选择 4 4 选择选择 3 3 选择选择 2 2 选择选择 1 1 选择选择 8 8 按平均成绩按平均成绩 读取数据读取数据 吧吧 选择选择 8 8 班级班级 学号学号 性别性别 姓名姓名 2)设计内容 1.数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信 5 息; 2.数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改 其选修课程信息; 3.数据的插入:插入某个学生信息; 4.数据的查询:如按学号查询、按姓名查询等; 5.数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信 息; 6.平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩 从高到低的次序输出学生信息; 7.成绩在 90 分以上(含 90 分)且总分在前五名的学生情况: 统计数据 四、详细设计四、详细设计 1数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。 实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入, 选修课程数量亦然。 /*录入学生信息*/ void AddInfo () system (“cls“); Student *L; InitList (L); ReadInfo (L); Student *s, *p, *q; s = new Student; while (1) cout s-num; p = L-next; while (p != NULL) if (p = NULL) 6 cout s-name; cout s-score0; cout s-score1; cout s-score2; cout s-score3; break; else cout next != NULL) cout next = q-next; q-next = s; SaveInfo (L); cout n; Student *p = L-next; while (p != NULL) if (p = NULL) cout p-score0; cout p-score1; cout p-score2; cout p-score3; SaveInfo (L); cout s; if (!infile.eof () r-next = s; r = s; r-next = NULL; infile.close (); /*显示全班学生信息*/ void DisplayInfo () system (“cls“); Student *L; InitList (L); ReadInfo (L); Student *p = L-next; cout next; system (“pause“); 5数据删除:数据删除的主要功能是在数据录入、数据插入和数据修改完成之 后对无用数据进行删除,实现:输入学号,满足条件时即把后一个数值赋给前 一个数值,达到删除的目的。 /*删除学生信息*/ void DeleteInfo () system (“cls“); Student *L; InitList (L); ReadInfo (L); cout n; Student *p = L, *q = p-next; while (q != NULL) q = q-next; if (q = NULL) cout next = q-next; delete q; SaveInfo (L); cout scorei; s-total = sum; s-average = s-total / 4; 7成绩在 90 分以上(含 90 分)且总分在前五名的学生情况,包括:学号、各 科成绩、平均分和总分。 /*显示前五名且至少有科高于 90 的学生信息*/ void Display () system (“cls“); Student *L; InitList (L); ReadInfo (L); cout next; int i = 1; while (p != NULL) i+; 11 system (“pause“); 8.数据保存 /*保存文件*/ void SaveInfo (Student *L) Student *p = L-next; ofstream outfile (“student.txt“, ios:out); while (p != NULL) outfile next; outfile.close (); 五、测试数据及其结果分析五、测试数据及其结果分析 1.系统首页 2.录入信息 12 3.修改信息 4.删除信息 13 5.显示全部信息(平均分、总分、排名) 6.前五名信息 14 六、调试过程中的问题六、调试过程中的问题 1.程序虽然能运行,但还存在一定的问题,比如正在输入一个学生的信息, 在输入还未结束时,不能退出; 2.没有对输入数据进行严格的判定,比如成绩应该=0 并=100,学号只能 由数字 0-9 组成,姓名中不能包括特殊字符等; 3. 应该先做用户判定,是否是管理员,为软件设定一个开启密码,开启后 才能使用完整功能 七、程序设计总结七、程序设计总结 通过本次程序设计,我觉得对自己提高很大:克服了的偷懒的毛病, 这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了 编程是一项非常烦琐周密的活动,他不但需要一个人周密的思考问题的能 力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半 点马虎。 15 通过本次程序设计,我初步学会了论文设计的基本方法,学会了怎样 去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能 力,这为以后的大学毕业设计论文打下了一个初步的基础使我收益最大的 是享受到了一种成功的喜悦,在这两个星期之中从

温馨提示

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

评论

0/150

提交评论