学生成绩记录簿设计说明

合集下载

学生成绩单模板

学生成绩单模板

学生成绩单模板一、介绍学生成绩单是学校用来记录学生学业成绩的重要文件。

它不仅反映了学生在各个学科上的表现,还可以作为学生评价、奖励、报考和升学等方面的依据。

为了方便学校和教师记录、管理和分析学生成绩,设计一个规范且易于使用的学生成绩单模板尤为重要。

二、学生成绩单模板的设计要求设计一个合理的学生成绩单模板需要考虑以下几个方面的要求:1. 界面清晰:学生成绩单模板的界面应该简洁、清晰明了,使教师和学生能够快速获取相关信息。

2. 可扩展性:学生成绩单模板应该具有一定的可扩展性,能够适应不同年级、班级和学科的需求。

3. 数据完整性:学生成绩单模板应该包含全面的学生成绩信息,包括学生基本信息、各科成绩、平均成绩、综合评价等。

4. 可打印性:学生成绩单模板应该具备良好的打印性能,可以方便地打印成绩单供学校、教师和家长查阅。

5. 数据安全性:学生成绩单模板应该具备一定的数据安全性,确保学生成绩信息不会被非法获取或篡改。

三、学生成绩单模板的内容一个完整的学生成绩单模板应该包括以下内容:1. 学生基本信息:学生成绩单模板应该包含学生的姓名、性别、年级、班级等基本信息,这些信息用于区分不同学生。

2. 各科成绩:学生成绩单模板应该列出学生在各个学科上的具体成绩,如语文、数学、英语、物理、化学等。

3. 平均成绩:学生成绩单模板应该计算并展示学生的平均成绩,可以是各科成绩的平均值,也可以是加权平均值。

4. 综合评价:学生成绩单模板应该对学生的学业表现进行综合评价,如优秀、良好、一般、较差等。

5. 签字栏:学生成绩单模板应该留有教师、家长和学生的签字栏,用于确认成绩的真实性。

四、学生成绩单模板的实现设计和实现一个学生成绩单模板可以采用多种方式。

以下是其中三种常用的实现方式:1. Excel表格:使用Excel软件设计一个表格,设置合适的格式和公式,通过填充数据来生成学生成绩单。

2. Word文档:使用Word软件设计一个文档,设置合适的样式和字段,通过插入数据来生成学生成绩单。

初中成绩报告册模板

初中成绩报告册模板

初中成绩报告册模板背景介绍初中成绩报告册是介绍学生在学业上的表现的重要工具。

学校通常会在学期结束时,向学生家长分发这种报告册。

这种报告册不仅向家长展示学生成绩,而且向家长们提供了在孩子教育过程中的参考,促进了与老师、教育系统和家长之间的互动。

本模板旨在帮助教师快速准确地创建初中成绩报告册。

基本信息准备好完善的成绩信息之后,您可以按照下面的内容去填写报告册的每个字段:1.学生个人信息:包括学生姓名、班级、学号等基本信息。

2.学年学期:填写学年和学期的信息,例如2019年第一学期等等。

3.课程列表:列出学生该学期所学习的各个课程名称,如语文、数学、英语等。

每门课程的信息还可以包括课程学分、平时成绩、考试成绩等。

4.成绩分析:根据课程情况进行分析,并注明学生在具体科目上的优缺点。

5.综合评价:考虑到学生学习的全面性,必须对学生的综合表现进行评价。

成绩表格在填写成绩表格时,您需要注意以下的内容:1.表格应列出学生在每门课程中的详细成绩信息,包括考试成绩、平时成绩和总成绩等。

2.表格可以根据课程进行分页,每页显示一个课程的成绩。

3.表格中应该包含一个行为规范的栏目,用于记录学生在学期内的表现、考勤和行为。

4.如果学生有缺勤,您应在表格中进行注明或者在相关附页上进行说明。

下面是一个成绩表格例子:姓名语文数学英语社会科学行为规范总分张三76 81 85 65 70 良好73.4李四80 87 89 77 82 优秀85.0王五73 79 82 88 85 优秀81.4赵六85 90 93 79 83 良好87.2成绩分析与综合评价在填写成绩分析和综合评价时应注意以下内容:1.成绩分析应考虑学生在每门课程中的成绩表现和优劣点,以及可能的原因。

