c++实现学籍信息管理系统实训报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实训任务书一、题目1、电话簿管理系统2、商品销售管理系统3、基于内存的学籍管理系统(以windows系统实现为主,尝试Linux平台下的程序实现)二、实训的性质和任务1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。2、培养和训练学生综合利用所学基本知识和基本技能进行小型应用程序开发的技能。3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。三、实训的基本要求通过本次实训,学生应达到以下几个方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。2、知识要求熟练账务C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。3、能力要求学生应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。四、实训内容及要求天/日期任务描述通过标准第1天说明系统功能,明确课题任务与涉及的要求、分配具体的任务。分析实训内容,讲解相关知识,引导学生入门。学生理解题目第2天学生具体分析第一个实训题目,明确思路和任务,并可以查询相关书籍、资料,设计出每一个模块的流程图;理解并设计相关的数据类型定义。画出相关流程图第3天编写printheader()、printdata()两个函数代码通过第4天编写Disp()、stringinput()两个函数代码通过第5天编写Locate()、Add()两个函数,完成定位和添加功能代码通过第6天编写Quran()、Del()两个函数,完成查询和删除功能代码通过第7天编写Insert()、Modify()函数,实现插入和修改功能代码通过第8天编写Save()、SelectSort()两个函数,实现存盘和排序功能同上第9天编写函数main()函数,整合前面的功能模块,完成整个系成功运行系统统第10天答辩按照要求完成任务,阐述清楚。第11天撰写实训报告格式满足相关文档要求五、考核指标及成绩评定实训成绩由下面构成:平时成绩(10%)+作品(70%)+实训报告(20%)=总评成绩作品成绩评定标准:1、全部完成90-1002、主要功能完成70-903、部分功能完成60-704、少部分完成40-605、几乎没做0-40完成期限:年月日指导教师签章:专业负责人签章:教学院长签章年月日目录1实训简介1.1实训任务1.2题目介绍1.3主要内容1.4基本要求2整体设计流程2.1整体设计思路2.2设计流程2.3包含的模块3详细设计以及设计的实现3.1.录入信息模块的设计与实现3.2.输出信息的设计与实现3.3.修改信息模块的设计与实现3.4.插入信息的设计与实现3.5查询信息的设计与实现3.6排序信息的设计与实现3.7删除信息的设计与实现4总结5参考文献6附录(源代码)1正文1实训简介1.1实训任务对程序设计的基本知识与基本技能有进一步的掌握,能用基本的语言以自己的逻辑实现自定义的功能来进行小型应用程序开发。通过本次实训培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。1.2题目介绍设计一个基于线性顺序排列的vector动态数组的学生学籍管理系统,能实现对学生信息进行录入,增加,修改,删除,查询,插入,排序和输出等基本操作。1.3主要内容管理系统应该实现以下功能:1、能录入学生的基本信息,包括学号,姓名,性别,年龄,院系,高数成绩,大英成绩,专业课成绩。2、能在屏幕上以列表的方式输出所有学生的信息3、能以文件形式保存学生信息。4、能批量增加学生信息与插入任意位置学生信息5、能根据输入的学号从动态数组中删除学生的记录。6、能根据输入的学号查询学生,并进行任意各项信息或者整体信息的修改。7、能实现排序功能,根据计算得出的平均成绩以降序排序。1.4基本要求1.素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。2.知识要求熟悉C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。23.能力要求学生应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。2整体设计流程2.1整体设计思路32.2设计流程2.2.1需求分析阶段:1、能录入学生的基本信息,包括学号,姓名,性别,年龄,院系,高数成绩,大英成绩,专业课成绩。2、能在屏幕上以列表的方式输出所有学生的信息3、能以文件形式保存学生信息。4、能批量增加学生信息与插入任意位置学生信息5、能根据输入的学号从动态数组中删除学生的记录。6、能根据输入的学号查询学生,并进行任意各项信息或者整体信息的修改。7、能实现排序功能,根据计算得出的平均成绩以降序排序2.2.2逻辑设计阶段1、创建学生个体类classstudent(),以vector动态数组存储学生对象信息,2、定义能对学生信息数据操作的增删改查等方法。3、在main()中调用定义的各种方法进行功能的实现。2.3包含的模块根据项目的开发要求,本系统划分成六个主要功能模块:录入学生信息模块、修改学生信息模块、输出学生信息模块、删除学生信息模块、查询学生信息模块、插入学生信息模块。系统功能机构图如下:4学籍管理系统排序学生信息查询学生信息插入学生信息删除学生信息输出学生信息录入学生信息屏幕列表打印存到文本文件修改学生信息任选一项修改直接修改全部52详细设计以及设计的实现主函数设计:123456789YN接收用户选择choose开始浏览学生信息保存学生信息增加学生信息删除学生信息修改学生信息查询学生信息排序平均成绩Choose!=1-9显示主菜单创建学生信息插入学生信息结束63.1.录入学生信息模块的设计基本逻辑:1.通过stringinput()中的cin实现从键盘读入数据赋值操作以及如何计算平均成绩。2.通过create()中的count实现屏幕上的请以以下顺序输入信息(共9个),以空格或回车隔开学号,姓名,性别,年龄,院系,高数,大英,专业课,并调用stringinput()方法实现学生信息的录入。效果展示:3.2.输出学生信息模块的设计1.从屏幕上展示学生信息基本逻辑:通过printheader()与printdata()定义在屏幕上分别打印出学生信息列表的表头以及表中各项数据。然后通过disp()调用以上两个函数实现输出。效果展示:2.保存到文件中输出学生信息7基本逻辑:在save()方法中利用c++中的ofstream文件输出流来实现将学生信息写入到指定路径的文本数据中。效果展示:3.3.修改学生信息模块的设计基本逻辑图:8效果展示:3.4.添加学生信息模块的设计1.指定位置插入学生信息逻辑图:效果展示:92.直接增加一条学生数据逻辑图:效果图:10、3.5.查询学生信息模块的设计逻辑图:return;}}cout未找到该学号,查询失败!endl;}效果展示:113.6.排序学生信息模块的设计基本逻辑:在selectSort()函数中遍历vector对象student,并比较其average字段,使成绩按照升序排列。效果展示:3.7.删除学生信息模块的设计效果展示:124总结本系统在VisualStudio2010下编译调试通过,可顺利运行,各项功能达到设计要求。本系统程序由一个.h头文件和一个.cpp源文件构成。采用分模块的方法进行编译,即完成一个函数功能模块就编译一个功能模块,最后再进行整体编译并产生可执行文件de.exe。5参考文献[1]杨路明,C语言程序设计教程.北京:北京邮电大学出版社,2005(2009.7重印)[2]谭浩强,C++程序设计.北京:清华大学出版社,2004.6[3]杨路明,C语言程序设计上机指导与习题选解.北京:北京邮电大学出版社,20056附录(源代码)Student.h#ifndefVECTOR#defineVECTOR#includevectorusingnamespacestd;#endifclassstudent{charstu_id[20];charname[10];chardepartment[20];charsex[3];shortage;floatpoint_math;floatpoint_english;floatpoint_program;doubleaverage;public:staticvoidprintheader();voidstringinput();13voidprintdata();friendbooloperator==(conststudent&,conststudent&);friendclassstudents;};classstudents{vectorstudentmark;public:voidcreate();voiddisp();voidsave();voidinsert();voidadd();voiddel();voidmodify();voidquran();voidselectSort();};voidinit(students&);Student.cpp#includestudent.h#ifndefVECTOR#includevectorusingnamespacestd;#endif#includeiostream#includefstream#includeiomanip#includecstring#includestringvoidstudent::printheader(){coutsetw(10)学号setw(8)姓名setw(8)性别setw(8)年龄setw(8)院系setw(8)高数setw(8)大英14setw(9)专业课setw(8)平均endl;}voidstudent::stringinput(){cinthis-stu_idthis-namethis-sexthis-agethis-departmentthis-point_maththis-point_englishthis-point_program;this-average=(this-point_math+this-point_english+this-point_program)/3.0;}voidstudent::printdata(){coutsetw(8)this-stu_idsetw(10)this-namesetw(8)this-sexsetw(8)this-agesetw(8)this-departmentsetw(8)this-point_mathsetw(8)this-point_englishsetw(8)this-point_programsetw(8)this-averageendl;}booloperator==(conststudent&s1,conststudent&s2){if(s1.stu_id==s2.stu_

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功