版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书题目:学生信息管理系统学院:信息工程学院班级:软 件 09- 12011 年 1 月 21 日X X大学课程设计(论文)任务书课程名称:面向对象程序设计课程设计学院: 信息工程学院 班级: 软件09-1学生姓名:X X X _ _ 学号:0000指导教师:X X X _一、题目学生信息管理系统二、目的与意义面向对象程序设计课程设计课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练可以使学生进一步理解和掌握面向对象程序设计课程的基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及C+的编程思想来完成系统设计的能力。三、要求(包括原始数据、技术
2、参数、设计要求、图纸量、工作量要求等)1.要求利用面向对象的方法以及C+的编程思想来完成系统的设计;2.要求在设计的过程中,建立清晰的类层次;3.在系统中至少要定义一个类,类中要有各自的属性和方法;4.在系统的设计中,至少要用到面向对象的一种机制。四、工作内容、进度安排1.根据课程设计的要求,确定设计题目;(0.5天)2.查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)3.进行应用程序的界面设计和源程序代码的编写;(2.5天)4.设计说明书的撰写、答辩(1.5天)五、主要参考文献1C+语言程序设计(第三版),郑莉,清华大学出版社,20042C+程序设计教程,钱能主编,清华大学出
3、版社,1999.43C+程序设计课程设计,刘振安,机械工业出版社,2004.8审核意见系(教研室)主任(签字)指导教师下达时间2011 年1月17日指导教师签字: _目录前言 . . 1第一章 系统概述 . . 21.1功能简介 . 21.2设计思路 . 2第二章 系统功能的分析和设计 . . 32.1初始录入功能 . 32.2添加函数 . 32.3删除函数 . 32.4修改函数 . 32.5查询函数 . 42.5.1按学号查询 . . 42.5.2按姓名查询 . . 42.6显示函数 . 42.7退出系统 . 4第三章 调试及运行结果 . . 53.1主菜单 . 53.2显示功能 . 53.
4、3增加功能 . 53.4删除功能 . 63.5修改功能 . 63.6查询功能 . 6第四章 总结 . . 84.1遇到的问题及解决方法 . 84.2收获和体会 . 81、八 、,前言学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是 典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的, 能有效的帮助学校和老师掌握学生的情况。在传统模式下利用人工进行学生信息管理, 存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不 便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大 困难,严重影响了
5、教育工作者的工作效率。随着科学技术的不断提高,使用日趋成熟的 计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为 人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。 例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、 寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学 化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。2第一章 系统概述1.1 功能简介本软件是一个简单的学校学生信息管理系统,
6、软件窗口为 DOS 页面。 学生信息管理系统的功能主要是实现学校学生的信息化管理。 通过学生信息管理系 统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。本系统最大 的优点就是操作简便快捷等。1.2 设计思路将学生信息定义为一个 student 类,在类中包含私有数据成员 int num、string name、 string sex、string politic、string address分别表示学号、姓名、性别、政治面貌、家庭 住址。公有成员函数包括 set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,show( )分, 别用来
7、实现对 学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据 功能。然后定义了一个 menu( ) 菜单函数,使功能菜单显示在运行窗口以提示用户如何进 行操作。主函数是一个程序必不可少的, 在主函数中, 使用一个 switch 语句来选择调用主菜 单中的各个功能函数。3第二章 系统功能的分析和设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。2.1 初始录入功能此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有 任何数据,可以通过次函数输入任意个学生的信息, 在输入时通过一个 if 条件语句来实 现控制循环,当输入的姓名是“ 0”时,使用
8、break 语句就跳出循环,即停止输入学生信 息。在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt 文件,使输入的学生信息都写入文件。2.2 添加函数此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能 添加一个学生的信息。在此函数中也使用文件处理的方式,但使用的是以追加的方式打 开文件,使输入的学生信息写在文件里原有信息的后面。2.3 删除函数此函数实现的功能主要是,删除一个学生的信息。在此函数中,先以读的方式打开 文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人 的信息,关闭文件。再以写的方式打开文件,以一个
9、 if 条件语句控制,再重新将学生信 息写入文件(除了打算删除的那个学生的信息) ,由于是以写的方式打开的文件,所以 文件里原有的输入就都没有了,存入的新的数据。2.4 修改函数此函数实现的功能主要是,修改一个学生的信息。此函数的设计方法和删除函数的 设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。42.5 查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按 姓名查询。使用 if 语句来选择查询条件。2.5.1 按学号查询根据提示信息输入学号后, 然后使用一个 for 循环语句,从第一个学生开始检索, 如 果该学生的学号和输入的学号相等
10、,则输出该学生的信息,由于学生的学号是唯一固定 的,所以并使用 break 语句跳出循环。当无查询结果时,会输出一条提示信息“无此人信息! ” 。2.5.2按姓名查询根据提示信息输入姓名后,然后使用一个 for 循环语句,从第一个学生开始检索, 如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重 复出现,所以不能使用 break 语句跳出循环,应该从第一个学生开始检索直到最后一名 学生。当无查询结果时,会输出一条提示信息“无此人信息! ” 。2.6 显示函数此函数实现的功能主要是,显示所有学生的信息。先是从文件中读取学生信息,然 后在输出到显示窗口中。用一个 for
11、循环语句,来把所有学生的信息都输出。2.7 退出系统当输入“ 0”时,就能退出系统,这是通过 while 语句来控制实现的。5第三章调试及运行结果3.1主菜单主菜单显示如下:图3-1主菜单3.2显示功能按6则显示全部信息,如图3-2:学号姓名性别政治面貌家庭住址illjiangnanaa112zliaorivbb113nancc图3-2显示功能3.3增加功能进入主菜单后选择2,进入增加功能,按要求输入学生信息,增加数据前显示如图3-2 :增加后显示如图3-3 :性别政治面貌家庭住址injianananaa112zhaonuhb113nancc114chennvdd图3-3增加后63.4删除功能
12、进入主菜单后选择3,进入删除功能,按要求输入要删除的学生信息,删除数据前显示如图3-3 :删除数据后显示如图3-4 :性别政治面貌家庭住址111jiangnanaa113wangnancc114chennudd图3-4删除后3.5修改功能进入主菜单后选择4,进入修改功能,按要求输入要修改的学生信息,修改数据前显示如图3-4 :修改后如图3-5:亍万性别政治面貌家111jiangnanaa113qqqq114chennvdd_图3-5修改后3.6查询功能进入主菜单后选择5,进入查询功能,如图3-6 :誇獻課九按姓名查找图3-6选择查询条件按学号查询如图3-7: 按姓名查询如图3-8:7补技芋号查
13、找b按姓名查找奢输入学号I111学号 姓名 性别政治面貌家庭住址111 Jiang*nanaa图3-7按学好查询:“拱学号查我“按姓名查找请端入a或者b?请输入姓名!chen学号 姓名 性别政治面貌家庭住址114 chennvdd图3-8按姓名查询8第四章 总结4.1 遇到的问题及解决方法首先,是对文件的处理不够熟练, 通过看书和搜集一些资料解决了这个问题; 其次, 是在编写程序的过程中出现了一些语法错误,后通过调试逐一解决。4.2 收获和体会此次C+面向对象课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分 析
14、与系统设计,最后是代码设计与调试。程序实现上,设计了简单的菜单界面,将各个 功能集中出现在主菜单中,便于调用。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对 C+语言的理解和掌握。理论联系实际,加深和巩固所学 的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快 乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程 能力。参考文献1C+语言程序设计(第三版),郑莉,清华大学出版社,20042C+语言程序设计案例教程,郑莉,清华大学出版社,20053C+程序设计教程,钱能主编,清华大学出版社,
15、1999.44C+程序设计,谭浩强,清华大学出版社, 20045C+程序设计实践指导,谭浩强,清华大学出版社,20056C+程序设计课程设计,刘振安,机械工业出版社,2004.89附录:程序代码#include #include #include #include using namespace std;#define M 200 /可以存信息总量int N=0; / 学生总量 class student public:student();void set();/初始化信息,第一次对信息的录入void add();/添加学生信息void del();/删除某学生信息void change();
16、/修改某学生信息void search();/查询某学生信息void display(); /显示全部学生信息 private:static int num;string name,sex,politic,address;int student:num=110;student:student() void student:set()int i;string setname,setsex,setpolitic,setaddress; ofstream outfile;outfile.open(f1.txt,ios:out); /-打开文件 -if(!outfile)cerr open error
17、endl;exit(1);/ - 依次录入相应个数的学生信息 -for(i=0;iM;i+)coutvv当姓名输入为O时,停止输入! vvendl; cout请输入姓名:setname;name=setname;if(setname=0) break; if(setname!=0)N+;num+; outfilenum ;outfilesetname ;cout 请输入性别: setsex;sex=setsex; outfilesetsex ;cout 请输入政治面貌: setpolitic;politic=setpolitic; outfilesetpolitic ;cout 请输入家庭住址
18、: setaddress; address=setaddress; outfilesetaddressendl;10outfile.close(); / - 关闭文件 -void student:add()string addname,addsex,addpolitic,addaddress;/ - 以追加的方式录入信息,直接将信息追加到以前文件的末尾ofstream outfile(f1.txt,ios:app); if(!outfile)cerr open errorendl;exit(1);N=N+1;/ - 依次输入相应的数据,并且追加到之前的文件中去 -cout 请输入您要添加的数据
19、 endl; num+;outfilenum ;cout请输入姓名:addname;outfileaddname ;coutvv请输入性别:addsex;outfileaddsex ; cout请输入政治面貌:addpolitic;outfileaddpolitic ; cout请输入家庭住址:addaddress; outfileaddaddressendl; outfile.close();cout已添加成功!e ndl;void student:del()int k,i;int numM;string nameM,sexM,politicM,addressM; ifstream infi
20、le(f1.txt,ios:in);if(!infile)cerr open errorendl;exit(1); for(i=0;iN;i+)coutnumi;coutsetw(9)namei; coutsetw(9)sexi;coutsetw(9)politici; coutsetw(9)addressi;coutsetw(9)addressiendl;cout你想删除第几个? k;k=k-1;infile.close();ofstream outfile(f1.txt,ios:out);if(!outfile)cerr open errorendl;exit(1); / 退出程序/ -
21、将数组存取的信息输出到文件中去 -for(i=0;iN;i+)if(i!=k)outfilenumi ; outfilenamei ; outfilesexi ; outfilepolitici ; outfileaddressi endl;outfile.close();N=N-1; cout 已删除成功! endl;void student:change()int i,k;int numM;string nameM,sexM,politicM,addressM;ifstream infile(f1.txt,ios:in);if(!infile)cerr open errorendl; ex
22、it(1); for(i=0;iN;i+)coutnumi; coutsetw(9)namei; coutsetw(9)sexi; coutsetw(9)politici; coutsetw(9)addressi; coutsetw(9)addressiendl;infile.close();ofstream outfile(f1.txt,ios:out); if(!outfile)cerr open errorendl; exit(1); cout 你想修改第几个数据 ?k;k=k-1;cout 请输入新的数据: endl; cout 请输入姓名: namek;cout 请输入性别: sex
23、k;cout 请输入政治面貌: politick;cout 请输入家庭住址: addressk;for(i=0;iN;i+)12outfilenumi ; outfilenamei ; outfilesexi ; outfilepolitici ; outfileaddressi endl;outfile.close();cout 已修改成功! endl;void student:search()int i,n,w=0,numM,aM;char ch;string searchname,nameM,sexM,politicM,addressM,bM4;coutva.按学号查找b.按姓名查找en
24、dl;ifstream infile(f1.txt,ios:in);if(!infile)13政治面貌 家政治面貌 家家庭住址cerr open errorendl; exit(1); for(i=0;inumi;ai=numi; infilenamei;bi0=namei; infilesexi;bi1=sexi; infilepolitici;bi2=politici; infileaddressi;bi3=addressi;cout请输入 a 或者 b!endl;cinch; if(ch=a)cout请输入学号! n;for(i=0;iN;i+) if(ai=n) w=1;cout学号 姓名 性别庭住址e ndl;cout ; coutsetw(9)ai; coutsetw(9)bi0; coutsetw(9)bi1; coutsetw(9)bi2; coutsetw(9)bi3endl; if(w=0) cout无此人信息! e ndl;else if(ch=b)cout请输入姓名! searchname;for(i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电机学课件-清华大学
- 2024年全新装修设计合作协议2篇
- 广西大学附属中学消防讲座课件张琳敏课件
- 房屋担保租赁合同(2篇)
- 2024年互联网租赁平台自行车退租退款及押金返还协议3篇
- 2025年贵州货运从业资格考试模拟考试题库及答案解析
- 2025年福州货运从业资格试题答案解析
- 2025年武汉货运从业资格证考试模拟考试题及答案
- 2025年克拉玛依b2考货运资格证要多久
- 2025年塔城货运资格证培训考试题
- Linux配置与管理智慧树知到期末考试答案2024年
- 防失智老人走失试理论试题及答案
- 肾活检术后护理查房
- 血糖监测技术新进展培训课件
- 《卫生检疫》期末复习选择题及答案
- 你那年那兔那些事儿
- 生活区公共服务设施布局规划优化
- DB21-T 2780.1-2017辽东落叶松二元立木材积表 第1 部分 日本落叶松
- 地源热泵施工流程课件
- 智能物料搬运机器人设计方案
- 土石方工程投标书技术标
评论
0/150
提交评论