2.在综合评价中,您可以考虑以下方面:学生在学期内的表现、出现问题的频率、在活动中的参与度、对学习提出的问题、学习计划和目标等。

3.在综合评价中,您还可以对学生进行肯定和鼓励,帮助他们改善和坚持对学习的兴趣。

成绩报告单底面封底设计

成绩报告单底面封底设计

成绩报告单底面封底设计引言成绩报告单是评估学生学习成果的重要工具。

除了详细记录学生在各科目上的表现外,成绩报告单的底面封底设计也扮演着提供信息、激励学生的作用。

在设计底面封底时,我们应该考虑到信息传达的效果、激励学生的积极因素以及可视化的元素,以创造一个鼓舞人心、引人注目的设计。

信息传达的效果首先,底面封底应该清楚地传达相关的学生信息,以便家长和学生能够直观地了解学生的学习情况。

这些信息包括学生的姓名、学校、班级、年级、学期以及教师的评价等。

这些基本信息应该以统一、整齐的方式呈现,使读者一目了然。

其次,底面封底还应包含学生在各科目上的具体成绩和综合评价。

我们可以使用彩色的图表或图示,以直观的方式呈现不同科目的成绩。

综合评价可以用简洁的词语概括,如“优秀”、“良好”、“一般”等,以便家长和学生能够快速地了解学生在不同科目上的表现。

激励学生的积极因素除了传达信息外,底面封底还应该具有激励学生提高的作用。

我们可以通过在封底上设置一些鼓励的语言或图案来激发学生的积极性。

一些可能的设计包括:鼓励语句、奖状、金牌等。

这些积极的因素将激励学生在未来的学习中继续努力,以获得更好的成绩。

可视化的元素为了增加底面封底的吸引力和可读性,我们可以使用一些可视化的元素来补充文字信息。

这些元素可以是图表、图示、插图等,以帮助读者直观地理解学生的成绩情况。

同时,合适的颜色搭配也可以增加整个底面封底的美观度。

另外,我们可以考虑利用当今流行的科技手段,如扫码等,为底面封底增加互动的元素。

学生和家长可以通过扫描二维码,获得更多的学生信息,或者参与学校相关活动。

这样的设计不仅增加了底面封底的趣味性,也加强了学校与家庭之间的沟通和联络。

结论在设计成绩报告单底面封底时,我们应该充分考虑信息传达的效果、激励学生的积极因素以及可视化的元素。

一个鼓舞人心、引人注目的设计能够激发学生的积极性、提供必要的信息,并增强学校与家庭之间的互动。

通过不断改进和创新,我们可以为学生提供一个更加综合、有趣的成绩报告单底面封底设计。

学生成绩记录簿簿设计

学生成绩记录簿簿设计

适用文档课程设计(大作业)报告课程名称:程序设计基础设计题目:学生成绩记录簿设计院系:信息技术学院班级:xx设计者:xx学号:xx指导教师:xx设计时间:xx信息技术学院文案大全适用文档昆明学院课程设计(大作业)任务书姓名:xx 院(系):信息技术学院专业:计算机科学与技术学号:xx任务起止日期:xx课程设计题目:学生成绩记录簿课程设计要求:编制一个C语言成绩记录簿,每个学生信息包含:学号、姓名、C语言成绩。

详细功能:1.系统以菜单方式工作;创立学生成绩信息并以磁盘文件保留;读取磁盘文件并显示输出所有学生的成绩;查问学生成绩;1)按学号查问成绩;2)学号姓名查问成绩;5.改正指定姓名或学号的学生的成绩并可存盘;6.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。

工作计划及安排:礼拜一:老师的大概解说及主函数、目录函数的编写和调试;礼拜二:创立学生信息、输出学生信息和改正学生信息的函数编写及调试;礼拜三:学生信息查问、学生成绩分段和学生成绩排序的函数编写及调试;礼拜四:整个函数的最后调试,课程设计(大作业)报告的书写;礼拜五:辩论。

