付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学院程序设计工程训练报告C语言程序设计职工工作量统计系统设计课程名称C语言程序设计工程训练名信息科学与技术学院院(系)专业班级 学 号指导教师教务处制需求分析1.系统总框图和功能模块说明2.1系统总框图 2.2功能模块说明2.系统设计3.1主要结构体3.2主要功能函数3.3关键函数的流程图系统调试总结源程序清单错误!未定义书签。,错误!未定义书签。11需求分析设计职工工作量统计系统,使之能提供以下功能:系统以菜单方式工作输入职工工号和完成的产品数量,允许同一职工有多次输入对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次完成的产品数量由多到少的顺序,输出名次
2、、同一名次的职工人数及他们的工号(工号由小到大顺序输出)要求程序用有序链表存储数据信息。2系统总框图和功能模块说明2.1系统总框图图1系统总框图2.2功能模块说明1、输入信息模块,完成信息录入功能,把用户从终端键盘输入的信息(工作量,工 号,姓名)保存在系统中。2浏览信息模块,完成信息输出功能,把系统中已经保存的信息输出,查看排名等3、初始化系统模块,完成系统初始化操作。4. 输出模块,按需求输出信息。5、退出系统模块,完成关闭程序操作。6、修改信息模块,包括修改或添加或删除职工工作量,姓名等信息。3系统设计3.1主要结构体 #in clude#i ncludevstri ng.h#in cl
3、udeclass stuchar n ame20;double much,sum;p ublic:stu()stu(char n 20,double muc)strc py(n ame, n); much=muc;double getsumOsum=much;return sum;frie nd void mai n();3.2主要功能函数输入信息函数此模块是输入职工信息模块的函数,输入职工的姓名,工号,及工作量。doswitch( p)case O:char c;char n ame20;double much;docoutvv请输入职工姓名n ame;coutvv请输入产品数量: much
4、;filej=new ofstream(d:docume nt,ios:ate);*filejvv姓名vvnamevv产品数量vvmuchvvendl; j+;si=new stu (n ame, much);i+;coutvv数据录入成功,想继续录入吗(y/n)vve ndl; cin c;flag2=0;修改工作量函数此模块要求修改,删除工作量的函数coutvv请输入您要增加的职工的姓名:vve ndl; cinn ame;coutvv请输入产品数量vvendl;cin much;filej=new ofstream(d:docume nt,ios:ate);*filejvv姓名vvnam
5、evv产品数量vvmuchvvendl; j+;si=new stu (n ame, much);i+;docoutvv请输入您要删除的职工姓名:vve ndl; cinn ame;for(i nt h=0;hvi;h+)if(strc mp(n ame,sh- name)=0)flag3=1;do sh=sh+1; h+;while(hv=i); coutvv请输入您要修改的职工的姓名:n ame;for(i nt h=0;hvi;h+)if(strc mp(n ame,sh-n ame)=0)flag2=1;coutvv请输入新完成的产品数量:vve ndl; cin mat;sh-muc
6、h+=mat;coutvv数据添加成功!;查询模块函数此函数提供查询职工工作量,及排名的功能doint flag=0;coutvv请输入你要查询的职工姓名vve ndl;cinn;for(i nt j=0;jvi;j+)if(strc mp (n,(*sj). name)=0)flag=1;coutvv您要查询的职工是:vv(*sj). namevve ndl;coutvv(*sj).namevv的总产品数量是vv(*sj).getsum()vvendl; for(i nt k=0;kvi;k+)coutvvk+1vv vv姓名:vv vvsk-namevv总产品数量:vv vv(*sk).g
7、etsum() vve ndl;break;case 7:int t;stu b;coutvv本系统所有职工排名如下:getsum()v(sy-getsum() t=y;if(t!=x)b=*sx;*sx=*st;*st=b;3.3关键函数流程图主函数流程图:开始X-11厂输入工号,姓名工作量11J统计职工工作量Xr输出统计结果、1厂结束V输入模块流程图修改模块函数流程图4.系统调试及运行界面显示菜单绸1鸯金Wfe4R工人员 ofr莞成的需要添加的产韶数量数据C5R输入职工信息界面 C:Lr se rs Ad mi ni st rato rDe 5 ktopDebu gC ppl,exe*II
8、 u.回-匸选扌蔘專bG甘殳蟄可拉伯数宇!is ?匹才丰,捏;芮竟口:坊 舉祜=4丄、 !gx数据录A K丄增加距土入员 0删繰职工人员 琴魯完成的需要添加的产品数量数搦 药畫 总产最鑿*章询 聲期蹲的彎二,殳 S1SS& 拉伯数字!&请输入职工姓名a请输入产品数量=100数据录入成功,想继续录入吗5帀输出职工工作量排名r.i C li se rsAdm n! si ratorDe s kt opDe bu gC ppi. exe请输入产品数量:100数据录入咸功,想继续录入吗3rOV字旨令错误!请重新输入!9詹输入职工姓名B睛输入产品数量;10数据录入成功,想继续录入吗3N指令错误!请重新输
9、入!n您想继续进行其他操作吗? 32yItpJESn请输Ag生代g: 55?职工数握录; IP豐哪工人S;删墜腿工人愛 门斬完咸 鑒添加前产品数輕龄便提总产品釵蚤询:寢职工姓名盘亂输岀所t职工 飙曲 捷职工笙耗的总产品数量查抽乘名纭繪所頁即蘿下i雅务曙亡品豊100吗;t/n 删除职工信息界面* C:UsersA dm inistratorDeslctopDebugCppl,e5(e*护据录入咸功,想继续录入吗眾旨令错误!请重新输入!n您想鍵绩进行苴他操作吗ze奮输入握蛋代码;5职工数握录厶* W职工人吴,删墮咫H人电 M完成W gj摯噁蕭鰐塞嚮辱啻辍gg當gg询匚 0职工姓名蚤囱 3输出所肴职
10、H场 7八2備爵翻編吗響“潴输Ag侄代m吉 翌?职工数握录,t严魁哽H工人H人垦 字堑完成靂 gj摯ng闍爵騁嚮营弄議書询:0寢职工姓名蚤囱 输出所肴职H騎 2、3请输入您要删除的职工姓名:B要继续删除吗 32n您想继结进行其他操作吗 0添加职工信息界面嗨加陀罷磊I噜耽翻鹏番A请输入新完成的产品数量,90数据添加成功!想继续修改吗325.设计总结(课程设计心得与体会)经过几天的C语言课程设计,感觉自己收获不少!这个课程设计里面主要都是用链表,因为要达到这样的功能, 使用 链表相当方便,但不容易理解,所以在这方面我很了很多的时间看课本 和参考课外书,使C语言的知识强化了不少。其次,在做课程设计的
11、过程中,发现了平时很多没有注意到的问题, 例如:返回值函数和不返回值函数两者在主函数中的调用是不同更重要的是,这次课程设计虽然花了我不少时间, 但正是这些时间, 让我见识到了 C语言的重要性。由于这是第一次进行设计,写文档,难免会写得不好!请见谅! !6程序代码#in clude#in clude#in cludeclass stuchar n ame20;double much,sum;public:stu()stu(char n 20,double muc)strc py( name, n);much=muc;double getsum()sum=much;return sum;frie
12、nd void mai n();void mai n()cout请选择您需要的操作!e ndl;cout操作:e ndl;cout(0)职工数据录入cout(1)增加职工人员cout(2)删除职工人员e ndl;e ndl;e ndl;cout(3)新完成的需要添加的产品数量数据cout查询:e ndl;cout(4)按总产品数量查询endl;cout(5)按职工姓名查询endl;cout(6)输出所有职工的数据endl;cout生产量排名名次endl;cout(7)按职工生产的总产品数量查询排名e ndl;e ndl;cout选择相关操作请输入相对的括号里的阿拉伯数字!char P ;cha
13、r w;stu *s50;ofstream *file50;int i=0;p;if( p=0&P =10)flag2=1;elsecout指令错误!请重新输入:e ndl;while(flag2=0);doswitch( p)case 0:char c;char n ame20;double much;docout请输入职工姓名 n ame;cout请输入产品数量: much;filej=new ofstream(d:docume nt,ios:ate);*filej姓名name产品数量muchendl;j+;si=new stu (n ame, much);i+;cout数据录入成功,想继
14、续录入吗(y/n) c;flag2=0;doif(c!=y&c!= n)cout指令错误!请重新输入!c;elseflag2=1;while(flag2=0); while(c=y); break;case 1:char n ame20;double much;char c;docout请输入您要增加的职工的姓名:n ame;cout请输入产品数量 much;filej=new ofstream(d:docume nt,ios:ate);*filej姓名name产品数量muchendl;j+;si=new stu (n ame, much);i+;cout数据录入成功,想继续录入吗(y/n)c
15、;if(c!=y &c!= n)cout指令错误!请重新输入! c;while(c=y);break;case 2:char n ame20;bool flag3=0;char c;docout请输入您要删除的职工姓名:n ame;for(i nt h=O;hn ame)=0)flag3=1;i-;dosh=sh+1;h+;while(h=i);if(flag3=0)H.cout您要求删除的对象本来就不存在!请检查输入的正确性!cout要继续删除吗?(y/n)c;if(c!=y &c!= n)cout指令错误!请重新输入!c;while(c=y);break;case 3:char n ame
16、20;double mat;flag2=0;char c;docoutn ame;for(i nt h=0;hn ame)=0)flag2=1;cout mat;sh-much+=mat;cout数据添加成功!if(flag2=0)cout您要修改的职工本来就不存在!cout想继续修改吗(y/n)c;if(c!=y&c!= n)cout指令错误!请重新输入! c;while(c=y);break;H.e ndl;e ndl;请检查重新输入!e ndl;case 4:double t;char c;doint flag1=0;cout请输入你要查询职工的总产品数量t;for(i nt q=0;q
17、getsum()=t)flag1=1;cout您要查询的职工是:(*sq). namee ndl;if(flag1=0)cout对不起!您要查询的职工不存在!e ndl;cout您想继续查询吗?(y/n) c;if(c!=y&c!= n)cout指令错误!请重新输入! c;while(c=y);break; case 5:char n 20;i nt j=O;char c;doint flag=0;cout请输入你要查询的职工姓名n;for(i nt j=0;ji;j+)if(strcm p(n ,(*sj). name)=0)flag=1;cout您要查询的职工是:(*sj). namee
18、ndl;cout(*sj).name的总产品数量是(*sj).getsum()endl; if(flag=0)cout对不起!您要查询的职工不存在!endl;cout您想继续查询吗?(y/n)c;if(c!=y &c!= n)e ndl;cout c;while(c=y);break; case 6:e ndl;cout本系统所有职工数据如下:if(i=0)e ndl;cout管理系统中没有录入数据或者数据已经被删除!for(i nt k=0;ki;k+)coutk+1 姓名:name总产品数量: (*sk).getsum() endl;break;case 7:int t;stu b;cou
19、t本系统所有职工排名如下:e ndl;for(i nt x=0;xi-1;x+)t=x;for(i nt y=x+1;ygetsum()getsum()t=y;if(t!=x)b=*s x;*sx=*st;*st=b;if(i=0)H.cout管理系统中没有录入数据或者数据已经被删除!for(i nt k=0;ki;k+)coutk+1 姓名:name总产品数量: getsum() e ndl;break;case 9:int t;stu b;e ndl;cout本系统所以职工总产品数量排名如下:for(i nt x=0;xi-1;x+)t=x;for(i nt y=x+1;ymuch)muc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抢分攻略 2027届广东省语文高考华师大版三轮考前演练卷(含答案+解析)
- 2026年安全员《B证》题库及参考答案详解(完整版)
- 2026综合类-中医临床三基(护士)-内科护理历年真题摘选带答案详解
- 2026经济类-初级经济师-初级经济师(初级金融)历年真题摘选带答案详解
- 2026福建省教育教学能力水平考试(体育与健康)历年参考题库含答案详解
- 2026福建中级职称教育教学能力水平考试(特殊教育)历年参考题库含答案详解
- 2026省级行业企业职业技能竞赛(焊工)历年参考题库含答案详解
- 2026电工进网作业许可考试(高压类)历年参考题库含答案详解
- 2026特种设备检验人员资格考试(电梯检验师DTS)历年参考题库含答案详解
- 2026物业管理员(师)职业能力等级评价考试(助理物业管理师)历年参考题库含答案详解
- 2026-2027学年秋苏科版新版小学信息科技三年级上册教学计划及进度表
- 快乐读书吧 《读书真快乐》 课件 2026-2027学年一年级上册语文统编版
- 北师大版物理九年级全一册《分子动理论》同步练习题(带答案)
- 分公司章程范本
- 2026区域农产品冷链物流中心布局优化与多品经营成本控制规划
- 丰县2026年社区工作人员和村干部招聘考试试卷-含答案解析
- 血液净化在临床中的应用与护理
- 2026新教科版科学六年级上册全套分组演示实验报告(共28个实验可用下料填写实验报告单)
- 暖通专业专项施工方案
- 2026年新教材人教PEP版五年级上册英语Unit 2 My feelings教案
- 2026年高级工保安员试题及答案
评论
0/150
提交评论