ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:440.55KB ,
资源ID:12025343      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12025343.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(《C--程序设计》课程设计报告.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

《C--程序设计》课程设计报告.doc

1、 《C++程序设计》课程设计报告 题 目: 学生学籍管理系统 学 院:计算机科学与工程学院 专 业:计算机科学与技术 学生姓名: 学 号: 指导教师: 2012年 06 月 20 日 目 录 10.学生学籍管理系统 II 1.前言 1 2.需求分析 1 3.概要设计 1 4.详细设计 1 5.测试 1 6.总结 2 附录 2 1. 前言

2、 题目:学生学籍信息管理系统 1 前言 21世纪随着计算机技术的不断成熟,带来了信息技术的高速发展。信息技术的发展极大地推动了整个社会信息化的进程。在日益庞大的信息管理领域,信息管理自动化直接地改变了传统的文档管理方式,极大地提高了工作效率和管理水平。 2. 需求分析 鉴于高等院校在校学生、教职员工、日常事务处理信息数据的繁多,学校信息管理部门通常感到无法高效的进行管理。就高等院校学生学籍管理这一方面,由于院校学生人数众多,专业不同,学校所安排的教学计划也就因人而异。这对于管理学生学籍信息的教务老师来说,无疑是一项庞大和复杂的工作。不仅要考虑学校对某一专业整体的教学计划安

3、排,也要对各专业相关老师的教学任务进行统一协调,还要考虑某些学生的特别学籍变化。为解决学校上述的学生学籍管理难题,提高教务老师的信息管理效率,以及为了方便学生更好、更便捷的查看自己的学籍信息;让老师的教学工作更加顺利和对教学信息的及时掌握。本系统特参照一般高等院校对在校学生课程选修的数据库管理办法,结合实践,设计出学生,教师和管理员三大功能模块,根据赋予系统权限不同,分别对系统进行相关操作,方便了学生、教师对学籍信息的查看,同时,也大大减少了管理员的信息管理工作量,提高了系统效率。 3 概要设计 1)、通过对高等院校管理学生学籍的管理模式和步骤流程,设计出系统的总体结构和各主要功能模块。

4、 2)、了解面向对象语言的编程风格,以及数据库对数据信息处理的特点,确定好系统的设计语言和数据库平台。 3)、及时与学校管理信息老师和课程设计指导老师沟通,进一步熟悉学生学籍信息管理系统的数据流程、数据处理以及操作步骤。提出自己的设计想法,征求老师意见,改正不合理的地方,为下面的概念设计和详细设计奠定基础。 3.1 概要设计阶段总体结构设计 1)、确定系统的总体结构以及子结构: 系统根据用户模式的不同,实现不同的系统功能。系统功能层次图如下: 1.登记学生信息 登录学生信息系统 学生学籍管理系统 6.退出 3.查找学生信息 2.删除学生信息 5.按要求输出信息 4.

5、修改学生信息 退出系统 保存信息 学生信息管理(选择操作) 3.2 概要设计阶段成果 系统登录界面 信息修改编辑界面 信息浏览界面 信息保存退出界面 4详细设计 4.1 界面设计 系统开始运行后自动从当前目录下的xueshen

6、文件中读取信息,并实时显示信息的读取情况。用户登录系统主界面,输入用户名和密码,。系统对用户进行安全验证,若通过,则跳转到相应操作界面;若失败,则提示相应错误信息。系统主界面如下图所示,各功能模块前面都标注了编码 ,用户只要输入相应的编码就可以选择相应的功能模块,方便了各层次用户对系统的功能操作。同时界面中也显示了整体的结构图,以便用户对系统的整个功能结构有着清晰的认识。在用户选择每一个具体的功能模块后,系统都会提示用户做出相应的操作,并根据用户的指令反馈相应的信息处理结果。另外在显示新的菜单时,都会将之前的内容清空,使系统的操作界面简洁,提高用户使用系统的效率。 图1 功能描

7、述: 图1为学生学籍管理系统操作界面 选择1:进入学生信息登记界面,可查看学生的学籍信息,对信息进行添 加 选择2:进入学生信息删除界面,输入学生学号,进行学生信息删除功 提示。 选择3:进入学生信息查找界面,录入学生学号,对学生的相关信息进行查找。 选择4:进入学生信息修改界面,录入要修改的学生编号,选择要修改的信息,输入新信息。 选择5:按

8、要求输出学生信息界面,输入要输出的学生信息进行相同信 息学生的统计输出。 选择6:退出操作界面,退出系统操作。 图2 功能描述: 图2为是否进行操作界面 选择Y:返回学生学籍管理系统操作界面 选择N:退出操作界面 图3 功能描述: 图3为信息保存界面。 选择Y:进行信息保存退出系统 选择N:不保存信息退出系统 4.2 编码。 1)头文件代码 //MyStudent.h

9、 #ifndef MYSTUDENT_H_ #define MYSTUDENT_H_ #include #include using namespace std; class Student { public: double Num; string Name;string Sex;int Age; string Jiguan; string Xibie; string Zuanye; string