指导教师署名年月日文案大全适用文档课程设计(大作业)成绩学号:xx 姓名:xx 指导教师:xx课程设计题目:学生成绩记录簿设计总结:经过此次的课程设计,增添了我对学习C语言学习的兴趣,固然还不是真实的理解所有的C语言的子函数和里面的一些逻辑次序,但我从C语言这门课程开始,已经发现程序设计的乐趣,在学习C语言的过程中也学到了很多计算机应用基础知识,对计算机的运转也有一个大概的认识。

此次课程设计经过老师的解说,自己的查找,在网上的搜寻,实现题目上的要求,先做出一些简单的函数和程序,一步步的在做出其余的内容,可是在实质操作过程中犯得一些错误也仍是会获得一些不测的收获。

在详细的操作中,对这学期的C语言的理论知识获得稳固,在设计的过程中也发现自己的不足之处,在此后的学习和上机的操作中会更为注意,同时领会到C语言的简短和灵巧。

学生成绩条制作

学生成绩条制作

学生成绩条制作指南
一、目的
本指南旨在为学生成绩条制作提供详细的说明,确保成绩条的准确性和完整性,以便于学生、家长和学校对学生的学习情况进行全面了解。

二、学生信息
学生姓名:填写学生的真实姓名,以示尊重和正式。

学号:填写学生的唯一学号,方便识别和记录。

三、课程信息
课程名称:填写课程名称,以明确学生的学习内容。

四、成绩信息
成绩等级:根据学生的考试成绩,确定成绩等级,如优秀、良好、及格等。

考试时间:填写考试的具体时间,以了解学生成绩是在何时获得的。

授课老师:填写负责该课程的授课老师姓名,以便对成绩进行解释和确认。

评分标准:详细说明成绩评定的标准和方法,以便学生和家长对成绩有更全面的了解。

考试总结:对学生的考试情况进行总结,包括优点、不足和改进建议等。

成绩复核:允许学生对自己的成绩进行复核,以确保成
绩的准确性。

备注信息:根据需要,可以在成绩条上添加其他相关信息,如特殊情况说明等。

五、制作要求
准确:确保所有信息的准确性,特别是成绩等级和评分标准。

清晰:使用简洁明了的语言,避免使用过于复杂的术语或缩写。

规范:按照统一的格式和标准进行制作,以保持一致性。

完整:确保所有必要的信息都已填写完整,没有遗漏。

保密:尊重学生的隐私权,不得随意泄露学生个人信息。

c语言课程设计学生成绩记录簿

c语言课程设计学生成绩记录簿

目录1题目要求 (1)2设计思想 (2)3系统完成功能及框架图 (3)4界面设计 (4)5核心算法及说明 (5)6结论 (11)7参考资料 (12)8后记 (13)9附录 (14)题目要求《学生成绩记录薄》是一个操作比较简单,功能相对齐全,适合于各单科教师记录并分析学生成绩的小程序。

该程序主要功能是登记学生考试成绩,并可以查询、修改,还可以显示全部学生成绩,同时能显示学生各分数段成绩。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出60分以下、60~69、70~79、80~89、90分以上各分数段的学生信息。

本人增加的功能:(1)删除学生记录(2)对学生成绩进行排序设计思想此课题是设计一个学生成绩记录薄,以帮助老师储存以及全方位的了解学生的考试成绩。

因此实际需要设计的模块有:输入学生成绩模块,查询模块,修改模块,显示全部成绩模块,显示分段成绩模块,排序模块,删除记录模块,文件保存模块。

1.主函数模块:用switch语句把各模块连在一起。

2.输入学生成绩模块:用于添加学生成绩的记录,如果输入0则跳出该模块函数。

1为继续输入。

3.查询记录模块:用于查找已经记录在案的学生记录,系统提供有两种查找方法:按学号或姓名,选择其中任一种均可找到以需要找的记录。

如果记录不存在,系统会做提醒,4.修改记录模块:用于修改在案同学的记录,如果文件为空,系统会提醒记录不存在,输入学号,系统找到与他匹配的记录,然后输入正确记录并进行保存。

