C课程设计学生信息管理系统_第1页
C课程设计学生信息管理系统_第2页
C课程设计学生信息管理系统_第3页
C课程设计学生信息管理系统_第4页
C课程设计学生信息管理系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书题目:学生信息管理系统学院:信息工程学院班级:软 件 09-12011 年 1 月 21 日X X 大学课程设计(论文)任务书课程名称:面向对象程序设计课程设计学院: 信息工程学院 班级: 软件 09-1学生姓名:X X X _ 学号:0000指导教师:XXX一、题目学生信息管理系统二、目的与意义面向对象程序设计课程设计课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练可以使学生进一步理解和掌握面向对象程序设计课程的基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及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.3增加功能53.4删除功能63.5修改功能63.6查询功能6第四章总结84.1遇到的问题及解决方法84.2收获和体会8、八 、,刖言学生

4、信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是 典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的, 能有效的帮助学校和老师掌握学生的情况。在传统模式下利用人工进行学生信息管理, 存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不 便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大 困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,使用日趋成熟的 计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为 人们深刻认识,它已进入人类社会的各个领域并发挥

5、着越来越重要的作用。作为计算机 应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。 例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、 寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学 化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。第一章 系统概述1.1 功能简介本软件是一个简单的学校学生信息管理系统,软件窗口为DOS页面。 学生信息管理系统的功能主要是实现学校学生的信息化管理。 通过学生信息管理系 统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。本系统最大 的优点就是

6、操作简便快捷等。1.2 设计思路将学生信息定义为一个student类,在类中包含私有数据成员int num、string name、stringsex、string politic、string address分别表示学号、姓名、性别、政治面貌、家庭 住址。公有成员函数包括set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,show( )分,别用来实现对 学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据 功能。然后定义了一个menu( )菜单函数,使功能菜单显示在运行窗口以提示用户如何进 行操作。主函数是一个程序必不可少的

7、, 在主函数中, 使用一个switch语句来选择调用主菜 单中的各个功能函数第二章 系统功能的分析和设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。2.1 初始录入功能此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有 任何数据,可以通过次函数输入任意个学生的信息, 在输入时通过一个if条件语句来实 现控制循环,当输入的姓名是“0”时,使用break语句就跳出循环,即停止输入学生信 息。在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。2.2 添加函数此函数实现的功能主要是,添加一个学生的信息,也

8、就是说调用一次这个函数只能 添加一个学生的信息。在此函数中也使用文件处理的方式,但使用的是以追加的方式打 开文件,使输入的学生信息写在文件里原有信息的后面。2.3 删除函数此函数实现的功能主要是,删除一个学生的信息。在此函数中,先以读的方式打开 文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人 的信息,关闭文件。再以写的方式打开文件,以一个if条件语句控制,再重新将学生信 息写入文件(除了打算删除的那个学生的信息) ,由于是以写的方式打开的文件,所以 文件里原有的输入就都没有了,存入的新的数据。2.4 修改函数此函数实现的功能主要是,修改一个学生的信息。此函数的设计

9、方法和删除函数的 设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。2.5 查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按 姓名查询。使用if语句来选择查询条件。2.5.1按学号查询根据提示信息输入学号后, 然后使用一个for循环语句,从第一个学生开始检索, 如 果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定 的,所以并使用break语句跳出循环。当无查询结果时,会输出一条提示信息“无此人信息! ” 。2.5.2按姓名查询根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索, 如果该学

10、生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重 复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名 学生。当无查询结果时,会输出一条提示信息“无此人信息! ” 。2.6 显示函数此函数实现的功能主要是,显示所有学生的信息。先是从文件中读取学生信息,然 后在输出到显示窗口中。用一个for循环语句,来把所有学生的信息都输出。2.7 退出系统当输入“0”时,就能退出系统,这是通过while语句来控制实现的。第三章调试及运行结果3.1 主菜单主菜单显示如下:图3-1主菜单3.2 显示功能按6则显示全部信息,如图3-2:斗u芋丐姓名性别政怡面貌家庭住址

