C语言综合实训设计报告_第1页
C语言综合实训设计报告_第2页
C语言综合实训设计报告_第3页
C语言综合实训设计报告_第4页
C语言综合实训设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

C语言综合实训设计报告实训目的说明一.设计报告的基本内容至少包括封面、正文、参考文献三部分。1.封面封面按照模版填写,不得随意更改。2.正文正文是设计报告的主体,具体由以下几部分组成:(1)问题描述描述要求编程解决的问题。(2)基本要求给出程序要达到的具体的要求。(3)需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:输入的形式和输入值的范围;输出的形式;程序所能达到的功能;测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。(4)概要设计说明本程序中主程序的流程以及各程序模块之间的层次(调用)关系。(5)详细设计实现概要设计中定义的所有数据类型,给出关键部分源程序的清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。(6)调试分析内容包括:调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;(7)用户使用说明说明如何使用你编写的程序,详细列出每一步的操作步骤。(8)测试结果设计测试数据,或具体给出测试数据。要求测试数据完整和严格,能全面地测试所设计程序的功能。(9)程序设计总结(10)参考文献列出参考的相关资料和书籍。二.格式要求中文:宋体五号英文:TimeNewRoman五号行距:单倍行距标题: 每一个标题都要加粗问题描述本系统查询数据库中的个人履历信息。用户使用说明在运行系统后根据系统要进行操作。如要进行查询功能,则输入该功能前的序号后按ENTER后根据提示输入要查询的个人的姓名后按ENTER即可得到所需信息。二