5.全部显示模块:用于显示全部在案记录,用一个for循环,就可实现。

6排序模块:用于对学生成绩进行排序,用冒泡排序可解决。

7.分段显示模块:用于显示各个分数段的学生记录,这里用if循环语句实现的。

8.文件保存模块:用于将表上的所有记录保存到文件中。

c语言学生成绩记录簿

c语言学生成绩记录簿

C语言学生成绩记录簿一、引言学生成绩的记录与管理是学校教育工作的重要环节。

为了便于教师和学生对学生成绩进行及时、准确的统计和分析,开发一个C语言学生成绩记录簿是非常必要的。

本文将详细介绍该学生成绩记录簿的设计和实现。

二、需求分析2.1 学生信息管理在学生成绩记录簿中,首先需要实现学生信息的管理。

每个学生的信息包括学号、姓名、性别、年龄等基本信息。

为了方便查询和排序,还需要提供按学号和姓名进行查询的功能。

2.2 课程信息管理除学生信息外,还需要管理课程信息。

每门课程包括课程编号、课程名称和学分等基本信息。

同样地,为了方便查询和排序,也需要提供按课程编号和课程名称进行查询的功能。

2.3 学生成绩录入学生成绩录入是学生成绩记录簿的核心功能。

每个学生的成绩包括学号、课程编号和成绩等信息。

成绩信息的录入应具备以下特点:•提供学号和课程编号的输入框,保证输入的学生和课程有效存在。

•提供合法的成绩输入框,只接受0-100之间的整数或浮点数。

•录入的成绩会自动计算对应学生的平均成绩,并显示在学生信息中。

2.4 成绩查询与分析学生成绩记录簿还应提供按照学号、课程编号以及各种组合条件进行成绩查询的功能。

此外,还需要统计并展示每门课程的最高分、最低分、平均分以及及格人数等分析结果。

2.5 数据存储为了保证数据的持久性,学生成绩记录簿需要提供数据存储的功能。

可以使用文件方式将学生信息、课程信息和成绩信息保存在磁盘上。

同时,还需要提供载入数据和保存数据的功能,以便在程序启动和关闭时进行数据的读取和保存。

三、设计与实现3.1 学生信息管理模块3.1.1 添加学生信息根据用户输入的学生信息,创建一个学生对象,并将其存储在学生信息集合中。

3.1.2 修改学生信息根据用户输入的学号,查找对应的学生对象,并提供修改学生信息的选项。

用户可以修改学生的姓名、性别、年龄等信息。

3.1.3 删除学生信息根据用户输入的学号,从学生信息集合中移除对应的学生对象。

学生成绩登记表

学生成绩登记表

学生成绩登记表学生成绩登记表是一份对学校学生进行成绩汇总的数据表格,是学校进行学生成绩管理的基础文件之一。

它包含了学生姓名、考试科目、考试成绩等信息,是学校对学生成绩统计汇总、排名分析、获奖评选等重要工作的重要依据。

下面将从学生成绩登记表的作用、制作方法、注意事项以及应用场景等方面进行详细介绍。

一、学生成绩登记表的作用学生成绩登记表是一份重要的数据表格,它的作用主要表现在以下几个方面:1.作为学生成绩的统计和汇总依据,方便教师对学生的考试情况进行分析、统计和评估,进行有针对性的教育和指导。

2.作为学校进行成绩排名、获奖评选等工作的重要依据。

3.方便学生和家长了解学生考试成绩,有利于学生和家长了解学生的学习情况,及时处理存在的问题。

二、学生成绩登记表的制作方法学生成绩登记表的制作方法需要注意以下几点:1.表格的结构:表格需要清晰明了,结构合理。

一般以学生姓名、考试时间、考试科目、考试成绩等为主要内容,考试科目栏目可以根据学生所属班级和所选课程来设计。

2.表格的样式:表格的样式需要注重简洁、规范、统一,需要符合学校的要求和规定。

3.内容的填写:表格内容的填写需要注意准确性,学生姓名、考试科目和成绩等信息需要清晰、准确地填写,不得出现错误,以免影响学生成绩的真实性。

4.表格的更新:表格需要随时更新,及时记录学生考试成绩,保证数据的准确性和完整性。