11、illjiannanaa112zhaonuhb113uannancc图3-2显示功能3.3 增加功能进入主菜单后选择2,进入增加功能,按要求输入学生信息,增加数据前显示如图3-2:增加后显示如图3-3:竽号姓名性别改治面貌家庭住址111jiangrnanaia112ZFIAOnubb113uari g( (nancc114Ghennvdd图3-3增加后部全入加除改询一缶幫删修查显退12 3 4 5 6 83.4 删除功能进入主菜单后选择3,进入删除功能,按要求输入要删除的学生信息,删除数据前显示如图3-3:删除数据后显示如图3-4:-4旦于冇性别政治面貌家庭住址111j iangnana113

12、uangnancc114c he nnudd图3-4删除后3.5 修改功能进入主菜单后选择4,进入修改功能,按要求输入要修改的学生信息,修改数据前显示如图3-4:修改后如图3-5:图3-5修改后3.6 查询功能进入主菜单后选择5,进入查询功能,如图3-6:图3-6选择查询条件按学号查询如图3-7:按姓名查询如图3-8:蔬莖芋対查找*-技姓名查我请输入亠或者M縮入学号I111学号 姓容 性别 政治面貌家庭住址111 Jiangnanaa图3-7按学好查询:占”孩芋号查找b.按姓名查我请输入曰或著皿番输入姓名丨chen学号 姓名 性别政治面貌家庭住址114chennudd图3-8按姓名查询第四章

13、总结4.1 遇到的问题及解决方法首先,是对文件的处理不够熟练, 通过看书和搜集一些资料解决了这个问题; 其次, 是在编写程序的过程中出现了一些语法错误,后通过调试逐一解决。4.2 收获和体会此次C+面向对象课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分 析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的菜单界面,将各个 功能集中出现在主菜单中,便于调用。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固

14、所学 的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快 乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程 能力。参考文献1C+语言程序设计(第三版),郑莉,清华大学出版社,20042C+语言程序设计案例教程,郑莉,清华大学出版社,20053C+程序设计教程,钱能主编,清华大学出版社,1999.44C+程序设计,谭浩强,清华大学出版社, 20045C+程序设计实践指导,谭浩强,清华大学出版社,20056C+程序设计课程设计,刘振安,机械工业出版社,2004.8附录:程序代码#include #include #include #includ

15、e usingnamespace std;#define M 200 /可以存信息总量int N=0; /学生总量class studentpublic:student();void set();/初始化信息,第一次对信息的录入void add();/添加学生信息void del();/删除某学生信息void change();/修改某学生信息void search();/查询某学生信息void display(); /显示全部学生信息private:static int num;string name,sex,politic,address;int student:num=110;stude

16、nt:student() void student:set()int i;string setname,setsex,setpolitic,setaddress; ofstream outfile;out(f1.txt,ios:out); /-打开文件 -if(!outfile)cerr open errorendl; exit(1);/-依次录入相应个数的学生信息 -for(i=0;iM;i+)coutvv当姓名输入为O时,停止输入!vvendl; cout请输入姓名:setname;name=setname;if(setname=0) break; if(setname!=0)N+;num

17、+; outfilenum ;outfilesetname ;cout请输入性别:setsex;sex=setsex; outfilesetsex ;cout请输入政治面貌:setpolitic;politic=setpolitic; outfilesetpolitic ;cout请输入家庭住址:setaddress; address=setaddress;outfilesetaddressendl;out(); /-关闭文件 -void student:add()string addname,addsex,addpolitic,addaddress;/-以追加的方式录入信息,直接将信息追加到

18、以前文件的末尾ofstream outfile(f1.txt,ios:app); if(!outfile)cerr open errorendl;exit(1);N=N+1;/-依次输入相应的数据,并且追加到之前的文件中去 -cout请输入您要添加的数据endl;num+;outfilenum ;cout请输入姓名:addname;outfileaddname ;coutvv请输入性别:addsex;outfileaddsex ; cout请输入政治面貌:addpolitic;outfileaddpolitic ;cout请输入家庭住址:addaddress; outfileaddaddres

19、sendl;out();cout已添加成功!e ndl;void student:del()int k,i;int numM;string nameM,sexM,politicM,addressM;ifstream infile(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你想删除第几个

20、?k;k=k-1;in();ofstream outfile(f1.txt,ios:out); if(!outfile)cerr open errorendl;exit(1); /退出程序/-将数组存取的信息输出到文件中去 -for(i=0;iN;i+)if(i!=k)outfilenumi;outfilenamei;outfilesexi;outfilepolitici ; outfileaddressi endl;out();N=N-1; cout已删除成功!endl;void student:change()int i,k;int numM;string nameM,sexM,polit

21、icM,addressM;ifstream infile(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;in();ofstream outfile(f1.txt,ios:out); if(!outfile)cerr open errorendl; exit(1);cout你想修改第几个数据?

22、k;k=k-1;cout请输入新的数据:endl; cout请输入姓名:namek;cout请输入性别:sexk;cout请输入政治面貌:politick;cout请输入家庭住址:addressk;for(i=0;iN;i+)outfilenumi ; outfilenamei ; outfilesexi ;outfilepolitici ; outfileaddressi endl;out();cout已修改成功!endl;void student:search()int i,n,w=0,numM,aM;char ch;string searchname,nameM,sexM,politic

23、M,addressM,bM4;coutva.按学号查找b.按姓名查找endl;ifstream infile(f1.txt,ios:in);if(!infile)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;iN;i+) if(namei=searchname)w=1;co

温馨提示

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

评论

0/150

提交评论