10、Class; string bianhua; Student *next;}; #endif //MyLIST.h #include #include #include #include"MyStudent.h" using namespace std; class LIST { private: public: Student *head;

11、 LIST() { head=new Student; head->next=NULL; }; int length(); bool isempty(){ return head->next==NULL?true:false;} bool get_data(int i,Student &x); bool get_succ(int i,Student &

12、x); bool get_prior(int i,Student &x); //取前驱元素函数 bool replace_data(double i); //置换元素 bool insert_data(Student data,int i); //插入元素函数 bool delete_data(double i); //删除元素函数 bool find_data(double i,Student &result); v

13、oid tongji(Student x);//查找函数 void print_list(); void shuchu(); ~LIST() //析构函数 { Student *p; while(head) //将链表中所有元素占用空间释放 { p = head; head = head->next; delete p; } }

14、 }; #endif //Myvoid.h #include #include"MyLIST.h" #include"MyStudent.h" void In( int i,Student chuandi[]) { double Num; string Name; string Sex; int Age; string Jiguan; string Xibie; string Zuanye; string Class; string bianhua; if

15、stream in("xuesheng"); if(!in){cout<<"不能打开!"<>Num>>Name >>Sex >>Age>>Jiguan >>Xibie >>Zuanye>>Class>>bianhua ; in.close ; chuandi[j].Num =Num; chuandi[j].Name =Name; chuandi[j].Sex =Sex; chuandi[j].Age =Age; chuandi[j].Jig

16、uan =Jiguan; chuandi[j].Xibie =Xibie; chuandi[j].Zuanye =Zuanye; chuandi[j].Class =Class; chuandi[j].bianhua =bianhua; } } void changdu(LIST lis) { ofstream out("len"); out<>i; return i; }