三、学生成绩登记表的注意事项学生成绩登记表的制作过程需要注意以下几点:1.保密性:学生成绩登记表属于教育管理范畴,需要保证学生考试成绩的保密性,不得泄露给第三方。

2.准确性:学生成绩登记表是学校进行学生成绩管理和评估的重要文件,需要确保数据的真实准确性。

3.规范性:学生成绩登记表需要符合学校的要求和规定,需要严格按照规范填写、更新和存储。

4.实用性:学生成绩登记表需要满足实际使用的需求,为学校和教师提供有效的数据支持。

四、学生成绩登记表的应用场景学生成绩登记表主要应用于以下场景:1.教师进行学生考试成绩管理和分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第一章程序设计的目的和要求 (1)1.1课程设计的目的 (1)1.2课程设计的要求 (1)1.2.1程序设计报告的容要 (1)1.2.2 程序设计报告的质量要求 (2)第二章课程设计任务容 (3)2.1考核容 (3)2.1.1编写的C++语言程序 (3)2.1.2课程设计报告 (3)2.2课题 (3)第三章详细设计说明 (4)3.1函数说明 (4)3.2函数流程图 (5)3.3.1 主函数流程图 (5)3.3.2 子函数流程图 (5)3.3编码及调试 (7)第四章软件使用说明 (9)4.1应用程序运行环境的要求 (9)4.2应用程序功能的详细说明 (9)附录一:参考文献 (13)附录二:程序清单 (14)《程序设计基础》课程设计---学生成绩记录簿第一章程序设计的目的和要求1.1课程设计的目的1. C语言课程设计的主要目的是培养学生综合运用C语言程序设计课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。

2.通过课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。

3. C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。

1.2课程设计的要求1.2.1程序设计报告的容要求课程设计要求学生遵循软件开发过程中的基本规,运用结构化程序设计的方法,程序设计报告应该能够反映学生完成课程设计题目的全部情况,包括对课程设计题目要求的分析、应用程序的设计、程序的测试过程以及程序的运行情况等,因此,编写课程设计报告是课程设计一个不容忽视的重要环节。

一个高质量的课程设计报告应该满足下列条件:报告容完整、观点正确;层次清晰、语流畅、用词准确且无二义性;能够反映结构化程序设计方法的基本原则;绘制的所有图表规且正确。

用户文档是面向使用该应用程序的用户编写的,因此,应该将用户需要知道的所有容用简练、清晰的语言描述清楚。

下面是用户文档应该包含的主要容:(1)应用程序运行环境的要求;(2)应用程序功能的详细说明;(3)流程图;(4)代码及调试。

1.2.2 程序设计报告的质量要求一个高质量的课程设计报告应该满足下列条件:●报告容完整、观点正确;●层次清晰、语言流畅、用词准确且无二义性;●能够反映结构化程序设计方法的基本原则;●绘制的所有图表规且正确。

第二章课程设计任务容2.1考核容2.1.1编写的C++语言程序●针对编写的C++程序,应该主要考查下列容:●是否符合题目要求,是否完成了主要功能;●是否存在语法错误、逻辑错误及运行错误;●程序设计是否合理;●程序是否具有良好的可读性和可靠性;●是否符合结构化程序设计所倡导的基本理念;●用户界面是否友好。

2.1.2课程设计报告●针对提交的课程设计报告,应该主要考查下列容:●程序设计的报告容是否全面,观点是否正确;●设计过程是否符合结构化程序设计方法的基本原则;●层次是否清楚,语言是否通顺;●各种图表是否规;是否具有良好的程序设计习惯。