、功能分析设计一个人履历管理系统系统,实现以下功能:系统以菜单方式工作,个人履历信息录入功能(个人文件保存);个人履历信息包括:人名、性别、年龄、学校、电话号等;个人履历信息浏览功能(输出所有个人履历信息);查询功能;个人履历信息的删除与修改。三、程序设计(1)用文本编辑器编写一个name.txt的文件,文件中应包含20条以上记录,包含数据信息即个人履历信息。在运行程序时自动载入,若文件不存则创建一个空文件。(2)用文本编辑器编写一个school.txt的文件,文件中应包含20条以上记录,包含数据信息即个人履历信息。在运行程序时自动载入,若文件不存则创建一个空文件。(3)用文本编辑器编写一个year.txt的文件,文件中应包含20条以上记录,包含数据信息即个人履历信息。在运行程序时自动载入,若文件不存则创建一个空文件。(4)用文本编辑器编写一个sex.txt的文件,文件中应包含20条以上记录,包含数据信息即个人履历信息。在运行程序时自动载入,若文件不存则创建一个空文件。(5)用文本编辑器编写一个number.txt的文件,文件中应包含20条以上记录,包含数据信息即个人履历信息。man类中含有个人的姓名及性别数据,其余数据由主函数从TxT文件中获得,再需要查询或修改个人的信息时,个人的信息会录入相应的数组,查询时则有序的显示需要的信息,修改时则直接修改数组中的数据在程序结束时存入并覆盖相应TXT文件中的数据实现数据存储。个人的姓名与性别储存在man类中的string数组中,个人的年龄,手机号.储存在对应的的TXT文件中,在程序开始后,读取数据到long类型的和int类型数组中,在查询个人信息时由对应模块按照输入的姓名来查找对应的数组序号再按此序号输出各类数据数组中储存的信息。在修改个人信息时,修改相应数组位置的信息,然后再程序结束时覆盖原TXT文件中完成数据的储存并将数组中的数据保存。四、程序代码#include<iostream>#include<fstream>#include<string>usingnamespacestd;classman{public:stringName[5];//创建一个字符为5的名为Name的字符串stringSex[5];//创建一个字符为5的名为Sex的字符串stringSchool[5];//创建一个字符为5的名为School的字符串longNumber[5];//创建一个字符为5的名为Number的字符串intYear[5];//创建一个字符为5的名为Year的字符串};intmain(){ manA; ifstreamfin("Name.txt");//在运行程序时自动载入Name.txtfor(inti=0;i<5;i++){ fin>>A.Name[i];} ifstreamx("Sex.txt");//在运行程序时自动载入Sex.txtfor(inti=0;i<5;i++){ x>>A.Sex[i];} ifstreama("School.txt");//在运行程序时自动载入School.txtfor(inti=0;i<5;i++){ a>>A.School[i];} ifstreamc("Number.txt");//在运行程序时自动载入Number.txtfor(inti=0;i<5;i++){ c>>A.Number[i];} ifstreaml("Year.txt");//在运行程序时自动载入Year.txtfor(inti=0;i<5;i++){ l>>A.Year[i];} while(1){ cout<<"*************欢迎使用C语言个人履历管理系统****************"<<endl; cout<<"****************请输入要使用功能的序号********************"<<endl; cout<<"******************1.录入个人信息**************************"<<endl; cout<<"******************2.查询个人信息**************************"<<endl; cout<<"******************3.修改个人信息**************************"<<endl; cout<<"******************4.保存并退出****************************"<<endl; cout<<"请输入要使用的功能序号:"; intn; cin>>n; switch(n){ case1: { stringname; stringsex; stringschool; longnumber; intyear; cout<<"请输入姓名:"; cin>>name; cout<<"请输入性别:"; cin>>sex; cout<<"请输入学校:"; cin>>school; cout<<"请输入手机号码:"; cin>>number; cout<<"请输入年龄:"; cin>>year; for(inti=0;i<5;i++){ if(A.Year[i]==0){ A.Name[i]=name; A.Sex[i]=sex; A.School[i]=school; A.Number[i]=number; A.Year[i]=year; A.Year[i+1]=0; break; } } break;//年龄 } case2: { cout<<"请输入要查询的个人的姓名:"; stringM; intt; cin>>M; for(inti=0;i<5;i++)//确定该姓名所在的数组元素的序号输入姓名 { if(A.Name[i]==M) { t=i; break; } } cout<<"姓名性别年龄手机号码毕业大学"<<endl;//确定其他元素的位置根据所得的序号来 cout<<A.Name[t]<<""<<A.Sex[t]<<""<<A.Year[t]<<""<<A.Number[t]<<""<<A.School[t]<<endl; break; } case3: { cout<<"请输入要修改的个人的姓名:";//获得要修改的所有数组元素的序号根据姓名 stringW; intp; cin>>W; for(inti=0;i<5;i++) { if(A.Name[i]==W) { p=i; } } intk; cout<<"**********1.修改姓名***********"<<endl; cout<<"**********2.修改性别***********"<<endl; cout<<"**********3.修改年龄***********"<<endl; cout<<"**********4.修改号码***********"<<endl; cout<<"**********5.修改大学***********"<<endl; cout<<"请输入要进行的操作前的序号:"; cin>>k; switch(k) { case1: { cout<<"请输入修改后的姓名:"; stringN; cin>>N; A.Name[p]=N; break;//修改姓名成新的姓名 } case2: { cout<<"请输入修改后的性别:"; stringS; cin>>S; A.Sex[p]=S; break;//修改姓别成新的姓别 } case3: { cout<<"请输入修改后的年龄:"; intY; cin>>Y; A.Year[p]=Y; break;//修改年龄成新的年龄 } case4: { cout<<"请输入修改后的号码:"; charNb; cin>>Nb; A.Number[p]=Nb; break;//修改号码成新的号码 } case5: { cout<<"请输入修改后的大学:"; stringSc; cin>>Sc; A.School[p]=Sc; break;//修改大学成新的大学 } } break; } case4: { ofstreammycout("Name.txt"); for(inti=0;i<5;i++){ mycout<<A.Name[i]<<"";}mycout.close();ofstreamqycout("Sex.txt"); for(inti=0;i<5;i++){ qycout<<A.Sex[i]<<"";}qycout.close(); ofstreamwycout("Number.txt"); for(inti=0;i<5;i++){ wycout<<A.Number[i]<<"";}wycout.close();ofstreamrycout("Year.txt"); for(inti=0;i<5;i++){ rycout<<A.Year[i]<<"";}rycout.close();ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();exit(0);break; } } }}录入个人信息录入了1,小琴,女,西安财经大学,156,20查询个人信息小刚输出:小刚男341336西安财经大学修改个人信息将小刚年龄修改为66开始菜单实行步骤开始菜单本系统通过在while循环中套用switch函数来实现系统功能的循环与选自,如程序正常运行会出现以下主菜单:cout<<"***欢迎使用C语言个人履历管理系统****"<<endl; cout<<"******请输入要使用功能的序号*********"<<endl; cout<<"**********1.录入个人信息**************"<<endl; cout<<"**********2.查询个人信息**************"<<endl; cout<<"**********3.修改个人信息**************"<<endl; cout<<"**********4.保存并退出****************"<<endl; cout<<"请输入要使用的功能序号:";通过输入一个数字,让系统将其获取,并进入switch循环中,以此来进行功能的选则。录入功能当系统执行录入时,会生成5个变量,分别为三个string变量name,sex,School,和long变量number一个int变量year,而后用户根据系统的提示将一个人的信息输入进去。当用户看到“请输入姓名:”后输入新的姓名,系统会执行cin>>name;语句,将输入的姓名保存到name中,以此模式输入所有信息后:for(inti=0;i<5;i++){ if(A.Year[i]==0){ A.Name[i]=name; A.Sex[i]=sex; A.School[i]=school; A.Number[i]=number; A.Year[i]=year; A.Year[i+1]=0;break; } }由for循环与if来确定Year数组中从哪一位开始为零,获得这一位的下标,下表来将输入的信息存入到各个数组的空位中,最后一句用A.Year[i+1]=0;来将此数组的下一位的值赋0,确保下一次执行时没有乱码的干扰导致系统运行出错。查询功能系统执行查询功能时,用户看到“请输入要查询的个人的姓名:”的提示后输入要查询的人的姓名,系统会执行该语句:

stringM;cin>>M;将输入的姓名保存进string型的M变量中,之后执行intt;for(inti=0;i<5;i++){ if(A.Name[i]==M) { t=i; break; } }创建int型的t变量,通过for循环与if来找出与输入姓名相同的Name数组中的元素的下标,并将此下标赋予t,之后执行:

cout<<A.Name[t]<<""<<A.Sex[t]<<"<<A.Year[t]<<""<<A.Number[t]<<""<<A.School[t]<<endl;用与相应Name数组元素下标相同的数字表示其他数组的下标,从而打印出想要查询的个人的所有信息。修改功能系统执行这项功能时,输入需要修改的个人的姓名,系统执行将输入的姓名保存到string型的变量W中,之后执行创建int型的p变量,通过for循环if来找出与输入姓名相同的Name数组中的元素的下标,将此下标赋予pstringW;cin>>W;intp;for(inti=0;i<5;i++) { if(A.Name[i]==W) { p=i; } }cout<<"**********1.修改姓名***********"<<endl; cout<<"**********2.修改性别***********"<<endl; cout<<"**********3.修改年龄***********"<<endl; cout<<"**********4.修改号码***********"<<endl; cout<<"**********5.修改大学***********"<<endl; cout<<"请输入要进行的操作前的序号:";

在用户根据系统提示选择要进行操作,此处使用了一个switch循环,例如选则1号的话就执行修改姓名的操作,再输入了1后会看到系统提示:“请输入修改后的姓名:”在输入了修改后的姓名后,系统会执行以下语句:stringN; cin>>N; A.Name[p]=N;创建string型的N变量来接收出入的新的姓名,根据之前确定的数组元素位置来用新的元素覆盖原本的位置所在的元素完成数据的修改,其他修改选项与之类似。保存功能自动执行ofstreammycout("Name.txt"); for(inti=0;i<5;i++){ mycout<<A.Name[i]<<"";}mycout.close();ofstreamqycout("Sex.txt"); for(inti=0;i<5;i++){ qycout<<A.Sex[i]<<"";}qycout.close(); ofstreamwycout("Number.txt"); for(inti=0;i<5;i++){ wycout<<A.Number[i]<<"";}wycout.close();ofstreamrycout("Year.txt"); for(inti=0;i<5;i++){ rycout<<A.Year[i]<<"";}rycout.close();ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();exit(0);ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();模块对应的数组保存到对应的TXT文件中并覆盖原本的数据,来完成对数据的保存。六、调试与测试随着科学技术的迅猛发展和社会各方面的需要,人事管理工作已经处在越来越突出的位置了,所以建立一个完善的健全的人事管理系统是非常必要的。人事管理就是通常所说的人事工作,在现代管理学中被称作人力资源管理。在现代管理中,运用现代化的科学方法,对管理系统中的人事进行合理的组织、调配、培训,协调人的因素与物的因素的关系,使两者经常保持最佳比例,从而保证人主观能动性得到最大的发挥,也就是人尽其才、事得其人、人事相宜的管理状态。人事管理的任务是要协调人与人的关系、组织成员与组织目标的关系,创造有益于组织也有益于组织成员个人的环境,使管理系统的目标与组织成员个人的目标结合起来,充分调动起全体组织成员的积极性。在一些发达国家已经形成相当的规模和体系,在我国也得到社会的普遍认可,许多大型企业和中小型企业已采用这种方式来进行管理。它的出现,对现有的企业管理是一次强有力的冲击,而且对人们旧有的管理观念产生了深刻的影响。基于上述的影响,根据企业的实际需要我们对该系统进行全面的设计!正是实训短学期给了我这样的机会,在现在这个普遍浮躁的社会我能为自己能获得到这个几个星期静下心来学习的机会而感到荣幸,虽然在正式学期的时候也学到了很多知识但是正是因为有了实训短学期这样的机会能让我自习思考这其中的原因,代码的原理。从大学刚入学开始我就一直期待这次实训短学期对我能力的提升,而老师充满趣味的讲课方式也让我更好的吸收了知识。现在当程序员的门槛很低了,普遍是在外面报个班就能打基础的码农,而我们在校大学生和他们不同的就是我们会独立思考而不是一味地只是个打代码的机器。我们学习了高等数学,学习了离散数学,学习了线性代数,这些课程都能打开我们的思维,从更多方面的优化代码,使得我们的代码获得与别人完全不同的效果。而实训短学期给我的正是这样的帮助,带我们学习除了上课教学的c语言,c++语言之外的更多语言,扩宽我们的思路,实现用不同的代码实现功能,取其所长,挑选最优的语言,最优的代码。我个人从小就对计算机感兴趣而代码证是计算机的生命,是代码让计算机“活”了起来。所以大学我选上了软件工程这个专业是异常兴奋的。我希望有一天我能写出我自己的软件,能让更多人体验到我的软件,哪怕为他们的生活添减一点点便利。曾经有人说过这样一句话“最棒的科技就是让人们感受不到科技的存在”。如果不是特别指出谁又能知道空气的存在呢,我希望有一天网络就像空气一样能让让人感觉不到。大学就是一个小社会,我们都在为了进入最后的准备,而大学教我们的就是这样的知识,在参观了真正的软件园之后我更加坚定了我写程序的梦想。于是在实训短学期的后半程我和另外两个小伙伴便编写了这个程序,我们借鉴了我们本学期程序设计期末作业

温馨提示

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

评论

0/150

提交评论