欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生信息管理系统-设计说明书(共26页).doc

    • 资源ID:17308773       资源大小:140KB        全文页数:26页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生信息管理系统-设计说明书(共26页).doc

    精选优质文档-倾情为你奉上*实践教学* 兰州理工大学计算机与通信学院2013年秋季学期 面向对象 课程设计题 目: 学生信息管理系统 专业班级: 计算机科学与技术二班 姓 名: 刘俊锋 学 号: 指导教师: 庞淑侠 成 绩: 专心-专注-专业前 言学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。目 录摘 要本系统主要利用所学的C+知识实现一个学生管理系统的设计。首先需要编写出调用各个功能的主函数,告诉使用者这个系统有哪些功能和相应的操作,通过switch语句来选择相应操作;再者编写student来定义一个学生类,在类中定义公有和私有数据成员,通过学生类的成员函数的实现,来获得某个学生信息的内容,如:姓名,年龄,性别,出生年月等相关信息。利用对应的成员函数分别可以进行增、删、改、查的操作。关键词:信息管理;面向对象;类;模块。第一章 系统总体设计学生信息管理系统是一套功能强大、操作简单而又实用的模拟学生信息管理软件,它可以被广泛应用于各个学校的学生资料管理中,开发此系统的目的主要是可以实现学校学生的信息化管理。通过学生信息管理系统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。本系统最大的优点就是操作简便快捷等。1.1系统功能模块图根据用户需求,本系统将主要实现以下功能(如图1-1):信息输入退出系统学生信息管理系统信息删除信息修改信息查询所有信息显示图1-1 系统功能模块图其中:信息输入:包括对学生姓名,性别,年龄,出生年月等的输入。信息删除:可以对已经录入的学生信息进行修改。信息查询:可以对储存在文本里的信息读写查询。1.2类与函数的关系将学生信息定义为一个student类,在类中包含私有数据成员int num、string name、string age、string sex、string birth、string politic、string address、string telephone,分别表示学号、姓名、年龄、性别、出生年月、政治面貌、家庭住址、电话号码。公有成员函数包括set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,display( ) ,分别用来实现对学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据功能(如图表1.2所示)。然后定义了一个menu( ) 菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。主函数是一个程序必不可少的,在主函数中,使用一个switch语句来选择调用主菜单中的各个功能函数。 Set()初始录入 Add()增加数据类student Del()删除数据 Change( )修改数据 Research()查询数据 Display()显示所有数据图表1.2第二章 详细设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。2.1 初始录入功能此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入选择是“0”时,使用break语句就跳出循环,即停止输入学生信息。在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。2.2 添加函数此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。2.3 删除函数此函数实现的功能主要是,删除一个学生的信息。在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件。再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。2.4 修改函数此函数实现的功能主要是,修改一个学生的信息。此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。2.5 查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按姓名查询和按学号查询。使用if语句来选择查询条件。2.5.1 按姓名查询调用switch()选择语句,根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生。当无查询结果时,会输出一条提示信息“无此人信息!” 。2.5.2 按学号查询根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环。当无查询结果时,会输出一条提示信息“无此人信息!” 。2.6 显示函数此函数实现的功能主要是,显示所有学生的信息。先是从文件中读取学生信息,然后在输出到显示窗口中。用一个for循环语句,来把所有学生的信息都输出。2.7 退出系统当输入“0”时,就能退出系统,这是通过while语句来控制实现的。第三章 系统测试3.1测试方法采用实例录入的方式,测试每个函数的工作结果是否正确。3.2测试用例本系统采用实际学生信息为数据原型进行测试,所用数据为:姓名:刘XX;年龄:20,;性别:男;出生年月:;政治面貌:团员;家庭住址:湖南省郴州市资兴市矿工南路;电话:。姓名:甲;年龄:18;性别:男;出生年月::;政治面貌:群众;家庭住址:四海为家;电话:。3.3测试结果本系统主要完成基本信息的添加,删除,修改和查询功能。主菜单显示(如图3.1所示):图3.1主菜单按1选择输入学生信息(如图3.2所示): 图3.2按任意键确认,开始输入(如图3.3所示):图3.3输入信息添加学生信息(如图3.4所示):图3.4添加信息显示所有学生信息(如图3.5所示):图3.5显示界面查询学生信息(如图3.6和图3.7所示):图3.6按姓名查询图3.7按学号查询删除学生信息(如图3.8所示):图3.8删除信息再次查询确认数据正常删除(如图3.9所示):图3.9确认已删除修改学生信息(如图3.10所示):图3.10修改数据最后,选择数字键0,安全退出系统(图略)。第四章 软件使用说明书1、系统运行环境VC+6.02、系统操作提示本系统主要实现学生信息管理,首先用户进入主菜单界面(如图3.1所示) ,然后按照相应的数字键操作,本系统简单通俗,操作界面友好,适用于中小型学生信息管理。总 结此次c+面向对象课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的菜单界面,将各个功能集中出现在主菜单中,便于调用。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。参考文献1.郑莉.C+语言程序设计(第三版).清华大学出版社,20042.郑莉.C+语言程序设计案例教程.清华大学出版社,20053.钱能.C+程序设计教程.清华大学出版社,1999.4 4.谭浩强.C+程序设计.清华大学出版社,20045.谭浩强.C+程序设计实践指导.清华大学出版社,20056.刘振安.C+程序设计课程设计.机械工业出版社,2004.8致谢在这次管理信息系统的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。在此,我衷心感谢我的指导老师庞淑侠。庞淑侠老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。最后,衷心感谢在课设过程中,庞淑侠、年福忠等老师的悉心指导!附录:程序代码#include<iostream>#include<fstream> /输入输出文件流类头文件#include<string>#include<iomanip>using namespace std;#define M 200 /可以存信息的总量int N=0; /学生总量class student /定义一个student的类public:student(); /成员函数void set(); /初始化信息,第一次对信息的录入void add(); /添加学生信息void del(); /删除某学生信息void change(); /修改某学生信息 void search(); /查询某学生信息void display(); /显示全部学生信息private:static int num; /定义为学号string name,age,sex,birth,politic,address,telephone;int student:num=100; student:student() void student:set() /主要适用于第一次输入使用int i;char n;string setname,setage,setsex,setbirth,setpolitic,setaddress,settelephone;ofstream outfile; / ofstream用来创建一个文件,outfile输出文件outfile.open("f1.txt",ios:out); /以写的方式打开文件if(!outfile)cerr<<" open error"<<endl; exit(1);/-依次录入相应个数的学生信息-for(i=0;i<M;i+)cout<<"按任意键继续,按0停止输入:"<<endl;cin>>n;if(n='0') break;if(n!='0')N+;num+; outfile<<num; cout<<"请输入姓名:"<<endl; cin>>setname; name=setname; outfile<<setname<<" " cout<<"请输入年龄:"<<endl; cin>>setage; age=setage; outfile<<setage<<" " cout<<"请输入性别:"<<endl; cin>>setsex; sex=setsex; outfile<<setsex<<" " cout<<"请输入出生年月:"<<endl; cin>>setbirth; birth=setbirth; outfile<<setbirth<<" " cout<<"请输入政治面貌:"<<endl; cin>>setpolitic; politic=setpolitic; outfile<<setpolitic<<" " cout<<"请输入家庭住址:"<<endl; cin>>setaddress; address=setaddress; outfile<<setaddress<<" " cout<<"请输入电话:"<<endl; cin>>settelephone; telephone=settelephone; outfile<<settelephone<<endl;outfile.close(); /-关闭文件-void student:add()string addname,addage,addsex,addbirth,addpolitic,addaddress,addtelephone;ofstream outfile("f1.txt",ios:app); /以输出方式打开文件,以追加的方式录入信息,直接将信息追加到以前文件的末尾if(!outfile) cerr<<" open error"<<endl; exit(1); N=N+1;cout<<"请输入您要添加的数据"<<endl; /依次输入相应的数据,并且追加到之前的文件中去 num+; outfile<<num<<" "cout<<"请输入姓名:"<<endl;cin>>addname;outfile<<addname<<" "cout<<"请输入年龄:"<<endl;cin>>addage;outfile<<addage<<" "cout<<"请输入性别:"<<endl;cin>>addsex;outfile<<addsex<<" "cout<<"请输入出生年月:"<<endl;cin>>addbirth;outfile<<addbirth<<" "cout<<"请输入政治面貌:"<<endl;cin>>addpolitic;outfile<<addpolitic<<" "cout<<"请输入家庭住址:"<<endl;cin>>addaddress;outfile<<addaddress<<" "cout<<"请输入电话:"<<endl;cin>>addtelephone;outfile<<addtelephone<<endl;outfile.close();cout<<"已添加成功!"<<endl;void student:del() /删除信息模块int k,i;int numM;string nameM,ageM,sexM,birthM,politicM,addressM,telephoneM;ifstream infile("f1.txt",ios:in);if(!infile)cerr<<" open error"<<endl;exit(1);for(i=0;i<N;i+)cout<<" "infile>>numi;cout<<setw(9)<<numi; /setw()默认填充的内容为空格infile>>namei;cout<<setw(9)<<namei;infile>>agei;cout<<setw(9)<<agei;infile>>sexi;cout<<setw(9)<<sexi;infile>>birthi;cout<<setw(9)<<birthi;infile>>politici;cout<<setw(9)<<politici;infile>>addressi;cout<<setw(9)<<addressi;infile>>telephonei;cout<<setw(9)<<telephonei<<endl;cout<<"你想删除第几个?"<<endl;cin>>k;k=k-1;infile.close();ofstream outfile("f1.txt",ios:out); /以写的方式打开,将数组存取的信息从内存中输出到文件中去if(!outfile)cerr<<" open error"<<endl; exit(1); /退出程序for(i=0;i<N;i+) if(i!=k)outfile<<numi<<" "outfile<<namei<<" "outfile<<agei<<" "outfile<<sexi<<" "outfile<<birthi<<" "outfile<<politici<<" "outfile<<addressi<<" "outfile<<telephonei<<" "<<endl;outfile.close();N=N-1;cout<<"已删除成功!"<<endl;void student:change() /修改信息模块int i,k;int numM;string nameM,ageM,sexM,birthM,politicM,addressM,telephoneM;ifstream infile("f1.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);for(i=0;i<N;i+)cout<<" "infile>>numi;cout<<setw(9)<<numi;infile>>namei;cout<<setw(9)<<namei;infile>>agei;cout<<setw(9)<<agei;infile>>sexi;cout<<setw(9)<<sexi;infile>>birthi;cout<<setw(9)<<birthi;infile>>politici;cout<<setw(9)<<politici;infile>>addressi;cout<<setw(9)<<addressi;infile>>telephonei;cout<<setw(9)<<telephonei<<endl;infile.close();ofstream outfile("f1.txt",ios:out);if(!outfile) cerr<<" open error"<<endl; exit(1); cout<<"你想修改第几个数据?"<<endl;cin>>k;k=k-1;cout<<"请输入新的数据:"<<endl;cout<<"请输入姓名:"<<endl;cin>>namek;cout<<"请输入年龄:"<<endl;cin>>agek;cout<<"请输入性别:"<<endl;cin>>sexk;cout<<"请输入出生年月:"<<endl;cin>>birthk;cout<<"请输入政治面貌:"<<endl;cin>>politick;cout<<"请输入家庭住址:"<<endl;cin>>addressk;cout<<"请输入电话:"<<endl;cin>>telephonek;for(i=0;i<N;i+)outfile<<numi<<" "outfile<<namei<<" "outfile<<agei<<" "outfile<<sexi<<" "outfile<<birthi<<" "outfile<<politici<<" "outfile<<addressi<<" "outfile<<telephonei<<endl;outfile.close();cout<<"已修改成功!"<<endl; void student:search() /查询信息模块int i,n,w=0,numM,aM;char ch;string searchname,nameM,ageM,sexM,birthM,politicM,addressM,telephoneM,bM7;ifstream infile("f1.txt",ios:in); /ios:in作为读操作if(!infile)cerr<<" open error"<<endl;exit(1);for(i=0;i<N;i+)infile>>numi;ai=numi;infile>>namei;bi0=namei; infile>>agei;bi1=agei;infile>>sexi;bi2=sexi;infile>>birthi;bi3=birthi;infile>>politici;bi4=politici;infile>>addressi;bi5=addressi;infile>>telephonei;bi6=telephonei; cout<<"a.按姓名查找 b.按学号查找"<<endl;cout<<"请输入a或者b!"<<endl;cin>>ch;switch(ch)case 'a':cout<<"请输入姓名:"<<endl;cin>>searchname;for(i=0;i<N;i+)if(namei=searchname)w=1;cout<<"学号 姓名 年龄 性别 出生年月 政治面貌 家庭住址 "<<" "<<" 电话"<<endl;cout<<ai; cout<<setw(9)<<bi0; cout<<setw(9)<<bi1; cout<<setw(9)<<bi2; cout<<setw(9)<<bi3<<" " cout<<setw(9)<<bi4<<" " cout<<setw(9)<<bi5<<" " cout<<setw(9)<<bi6<<endl; if(w=0) cout<<"无此人信息!"<<endl; break;case 'b':cout<<"请输入学号:"<<endl;cin>>n;for(i=0;i<N;i+)if(ai=n)w=1;cout<<"学号 姓名 年龄 性别 出生年月 政治面貌 家庭住址 "<<" "<<" 电话"<<endl;cout<<ai; cout<<setw(9)<<bi0; cout<<setw(9)<<bi1; cout<<setw(9)<<bi2; cout<<setw(9)<<bi3<<" " cout<<setw(9)<<bi4<<" " cout<<setw(9)<<bi5<<" " cout<<setw(9)<<bi6<<endl;if(w=0) cout<<"无此人信息!"<<endl;break;void student:display() /显示信息模块int k,num;string name,age,sex,birth,politic,address,telephone;ifstream infile("f1.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);cout<<"学号 姓名 年龄 性别 出生年月 政治面貌 家庭住址 "<<" "<<" 电话"<<endl;cout<<"-"<<endl;for(k=0;k<N;k+)infile>>num;cout<<num; infile>>name;cout<<setw(9)<<name;infile>>age;cout<<setw(9)<<age;infile>>sex;cout<<setw(9)<<sex<<" "infile>>birth;cout<<setw(9)<<birth<<" "infile>>politic;cout<<setw(9)<<politic<<" "infile>>address;cout<<setw(9)<<address<<endl;infile>>telephone;cout<<setw(9)<<telephone<<endl;cout<<"-"<<endl;infile.close();student stu; /类的对象stuvoid main()char ch;void menu();menu();cin>>ch;while(ch!='0')switch(ch)case '1':stu.set();break;case '2':stu.add();break;case '3':stu.del();break;case '4':stu.change();break;case '5':stu.search();break;case '6':stu.display();break;case '0':cout<<"退出系统!"break;default:cout<<"对不起,没有此选项,请确认后重新选择!"<<endl;break;menu();cin>>ch;void menu()cout<<"*"<<endl;cout<<"*欢迎使用本学生信息管理系统*"<<endl;cout<<"*"<<endl;cout<<"* *"<<endl;cout<<"* 1.输入学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 2.添加学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 3.删除学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 4.修改学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 5.查询学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 6.显示全部学生信息 *"<<endl;cout<<"* *"<<endl;cout<<"* 0.退出本管理系统 *"<<endl;cout<<"* *"<<endl;cout<<"*"<<endl;cout<<"请按键选择(06):"<<endl;

    注意事项

    本文(学生信息管理系统-设计说明书(共26页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开