2.2课题设计一个学生成绩记录簿c++程序,该系统的主要功能如下:1)创建信息并以磁盘文件保存;2)读取磁盘文件并显示输出所有学生的成绩;3)按学号或查询成绩;4)添加成绩记录;5)修改指定或学号的学生的成绩并可存盘;6)显示输出60分以下、60-79、80-89、90分以上各分数段的学生信息;第三章详细设计说明3.1 函数说明Init () 初始化函数Create () 创建链表Delete (STUDENT) 删除记录Print(STUDENT *h) 显示所有记录Search(STUDENT *h)查找学生成绩Insert(STUDENT *h) 插入记录1.插入记录函数函数原型:int insert(STUDENT *h)功能:根据用户指定将信息插入特定位置参数:结构体数组和记录数要求:输入信息2.查找函数函数原型:int search()功能:根据用户需要输出记录参数:记录数组和记录成绩以及s要求:判断存中记录的名字与输入的是否相等,如果相等则输出,否则提前结束 3.删除记录函数函数原型:int delete(STUDENT *h)功能:删除存链表中的指定结点参数:记录数组和记录条数,成绩要求:给出相关信息3.2 函数流程图3.3.1 主函数流程图图3-1 函数主流程图3.3.2 子函数流程图如图3-2所示:图3-2流程图从表中删除原有纪录模块,算法,如图3-3所示:图3-3删除信息流程图按照查找纪录模块,算法,如图3-4所示:图3-4查找信息流程图按照删除记录模块,算法,如图3-5所示图3-5 修改信息流程图3.3 编码及调试在设计该程序的时候我采用了结构化程序方法编辑,并在源代码的基础上添加了中文注释,但是在该系统的编写过程中仍然有许多错误,主要的有:注释文字的排版,定义错误,句式的语法错误。

在完善程序时,我将源代码先打印下来反复的捉摸和研究,力图在上机运行时先改正一些低级错误,如缺少“;”之类。

在仔细检查之后,将源代码上机调试—进行编译,在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正……直到顺利显示我预期想得到程序效果。

具体调试过程如下:1、首先,在本次调试过程中我碰到了在上机前根本没有想到的错误:在注释的时候,注释文字应写在一起中间不能有中断,不能再其中包含c语言的语句。

否则会引起错误,例如格式不正确或是多了字符等。

2、缺少变量定义或是定义位置不正确;由于该程序相对来讲稍有些长,前后有些变量很难联系起来,但是在错误信息的提示下一般还是很是可以找到。

不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。

为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。

3、句式的语法错误;大多的语法错误在通过书本参考下能够修改。

主要是平时看书不仔细、不太注意而产生的。

如没有注意具体数据使用是有一定的围限定;过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;还有漏掉形参的定义是值不能传递等等。

这些语法错误有信息框的提示一般是能够排除的。

编译、连接的成功并不意味着程序的最终成功。

逻辑上的错误机器不易检查出来,这时需要对数据结果进行分析。

这种错误的查找是最难的,需要编程序的人有相当的耐心和细心去把问题找出来。

这也是本次程序编辑过程中碰到的最大的难题。

往往运行之后得不到另人满意的结果,此时解决的方法一则可以用“分段检查”的方法,在程序的不同位置设几个printf函数语句,输出有关变量的值,逐段往下检查,或用debug进行调试,对检查出的错误进行修改,当调试完毕将设置的printf都删去。

若在程序中找不到问题,则再来考虑算法是否逻辑严谨,再进行修改。

如此循环往复,直到最后程序运行成功。

在本次程序编辑过程中,我就是常遇到编译能通过,能够运行程序,但是总在输入、删除等操作完之后再想去看数据文件中存在的数据记录的时候,却一条记录也显示不出来,我怀疑是哪个对方对n变量的定义或使用出错了,于是在每个主要函数的操作过程中添加了printf语句用来显示n的变化,例如在执行某个函数前添加插入语句显示n的起始值,在执行完该个函数后再添加插入语句显示此时n的结果值,观察n的变化是否正确,如果错误了,也就说明该函数编写过程有错。

诸如这样的调试方法,不断缩小检查围,最后将错误找到,进行修改。

所以到最后我找到了错误,及时改正,终于把程序完成了,一切功能显示正常。

以上是调试的全过程。

