




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學院程序設計工程訓練報告C語言程序設計職工工作量統(tǒng)計系統(tǒng)設計課程名稱C語言程序設計工程訓練姓名院(系)信息科學與技術學院專業(yè)班級學號指導教師教務處制1 需求分析12 系統(tǒng)總框圖和功能模塊說明12.1 系統(tǒng)總框圖12.2 功能模塊說明13 系統(tǒng)設計23.1 主要結構體錯誤!.未定義書簽。3.2 主要功能函數(shù)錯誤!.未定義書簽。3.3 關鍵函數(shù)的流程圖74 系統(tǒng)調試85 總結106 源程序清單111需求分析設計職工工作量統(tǒng)計系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作輸入職工工號和完成的產品數(shù)量,允許同一職工有多次輸入對其完成的產品數(shù)量實現(xiàn)累計。程序按完成數(shù)量對他們排序,并確定他們的名次(工完成的
2、產品數(shù)量由多到少的順序,輸出名次、同一名次的職工人數(shù)及他們的工號號由小到大順序輸出)要求程序用有序鏈表存儲數(shù)據(jù)信息。2系統(tǒng)總框圖和功能模塊說明2.1 系統(tǒng)總框圖職工工作量統(tǒng)計系統(tǒng)輸入信息輸出信息瀏覽信息初始化系統(tǒng)修改信息退出系統(tǒng)圖1系統(tǒng)總框圖2.2 功能模塊說明1、輸入信息模塊,完成信息錄入功能,把用戶從終端鍵盤輸入的信息(工作量,號,姓名)保存在系統(tǒng)中2、瀏覽信息模塊,完成信息輸出功能,把系統(tǒng)中已經(jīng)保存的信息輸出,查看排名3、初始化系統(tǒng)模塊,完成系統(tǒng)初始化操作。4輸出模塊,按需求輸出信息。5、退出系統(tǒng)模塊,完成關閉程序操作。6、修改信息模塊,包括修改或添加或刪除職工工作量,姓名等信息。3系統(tǒng)
3、設計3.1 主要結構體#include<iostream.h>#include<string.h>#include<fstream.h>classstucharname20;doublemuch,sum;public:stu()stu(charn20,doublemuc)strcpy(name,n);much=muc;doublegetsum()sum=much;returnsum;friendvoidmain();3.2 主要功能函數(shù)輸入信息函數(shù)此模塊是輸入職工信息模塊的函數(shù),輸入職工的姓名,工號,及工作量。doswitch(p)case'0
4、9;:charc;charname20;doublemuch;docout<<"請輸入職工姓名"<<endl;cin>>name;cout<<"請輸入產品數(shù)量:"<<endl;cin>>much;filej=newofstream("d:document",ios:ate);*filej<<"姓名"<<name<<"產品數(shù)量"<<much<<endl;j+;si=n
5、ewstu(name,much);i+;cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl;cin>>c;flag2=0;修改工作量函數(shù)此模塊要求修改,刪除工作量的函數(shù)cout<<"請輸入您要增加的職工的姓名:"<<endl;cin>>name;cout<<"請輸入產品數(shù)量"<<endl;cin>>much;filej=newofstream("d:document",ios二ate);*fil
6、ej<<"姓名"<<name<<"產品數(shù)量"<<much<<endl;j+;si=newstu(name,much);i+;docout<<"請輸入您要刪除的職工姓名:"<<endl;cin>>name;for(inth=0;h<i;h+)if(strcmp(name,sh->name)=0)flag3=1;i-;dosh=sh+1;h+;while(h<=i);"<<endl;cout<<
7、;"請輸入您要修改的職工的姓名:cin>>name;for(inth=0;h<i;h+)if(strcmp(name,sh->name)=0)flag2=1;cout«"請輸入新完成的產品數(shù)量:"«endl;cin»mat;sh->much+=mat;coutvv”數(shù)據(jù)添加成功!";)查詢模塊函數(shù)此函數(shù)提供查詢職工工作量,及排名的功能dointflag=O;cout«"請輸入你要查詢的職工姓名"«endl;cin»n;for(intj=O;j&l
8、t;i;j+)(if(strcmp(n,(*sj).name)=0)(flag=1;cout«"您要查詢的職工是:"«(*sj),name«endl;cout«(*sj).name«"的總產品數(shù)量是"«(*sj).getsum()«endl;)for(intk=O;k<i;k+)cout«k+1«""«"姓名"«sk->name«"總產品數(shù)量:"vv”"&
9、#171;(*sk),getsum()«endl;)break;)case7':(intt;stub;cout«"本系統(tǒng)所有職工排名如下:"«endl;for(intx=0;x<i-1;x+)(t=x;for(inty=x+1;y<i;y+)(if(st->getsum()<(sy->getsum()t=y;if(t!=x)b=*sx;*sx=*st;*st=b;3.3關鍵函數(shù)流程圖主函數(shù)流程圖:輸入模塊流程圖修改模塊函數(shù)流程圖4.系統(tǒng)調試及運行界面顯示菜單輸入職工信息界面輸出職工工作量排名刪除職工信息界面
10、添加職工信息界面5.設計總結(課程設計心得與體會)經(jīng)過幾天的C語言課程設計,感覺自己收獲不少!這個課程設計里面主要都是用鏈表,因為要達到這樣的功能,使用鏈表相當方便,但不容易理解,所以在這方面我很了很多的時間看課本和參考課外書,使C語言的知識強化了不少。其次,在做課程設計的過程中,發(fā)現(xiàn)了平時很多沒有注意到的問題,例如:返回值函數(shù)和不返回值函數(shù)兩者在主函數(shù)中的調用是不同的更重要的是,這次課程設計雖然花了我不少時間,但正是這些時間,讓我見識到了C語言的重要性。由于這是第一次進行設計,寫文檔,難免會寫得不好!請見諒!6.程序代碼#include<iostream.h>#include&l
11、t;string.h>#include<fstream.h>classstucharname20;doublemuch,sum;public:stu()stu(charn20,doublemuc)strcpy(name,n);much=muc;doublegetsum()sum=much;returnsum;friendvoidmain();voidmain()cout<<"請選擇您需要的操作!"<<endl;cout<<"操作:"<<endl;cout<<"(0)職
12、工數(shù)據(jù)錄入"<<endl;cout<<"(1)增加職工人員"<<endl;cout<<"(2)刪除職工人員"<<endl;cout<<"(3)新完成的需要添加的產品數(shù)量數(shù)據(jù)"<<endl;cout<<"查詢:"<<endl;cout<<"(4)按總產品數(shù)量查詢"<<endl;cout<<"(5)按職工姓名查詢"<<
13、;endl;cout<<"(6)輸出所有職工的數(shù)據(jù)"<<endl;cout<<"生產量排名名次"<<endl;cout<<"(7)按職工生產的總產品數(shù)量查詢排名"<<endl;"<<endl;cout<<"選擇相關操作請輸入相對的括號里的阿拉伯數(shù)字!charp;charw;stu*s50;ofstream*file50;inti=0;intj=0;boolflag2=0;docin>>p;if(p>=&
14、#39;0'&&p<二'10')flag2=1;elsecout<<"指令錯誤!請重新輸入:"<<endl;while(flag2=0);doswitch(p)case'0':charc;charname20;doublemuch;docout<<"請輸入職工姓名"<<endl;cin>>name;cout<<"請輸入產品數(shù)量:"<<endl;cin>>much;filej=ne
15、wofstream("d:document",ios:ate);*filej<<"姓名"<<name<<"產品數(shù)量"<<much<<endl;j+;si=newstu(name,much);i+;cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl;cin>>c;flag2=0;doif(c!='y'&&c!='n')cout<<"指令錯誤
16、!請重新輸入!"<<endl;cin>>c;elseflag2=1;while(flag2=0);while(c='y');break;case'1':(charname20;doublemuch;charc;do(cout<<"請輸入您要增加的職工的姓名:"<<endl;cin>>name;cout<<"請輸入產品數(shù)量"<<endl;cin>>much;filej=newofstream("d:docume
17、nt",ios:ate);*filej<<"姓名"<<name<<"產品數(shù)量"<<much<<endl;j+;si=newstu(name,much);i+;cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n')(cout<<"指令錯誤!請重新輸入!"<<endl;cin>
18、>c;while(c='y');break;case'2':(charname20;boolflag3=0;charc;docout<<"請輸入您要刪除的職工姓名:"<<endl;cin>>name;for(inth=0;h<i;h+)if(strcmp(name,sh->name)=0)flag3=1;i-;dosh=sh+1;h+;while(h<=i);)if(flag3=0)cout«"您要求刪除的對象本來就不存在!請檢查輸入的正確性!cout«
19、"要繼續(xù)刪除嗎?(y/n)"«endl;cin»c;if(c!='y'&&c!='n')(cout«"指令錯誤!請重新輸入!"«endl;cin»c;)while(c='y');break;)case'3':(charname20;doublemat;flag2=0;charc;do(cout<<"請輸入您要修改的職工的姓名:"«endl;cin»name;for(inth=
20、O;h<i;h+)(if(strcmp(name,sh->name)=O)(flag2=1;cout<<"請輸入新完成的產品數(shù)量:"«endl;cin»mat;sh->much+=mat;cout«"數(shù)據(jù)添加成功!)if(flag2=0)(cout«"您要修改的職工本來就不存在!請檢查重新輸入!cout«"想繼續(xù)修改嗎(y/n)"«endl;cin»c;if(c!='y'&&c!='n')
21、(cout«"指令錯誤!請重新輸入!"«endl;cin»c;)n."«endl;while(c='y');break;)case'4':(doublet;charc;do(intflag1=0;cout<<"請輸入你要查詢職工的總產品數(shù)量"<<endl;cin>>t;for(intq=0;q<i;q+)(if(sq->getsum()=t)(flag1=1;cout<<"您要查詢的職工是:"&
22、lt;<(*sq).name<<endl;)if(flag1=0)cout<<"對不起!您要查詢白職工不存在!"<<endl;cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n')(cout<<"指令錯誤!請重新輸入!"<<endl;cin>>c;)while(c='y');break;)case'5
23、':(charn20;intj=0;charc;dointflag=0;cout<<"請輸入你要查詢的職工姓名"<<endl;cin>>n;for(intj=0;j<i;j+)if(strcmp(n,(*sj).name)=0)flag=1;cout<<"您要查詢的職工是:"<<(*sj).name<<endl;cout<<(*sj).name<<"的總產品數(shù)量是"<<(*sj).getsum()<<e
24、ndl;)if(flag=0)cout<<"對不起!您要查詢的職工不存在!"<<endl;cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n')cout<<"指令錯誤!請重新輸入!"<<endl;cin>>c;)while(c='y');break;)case'6':cout<<"本系統(tǒng)所
25、有職工數(shù)據(jù)如下:"<<endl;if(i=0)cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!"<<endl;for(intk=0;k<i;k+)cout<<k+1<<""<<"姓名:"<<""<<sk->name<<"總產品數(shù)量:"<<""<<(*sk).getsum()<<endl;)break;)c
26、ase'7':intt;stub;cout<<"本系統(tǒng)所有職工排名如下:"<<endl;for(intx=0;x<i-1;x+)t=x;for(inty=x+1;y<i;y+)if(st->getsum()<(sy->getsum()t=y;if(t!=x)b=*sx;*sx=*st;*st=b;)if(i=0)cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!for(intk=0;k<i;k+)(cout<<k+1<<""&l
27、t;<"姓名:"<<""<<sk->name<<"總產品數(shù)量:"<<""<<sk->getsum()<<endl;)break;)case'9':(intt;stub;cout<<"本系統(tǒng)所以職工總產品數(shù)量排名如下:"<<endl;for(intx=0;x<i-1;x+)(t=x;for(inty=x+1;y<i;y+)(if(st->much)<(sy->much)t=y;if(t!=x)(b=*st;*st=*sx;*sx=b;)if(i=0)cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!for(int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育技術革新博士的實踐與未來趨勢
- 教育的科技革新與法權保護同行
- 抖音商戶自然流量增長策略制度
- 全球汽車零部件制造行業(yè)智能化生產線布局與趨勢分析報告
- BuChE-IN-21-生命科學試劑-MCE
- 廣東機電職業(yè)技術學院《知識產權專業(yè)英語》2023-2024學年第一學期期末試卷
- 2024年湖北省棗陽市吳店鎮(zhèn)清潭第一中學七年級數(shù)學第一學期期末調研模擬試題含解析
- 湖南電子科技職業(yè)學院《綜合設計實務(3)》2023-2024學年第一學期期末試卷
- 遼寧省盤錦市雙臺子區(qū)第四中學2024年化學九上期末學業(yè)水平測試試題含解析
- 可克達拉職業(yè)技術學院《外事禮儀》2023-2024學年第一學期期末試卷
- 碳匯經(jīng)濟與政策智慧樹知到期末考試答案章節(jié)答案2024年浙江農林大學
- T-SHNA 0002-2023 淚道沖洗操作規(guī)范
- 老年患者風險評估及安全管理
- 安全事故案例警示教育培訓
- 散打說課課件
- 面館開店投資 項目融資計劃書
- 車體-罐車(車輛構造檢修課件)
- 草魚高效養(yǎng)殖模式與技術
- 腎骨片產品課件
- 幼師應聘個人簡歷表格
- 海運出口培訓課程教學課件
評論
0/150
提交評論