17、 void output() { cout<

18、 <<" * *"<

19、 * 4.修改学生信息 *"<

20、 * *"<:"; } void baochun() { cout<

21、"<

22、 #"<

23、"<

24、 #"<

25、 系别 专业 班级 学籍变化 11003 小虎 男 21 广西 计算机 软件 102 入学 09002 小华 女 23 湖北 机电 制作 301 毕业 10004 小东 男 22 湖南 材料 开发 501 转专业 6.总结 课程设计总结: 学习C++课程两个学期,现在刚刚学完,学校安排大一下学期做面向对象语言程序设计。知识的掌握和了解还不是很到位,应用起来不灵活,拿起书本不断的翻看查找,复习一下所学的知识,开始在脑海中酝酿要做一个什么样的系统。经过一周

26、的努力,算是完成了任务吧。马上进入大二了,还没有完全巩固学习过的知识,所以只能每天白天查阅资料,基本上都是晚上敲一些代码,所以会有许多不足之处,也遇到了不少问题。例如:在测试连接数据库时,对学生信息的更新总是失败。我对程序执行过程进行了细致分析,没有发现任何逻辑上的问题,于是我在所有的地方都添加断点,多次调试后,发现问题出在类的构造函数和析构函数被多次调用,而且每次调用对象时,都会建立类的临时对象。后来我弄明白了在对对象进行操作时,没有使用引用方式,所以任何操作都不会对其产生实质作用。当我把菜单函数中对类对象的调用方式都改成引用后,问题迎刃而解。在完成课程设计的过程中,这种问题还有很多,加上时

27、间紧迫,中途时不时会灰心丧气,但是最后还是坚持了下来。这次的课程设计经历告诉我,做一件事情,只要自己不放弃,就一定能得到自己所要的。 参考文献 [1] 张俊.王庆春.面向对象程序设计(C++).武汉:武汉大学出版社.2009 [2] 谭浩强.语言程序设计.北京:清华大学出版社.2004 [3] 李普曼.C++ Primer中文版(第4版).北京:人民邮电出版社.2008 [4] 钱雪忠.黄建华.数据库原理及应用第二版.北京:北京邮电大学出版社.2005 [5] 罗建军. 朱丹军.顾刚.刘路放. 高等教育出版社__2版 附录 部分代码 //MyLIST.cpp

28、 #include"MyLIST.h" int LIST::length() { int counter=0; Student *current; current=head->next; while(current!=NULL) { current=current->next; counter++; } return counter; } bool LIST::get_data(int i,Student &x) { Student *current; int j=1; if((i<1)||(i>lengt

29、h())) { cout<<"非法位置读取元素,不能读取! \n"; return false; } current=head->next; while(current!=NULL&&jnext; } x=*current; return true; } bool LIST::get_succ (int i, Student &x) { Student *current ; int j=1; if((i<1)||(i>length())) { cout

30、<<"非法位置读取元素,不能读取! \n"; return false; } current=head->next; while(current!=NULL&&jnext; } if(current->next!=NULL) { x=*current->next; return true; } else { cout<<"第"<

31、int i, Student &x) { Student*current ,*previous; int j=1; if((i<1)||(i>length())) { cout<<"非法位置读取元素,不能读取! \n"; return false; } previous=head; current=head->next; while(current!=NULL&&jnext; } if( previous!=head)

32、 { x=*previous; return true; } else { cout<<"第"<next; while(current!=NULL&¤t->Num !=i) { j++; current=current->next; } if(j=

33、length()) { cout<<"没有找到该学号相关信息!"<>xg; string xingming; string xingbie; string jiguan; string xibie; string zhuanye; string banji; string bianhua; switch(xg)

34、 { case 1: double num; cout<<"您将修改学号,请输入新的学号"<>num; current->Num =num; break; case 2: cout<<"您将修改姓名,请输入新姓名"<>xingming; current->Name =xingming; break; case 3: cout<<"您将修改性别,请输入新性别"<>xingbie; current->Sex =xin

35、gbie; break; case 4: int nianling; cout<<"您将修改年龄,请输入新的年龄"<>nianling; current->Num =nianling; break; case 5: cout<<"您将修改籍贯,请输入新籍贯"<>jiguan; current->Jiguan=jiguan; break; case 6: cout<<"您将修改系别,请输入新系别"<>xibie;

36、 current->Xibie=xibie; break; case 7: cout<<"您将修改专业,请输入新专业"<>zhuanye; current->Zuanye =zhuanye; break; case 8: cout<<"您将修改班级,请输入新班级"<>banji; current->Class =banji; break; case 9: cout<<"您将修改学籍,请输入新学籍"<>bianhua;

37、 current->bianhua =bianhua; break; } return true; } bool LIST::insert_data ( Student data,int i) { Student*current ,*previous,*newnode; int j=1; newnode=new Student; if( newnode==NULL) { cout<<"内存无空闲空间,不能插入:"; return false; } newnode->Age =data.Age

38、 ; newnode->Num =data.Num ; newnode->Class =data.Class; newnode->Jiguan =data.Jiguan; newnode->Name =data.Name; newnode->Sex =data.Sex; newnode->Xibie =data.Xibie; newnode->Zuanye =data.Zuanye; newnode->bianhua =data.bianhua ; newnode->next=NULL; previ

39、ous=head; current=head->next; while(current!=NULL&&jnext; j++; }; newnode->next=current; previous->next=newnode; return true; } bool LIST::delete_data (double i) { Student *current ,*previous; int j=0; if(isempty()) {

40、 cout<<"表已空,不能删除!\n"; return false; }; previous=head; current=head->next; while(current!=NULL&¤t->Num !=i) { previous=current; current=current->next; j++; }; if(j==length()) { cout<<"没有该学号信息,不能删除!"<next=current->

41、next; delete current; return true; } bool LIST::find_data (double i,Student &result) { Student *current ; current=head->next; while(current!=NULL) { if(current->Num !=i ) current=current->next; else { result.Age =current->Age ; result.Num =current->Nu

42、m ; result.Class=current->Class; result.Jiguan=current->Jiguan; result.Name=current->Name; result.Sex=current->Sex; result.Xibie=current->Xibie; result.Zuanye=current->Zuanye; result.bianhua =current->bianhua

43、 cout<<"查找结果如下:"<

44、 <<"\t"<

45、 string banji; string bianhua; int nl; int sum=0; int tj; cout<<"选择统计信息:1性别,2年龄,3籍贯,4系别,5专业,6班级,7学籍变化"<>tj; switch(tj) { case 1: cout<<"输入要输出的性别: "; cin>>xingbie; cout<

46、<"籍贯" <<"\t" <<"系别" <<"\t"<<"专业" <<"\t"<<"班级"<<"\t"<<"学籍变化"<next; while(current!=NULL) { if(current->Sex==xingbie) { sum=sum+1; cout<Num<<"\t"<Name<<"\t" <Sex <<"\t"<Age <<"\t"<Jiguan

47、 <<"\t" <Xibie <<"\t"<Zuanye <<"\t"<Class<<"\t"<bianhua <next; } break; case 2: cout<<"输入要输出的年龄: "; cin>>nl; cout<<"年龄为"<

48、 <<"\t"<<"籍贯" <<"\t" <<"系别" <<"\t"<<"专业" <<"\t"<<"班级"<<"\t"<<"学籍变化"<next; while(current!=NULL) { if(current->Age ==nl) { sum=sum+1; cout<Num<<"\t"<Name<<"\t" <Sex <<"\t"<Age <<"\t"<Jigua

49、n <<"\t" <Xibie <<"\t"<Zuanye <<"\t"<Class<<"\t"<bianhua <next; } break; case 3: cout<<"输入要输出的籍贯: "; cin>>jiguan; cout<<"籍贯为"<

50、<"年龄" <<"\t"<<"籍贯" <<"\t" <<"系别" <<"\t"<<"专业" <<"\t"<<"班级"<<"\t"<<"学籍变化"<next; while(current!=NULL) { if(current->Jiguan ==jiguan) { sum=sum+1; cout<Num<<"\t"<Name<<"\t" <Sex <<"\t"<Age <<"\t"<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服