第四章软件使用说明4.1 应用程序运行环境的要求程序运行的环境Win9X/Win2000/WinXP/Win20034.2 应用程序功能的详细说明步骤1:根据数字提示从1-5中选择要操作的功能,如图4-1所示:图4-1软件使用图示步骤2:按1键,会出现提示“插入信息”,按2,会出现“删除信息”,按3,“修改信息”,按4,会出现“查看信息”,按5,“保存”,按q键即可退出,如图4-2所示:图4-2软件使用图示步骤3:键入1回车,会出现提示“请输入要删除学生信息”,现在就可以删除学生信息,如图4-3所示:图4-3软件使用图示步骤4:键入2及Enter键,会出现提示“请输入要查找的学生信息”,然后根据提示将该学生的信息删除,如图4-4所示:图4-4软件使用图示第五章课程设计心得与体会在课程设计过程中,遇到了不少的问题。

这迫使我不得不参考一些课外资料,向同学和老师们请教。

不过,最后在我的努力和老师同学们的帮助下,还是把程序写出来了,这令我非常高兴。

但是在运行过程中又出现了问题。

一开始就出现了十几个错误,这令我的信心有所下降,有的错误我根本就不知道是啥意思,我就向同学以及上网查一下资料。

在经过几天的检查与修改后,终于能编译出来了,这又使得我非常高兴。

但是运行的结果不是很理想,没能够达到我预想的那样。

在运行出来之后,我有点不敢相信这是我通过努力做出来的,对于我这个编程新手,在课程设计中,刚开始真有点对自己失去信心,在硬着头皮的情况下,还是做出来了。

发现其实事情并不像刚开始自己想的那样。

现在回想起来好像就是开头克服自己最难了,这大概就是人们说的万事开头难。

