为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

江西理工大学通信113基于C++的学生籍贯信息记录簿设计

2017-11-17 26页 doc 203KB 65阅读

用户头像

is_266065

暂无简介

举报
江西理工大学通信113基于C++的学生籍贯信息记录簿设计江西理工大学通信113基于C++的学生籍贯信息记录簿设计 学生籍贯信息记录簿设计 ——基于C++平台 学院: 信息工程学院 专业班级: 通信113班 学生学号及姓名: 31黄志晔 32况思敏 33李阳 指导老师: 肖玲玲 起止时间: 2012年12月31,2013年元月11日 设计任务:学生籍贯信息记录簿设计 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯;...
江西理工大学通信113基于C++的学生籍贯信息记录簿设计
江西理工大学通信113基于C++的学生籍贯信息簿 学生籍贯信息记录簿设计 ——基于C++平台 学院: 信息工程学院 专业班级: 通信113班 学生学号及姓名: 31黄志晔 32况思敏 33李阳 指导老师: 肖玲玲 起止时间: 2012年12月31,2013年元月11日 设计任务:学生籍贯信息记录簿设计 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯; (4)按籍贯查询并输出该籍贯的所有学生; (5)能添加、删除和修改学生的籍贯信息(可选项) 老师评语: 目录 一 引言--------------------------------------------------------------------------------1 二 系统需求分析--------------------------------------------------------------------2 三 设计流程及算法-----------------------------------------------------------------3 3.1 总体设计-------------------------------------------------------------------------------------3 3.2 详细设计:设计流程图---------------------------------------------------------------------3 3.3 算法的实现与运行------------------------------------------------------------------------3 3.3.0 建立信息链表------------------------------------------------------------------------4 3.3.1 添加一个学生到数组---------------------------------------------------------------4 3.3.2 输出所有学生的籍贯信息---------------------------------------------------------4 3.3.3 加数组学生到文件------------------------------------------------------------------5 3.3.4 显示文件中所有学生---------------------------------------------------------------5 3.3.5 按学号查询---------------------------------------------------------------------------6 3.3.6 按籍贯查询---------------------------------------------------------------------------6 3.3.7 删除人员---------------------------------------------------------------------------------------------7 四 数据结构的设计----------------------------------------------------------------8 五 软件的测试与调----------------------------------------------------------------9 六 课程设计心得-------------------------------------------------------------------14 七 参考文献-------------------------------------------------------------------------14 八 附录 源程序----------------------------------------------------------------------15 1 引 言 学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 计算机已经成为我们学习和工作的得力助手: 今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率等等。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括保密和前台应用程序的开发两个方面。 本次课程设计目的:通过一个企业人事管理系统,使学校档案管理工作系统化、化、自动化,从而达到提高学校管理效率。使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。 系统的基本模块:根据系统功能的要求,学生档案系统可以分为新学生档案的输入,学生档案的显示、查询和删除等模块。 2 系统需求分析 2.1问题定义 项目:学生管理应用软件。 目的:让院校有效的管理体制学生信息,帮助学校老师掌握学生的情况。 背景:根据当前某高校的学生管理出现的异常问题:它浪费人力和其它资源。因此,基于这种缺陷而制定开发这个学生管理系统软件。 2.2 可行性研究 从技术方面,是通过C++来做系统的前台,来实现整系统的功能;从操作方面,基本的录入、查询、修改等都能满足用户的需求;此次设计没有考虑经济可行性。经过这一阶段确定了该系统的粗略系统流程图。 可行研究阶段的目标是:使工作人员从繁琐的填表,查表工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。 2.3 需求分析 应该确定系统必须在Microsoft Visual C++ 6.0的环境下实现具有添加新学生、显示全部、查询、删除、等功能的学生档案管理系统子模块(学生籍贯信息记录簿)。 其中本次课程设计实现的档案模块又分为如下子模块: 1(登陆界面:主要是对用户权限的判断,判断是否为合法用户,是合法用户的 就可以对数据进行操作。 2(新生录入:主要是将新生信息录入到数据库中; 3(管理项目:对学生信息进行添加、删除、查询等。 3 设计流程及算法 3.1总体设计:1.设置输入输出流及将程序由磁盘文件保存,构件类stu,其主要包括:学号 , 籍贯. 2.构建无返回值main函数,输出由与程序相关操作构成的信息链表 3.根据链表设置利用if函数和循环函数将链表中的内容一一实现. 3.2详细设计:设计流程图: 目前程序已达到的功能: 学生籍贯 信息记录 簿 添加学生到显示数组中添加数组的按学号或籍删除学生 的学生和显学生到文件贯查询学生 数组 示文件中的和文件输入 学生 数组 一(信息链表内容如下: 1添加一个学生到数组 2显示数组中所有学生 3加数组学生到文件 4显示文件所有学生 5按学号查询学生 6按籍贯查询学生 7/删除一个学生 8文件输入数组 0完成 二.选择相关操作请输入相对应的阿拉伯数字。 三.设置if函数使输入序号与符号所需要求相对应。 四.在if函数中,实现多分支选择结构,并实现序号与相应内容的对应关系. 3.3算法的实现与运行: 3.3.0在程序开始运行时既会出现一信息链表,按链表要求输入序号,若输入的数 字不是在0-8这个范围之内则要求重新输入。而实现该过程需要利用到if循环。 void main() { int k=-1; while(k!=0) { cout<>k; if (k==1) AddStudent(); else if(k==2) Loop(); else if(k==3) AddToFile(); else if(k==4) ShowFile(); else if(k==5) FindID(); else if(k==6) FindProvince(); else if(k==7) Remove(); else if(k==8) ReadFile(); else if(k==0) printf("完成~\n"); else printf("你输入了个错误的数字~\n"); } return; } 3.3.1添加一个学生到数组:定义字符型变量籍贯,学号。输入相关内容,利用指针使 输入的数据直接存入到内存中。 int AddStudent() { int id; string province; cout<<"学号,籍贯: "; cin>>id>>province; student[n].setID(id); student[n].setProvince(province); n++; return 0; } 3.3.2输出所有学生的籍贯信息:利用指针将数据库中与要查询的学生相对应的信息 内容从数据库中调出。其输出的方式为循环方式,设置循环条件,利用for语句, 设置变量I,n,使i从0进行自加,直到i的值为n,并依次将studengt[i]的值输出, 从而达到输出所有学生的学籍信息的目的。 int Loop() { int i; cout<<"显示所有学生:"<>id>>province) { student[n].setID(id); student[n].setProvince(province); n++; } iFile.close(); return 0; } int Loop() { int i; cout<<"显示所有学生:"<>id1; ifstream iFile(fileName.c_str()); while(iFile>>id2>>province) { if(id1==id2) { cout<>province1; ifstream iFile(fileName.c_str()); while(iFile>>id>>province2) { if(province1==province2) cout<>id; ReadFile(); for(i=0;i
本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 七 参考文献 [1]谭浩强.《C++程序设计》.第一版.出版地:清华大学出版社,出版年:2004年6月。 [2]薛松、杨彬、赵栋伟等.《VisualC++编程实例》.第一版.出版地:人民邮电出版社,出版年:1999年8月。 [3]郑阿奇、梁敬东等.《C#程序设计》.第一版.出版地:机械工业出版社,出版年:2009年1月。 [4] 丁勇, 彭积云, 查金旺.《学生管理系统的设计与实现》. 八 附录: 源程序清单: #include #include #include using namespace std; class CStudent { private: int ID; //学号 string Province; //籍贯 public: void setID(int id) {ID=id;} void setProvince(string province) {Province=province;} int getID() {return ID;} string getProvince() {return Province;} }; CStudent student[1000]; int n = 0; //数组学生总数 string fileName="students.txt"; int AddStudent(); //添加一个学生到数组 int Loop(); //显示数组中所有学生 int AddToFile(); //加数组学生到文件 int SaveFile(); //数组到文件 int ShowFile(); //显示文件所有学生 int FindID(); //按学号查询学生 int FindProvince(); //按籍贯查询学生 int Remove(); //删除一个学生 int ReadFile(); //文件输入数组 void main() { int k=-1; while(k!=0) { cout<>k; if (k==1) AddStudent(); else if(k==2) Loop(); else if(k==3) AddToFile(); else if(k==4) ShowFile(); else if(k==5) FindID(); else if(k==6) FindProvince(); else if(k==7) Remove(); else if(k==8) ReadFile(); else if(k==0) printf("完成~\n"); else printf("你输入了个错误的数字~\n"); } return; } int FindProvince() { int id; string province1,province2; cout<<"籍贯:"; cin>>province1; ifstream iFile(fileName.c_str()); while(iFile>>id>>province2) { if(province1==province2) cout<>id1; ifstream iFile(fileName.c_str()); while(iFile>>id2>>province) { if(id1==id2) { cout<>id; ReadFile(); for(i=0;i>id>>province; student[n].setID(id); student[n].setProvince(province); n++; return 0; } int AddToFile() { ofstream oFile(fileName.c_str(),ios::app); int i; for(i=0;i>id>>province) { student[n].setID(id); student[n].setProvince(province); n++; } iFile.close(); return 0; } int Loop() { int i; cout<<"显示所有学生:"<
/
本文档为【江西理工大学通信113基于C++的学生籍贯信息记录簿设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索