1、c+课程设计说明书学校代码: 10128学 号: 200920201069课程设计说明书题 目: 学生信息管理系统学生姓名: 董婷婷学 院: 信息工程学院班 级: 计09-2班指导教师: 邢红梅 讲师 吕 岩 讲师 关玉欣 讲师 2011 年 7 月 8 日内蒙古工业大学课程设计(论文)任务书课程名称: 面向对象程序设计课程设计 学院: 信息工程学院 班级: 计算机09-2班 学生姓名:董婷婷 _ 学号: 200920201069 指导教师: 邢红梅、吕岩、关玉欣 一、题目学生信息管理系统二、目的与意义面向对象程序设计课程设计课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练
2、可以使学生进一步理解和掌握面向对象程序设计课程的基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及 C+的编程思想来完成系统设计的能力。三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等) 1. 要求利用面向对象的方法以及C+的编程思想来完成系统的设计;2. 要求在设计的过程中,建立清晰的类层次;3. 在系统中至少要定义一个类,类中要有各自的属性和方法;4. 在系统的设计中,至少要用到面向对象的一种机制。四、工作内容、进度安排 1. 根据课程设计的要求,确定设计题目;(0.5天)2. 查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)3. 进
3、行应用程序的界面设计和源程序代码的编写;(2.5天)4. 设计说明书的撰写、答辩(1.5天)五、主要参考文献1C+语言程序设计(第三版),郑莉,清华大学出版社,20042C+程序设计教程,钱能主编,清华大学出版社,1999.43C+程序设计课程设计,刘振安,机械工业出版社,2004.8审核意见系(教研室)主任(签字) 指导教师下达时间 2011年 7月 4日指导教师签字:_目录第一章 总体功能介绍 31.1功能介绍 31.11 总体设计方案 41.12功能图 51.2类的设计 5第二章 各功能模块的具体实现 621创建学生信息 622 添加学生信息 723 删除学生信息 824修改学生信息 9
4、25 查询学生信息 10251 按学号查询学生信息 10252 按姓名查询学生信息 1026 显示学生信息 1127 保存学生信息 1128 导入学生信息 12第三章 调试及运行结果 1231创建学生信息 1232添加学生信息 1333 删除学生信息 1434修改学生信息 1435查询学生信息 15第四章 总结 16参考文献 17第一章 总体功能介绍1.1功能介绍在该C+课程设计中我选择的课题是学生信息管理系统,编写一个学生信息管理程序,学生信息的组成部分应该有学号、姓名、性别、政治面貌和家庭住址等,该系统应该实现学生消息的创建、添加、删除、修改、多种模式查询、显示信息、及数据的导入与保存等功
5、能。并应用了类实现函数。在学生信息系统上实现学生信息的创建,我主要的是创建学生的姓名、性别、政治面貌、家庭住址,学生学号以自动生成实现学生信息的添加功能以for循环实现了学生信息的添加。学生信息删除模块上,我使用了for循环和if语句实现了学生信息的删除,在该模块中需要注意数组的使用,以为数组是从零开始的。学生信息的修改功能,通过for循环找到要修改的学生信息,并用if语句实现了修改。学生信息的查询功能,在该功能上我用了两种查询方法:1.按学号查询 2.按姓名查询,但是两种查询方式的思想是一样的,倒是通过for循环找到所要的信息。学生信息的显示,通过for循环调用output函数实现。学生信息
6、的调入与保存,在该模块上应用ofstream及ifstream实现在文件中的保存及导入。1.11 总体设计方案1.12功能图1.2类的设计Student-sex:char-id5:char-politic6:char+name20:char+num:int+Student()+Student(p:Student&)+input():void+output():void+addstu():void+revise():void图1.2学生信息管理系统的Student类的UML图第二章 各功能模块的具体实现21创建学生信息void Student:input() /创建学生信息函数的实现 coutn
7、ame; coutsex; coutid; coutpolitic;Void main()Student b100; int n,i,stunum; cout录入学生信息:endl; cout录入学生的人数:n; b0.num=1; b0.input(); coutnn学生信息1) for(i=1;in;i+) bi.num=bi-1.num+1; bi.input(); coutnn学生信息endl; bi.output(); 22 添加学生信息case 1: int addstu; cout添加学生的人数:addstu; stunum=n+addstu; for(i=n;istunum;i
8、+) bi.num=bi-1.num+1; bi.addstu(); coutnn学生信息endl; bi.output(); break;23 删除学生信息cout请输入您要删除的学生学号a; coutnn学生信息endl; ba-1.output(); point3:cout是否删除?n 1.是 2.否 r; if(r=1) stunum-; a-; for(m=a;m=stunum;m+) bm=bm+1; for(o=a;o=stunum;o+) bo.num-; cout已删除endl; else if(r=2) cout没有修改endl; else cout输入有误endl; go
9、to point3; break;24修改学生信息int revisenum; cout请输入您要修改同学的学号revisenum; for(i=0;in;i+) if(revisenum=bi.num) coutnn学生信息endl; bi.output();break; point2:cout是否修改?n 1.是 2.否 r; if(r=1) bi.revise(); else if(r=2) cout没有修改endl; else cout输入有误endl; goto point2; break;25 查询学生信息在该程序中实现学生的查找的采用了两种查询方式:按学号查找、按姓名查找。251
10、 按学号查询学生信息int u; cout请输入您要查询的学号u; i=0; for(;istunum;i+) if(u=bi.num) coutnn学生信息endl; bi.output(); break; if(i=stunum) cout该同学不存在!endl; break;252 按姓名查询学生信息tring findstuname; cout请输入您要查询的学生姓名findstuname; for(i=0;istunum;i+) if(findstuname=bi.name) coutnn学生信息endl; bi.output(); break; if(i=stunum) cout该
11、同学不存在!endl; break;26 显示学生信息 int i=0; for(;istunum;i+) cout第i+1个同学信息endl; bi.output(); break;27 保存学生信息ofstream os(DTT.txt,ios_base:out|ios_base:binary); for(i=0;i=stunum;i+) os.write(reinterpret_cast(&bi),sizeof(Student); os.close(); break;28 导入学生信息ifstream is(DTT.txt,ios_base:in|ios_base:binary); fo
12、r(i=0;i=stunum;i+) is.read(reinterpret_cast(&bi),sizeof(Student); is.close(); break;第三章 调试及运行结果31创建学生信息图4.11创建学生信息图4.12 显示创建的学生信息32添加学生信息图4.21添加学生信息图4.22显示添加之后的学生信息表33 删除学生信息图4.31删除选中的学生信息图4.32 删除之后的信息表34修改学生信息图4.41选中并修改学生的信息图4.12 修改之后的显示35查询学生信息图4.51 通过学号查询图4.52通过姓名查询第四章 总结在学生信息的创建上我实现了学号的自动添加排序,在编
13、写的过程中最大的困难就是实现学生学号的自动编排,第一次在类中定义了属性学号,但是在调用的时候出现了问题,每次学生的学号都是一,不能实现学号的自动加一,可能是在每次调用之后系统自动初始化的结构,后来改用了主函数里通过定义stunum及不断的尝试实现了学号的添加问题。在学生信息的添加问题的实现上在解决了学号的自动添加的基础上没有遇到太大的问题,通过for循环实现了多个学生信息的添加问题。在学生信息的删除操作上用for及if语句实现了学生信息的删除,在该模块中需要注意数组的使用,因为数组时从零开始的。在学生信息的修改功能模块上,于学生信息删除模块相类似通过调用for循环以及if语句实现了对学生信息的
14、删除操作。在学生信息的查询模块上我选用了两种查询模式即按姓名和学号去实现我所要的操作。通过这次课程设计的实训,增加了我学习软件技术的兴趣,从C+语言这门课程开始,已发现程序设计的乐趣,在学习C+语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。 在实际操作过程中犯的一些错误还会有意外的收获,在具体操作中对这学期所学的C+语言的理论知识得到巩固,达到设计的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C+语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机实训的重要作用,特别是对数组、循环和类的定义有了深刻的理解。 通过实际操作,学会 C+语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到“没有做不到的,只有想不到的”, “实践是检验真理的标准”的寓意。 计时在此希望以后应多进行这样的课程设计,培养学生独立思考问题的能力,提高实际操作水平。参考文献1.郑莉 董渊 何江舟 编著.C+语言程序设计(第四版).北京:清华大学出版社,20102.谭浩强 编著 C程序设计(第三版).北京:清华大学出版社,20043.谭浩强 编著 C程序设计(第二版).北京:清华大学出版社,1999
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1