附录一:参考文献[1] 谭浩强. C++程序设计. 清华大学.[2] 严蔚敏吴伟民. 数据结构(C语言版). 清华大学附录二:程序清单#include<iostream.h>#include<string.h>#include<stdlib.h>#include<conio.h>#include<fstream.h>class student{private:student* next;public:char stu_num[15]; //学号char stu_name[30]; //float stu_score ; //成绩/*在该节点后插入一个几点*/void afterInsert(student *p);/*在该节点后删除一个节点*/void afterDelete( );/*获得下一个节点的指针*/student *getNext(){return next;}/***********查询学生信息************/void getMage( );/******学生信息修改******/void changeMage(int n,char *ptr);void changegrade(float p);/******构造*****/student(char *num,char *name ,float score);student();};void student::changegrade(float p){stu_score=p;}student::student() //构造{strcpy(stu_num,"\0");strcpy(stu_name,"\0");stu_score=0;next='\0';}///*********************构造//student::student(char *num,char *name, float score) {strcpy(stu_num,num);strcpy(stu_name,name);stu_score=score;next='\0';}void student::afterInsert(student *p)//插入节点{p->next=next;next=p;}void student::afterDelete( ) //删除节点{student *p=next;next=p->next;delete p;}void student::getMage() //获得信息{cout<<"学号:"<<stu_num <<" :"<<stu_name; cout<< " c++成绩:"<<stu_score<<endl;}void student::changeMage(int n,char *ptr){switch(n){case 1: strcpy(stu_num,ptr);break;case 2: strcpy(stu_name,ptr);}}//建立链表函数void construct_list(student *tail){student *p=new student;char very[20];float achieve;cout<<"请输入学号:"<<endl;cin>>very;p->changeMage(1,very);cout<<"请输入:"<<endl;cin>>very;p->changeMage(2,very);cout<<"请输入c++成绩:"<<endl;cin>>achieve;p->changegrade(achieve);system("cls");cout<<"信息输入完毕"<<endl;for(;tail->getNext()!='\0';) tail=tail->getNext();tail->afterInsert(p);}/*********查询信息*********/student *findmege(student *head ){loop:cout<<"1--按查询 2--按学号查询 q--返回上一级菜单"<<endl;char p[5],ptr[20];student *mid=head;cin>>p;if(p[0]!='1'&&p[0]!='2'&&p[0]!='q'||strlen(p)>1){system("cls");cout<<"对不起,你的输入有误,请重新输入!"<<endl;goto loop;}switch(p[0]){case '1':{system("cls");cout<<"请输入要查找:"<<endl;cin>>ptr;for(;strcmp(ptr,mid->stu_name)!=0;mid=mid->getNext())if(mid->getNext()=='\0'){cout<<"对不起,你要查找的人不存在,请确认你的输入是否正确!"<<endl; goto loop;}return mid;}case '2':{system("cls");cout<<"请输入您要查找的学号:"<<endl;cin>>ptr;for(;strcmp(ptr,mid->stu_num)!=0;mid=mid->getNext())if(mid->getNext()=='\0'){cout<<"对不起,您要查找的容不存在,请确认您的输入是否正确!"<<endl; goto loop;}return mid;}case 'q': return '\0';default:{system("cls");cout<<"对不起,您的输入有误,请重新输入!"<<endl;goto loop;}}}/******************删除链表节点***********************/void delete_list(student *head){student *p='\0';char selet[4];system("cls");cout<<"在删除前,系统会根据您的提示找到您要删除的学生信息!"<<endl;p=findmege(head);if(p!='\0'){cout<<"确认要删除吗(yes/任意键返回)"<<endl;cin>>selet;if(strcmp(selet,"yes")==0){for(;head->getNext()!=p;head=head->getNext());head->afterDelete();system("cls");cout<<"该信息删除成功!"<<endl;}}}/*******************修改节点信息********************/void change_info(student *head){system("cls");cout<<"在您修改前,系统会根据您提供的信息找的您要修改的信息:"<<endl; student *p='\0';float achieve;p=findmege(head);if(p!='\0'){cout<<"请输入c++成绩:"<<endl;cin>>achieve;p->changegrade(achieve);system("cls");cout<<"修改成功"<<endl;}}/**************输出学生成绩信息**************/void output(student *head){system("cls");cout<<"1-查看指定学生信息;2-查看所有学生信息;3-分段输出学生信息"<<endl; char ch;int n=0;head=head->getNext();cin>>ch;switch(ch){case '1': head=findmege(head);if(head=='\0') break;head->getMage();break;case '2': while(head){head->getMage();head=head->getNext();}break;case '3': cout<<"a-60分以下;b-60~70分之间;c-70~80分之间;d-80~90分之间;e-90~100分之间:"<<endl;cin>>ch;switch(ch){case 'a': while(head){if(head->stu_score<=60) {head->getMage();n++;}head=head->getNext();}break;case 'b': while(head){if(head->stu_score>60&&head->stu_score<=70) {head->getMage();n++;} head=head->getNext();}break;case 'c': while(head){if(head->stu_score>70&&head->stu_score<=80) {head->getMage();n++;} head=head->getNext();}break;case 'd': while(head){if(head->stu_score>80&&head->stu_score<=90) {head->getMage();n++;} head=head->getNext();}break;case 'e': while(head){if(head->stu_score>90&&head->stu_score<=100){head->getMage();n++;}head=head->getNext();}}if(n==0) cout<<"该分段没有您要找的学生信息"<<endl;}}/*****************主菜单************************/void mainmenu(student *head){char selet[10];int n=1;ofstream outfile ;ifstream infile ;student *p,*ptr ;student *test=head,*mid ;cout<<"*************************欢迎进入学生信息管理系统*************************"<<endl;do{cout<<"******************************************************************** ******"<<endl;cout<<"1 插入信息; 2 删除信息; 3 修改信息; 4 查看信息; 5 保存"<<endl;cout<<"q键退出 "<<endl;cout<<"******************************************************************** ******"<<endl;cin>>selet;if(((selet[0]<'1'||selet[0]>'6')&&selet[0]!='q')||strlen(selet)>1){system("cls");cout<<"您的输入有误,请重新输入!"<<endl;break;}switch(selet[0]){case '1':output(head);break;case '2': delete_list(head);break;case '3': change_info(head);break;case '4': construct_list(head);break;case '5': outfile.open("students.txt", ios::out|ios::app); for(p=head->getNext();p!='\0';p=p->getNext()){outfile<< p->stu_name <<' ';outfile<< p->stu_num <<' ';outfile<< p->stu_score <<' ';outfile<<endl;}outfile.close();system("cls");cout<<"保存成功!"<<endl;break;case 'q': break;}}while(selet[0]!='q');}void main(){student head ; mainmenu(&head); }。

相关文档
最新文档