




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)院程序設(shè)計工程訓(xùn)練報告C語言程序設(shè)計職工工作量統(tǒng)計系統(tǒng)設(shè)計課程名稱C語言程序設(shè)計工程訓(xùn)練姓名院(系)信息科學(xué)與技術(shù)學(xué)院專業(yè)班級學(xué)號指導(dǎo)教師教務(wù)處制1 需求分析12 系統(tǒng)總框圖和功能模塊說明12.1 系統(tǒng)總框圖12.2 功能模塊說明13 系統(tǒng)設(shè)計23.1 主要結(jié)構(gòu)體錯誤!.未定義書簽。3.2 主要功能函數(shù)錯誤!.未定義書簽。3.3 關(guān)鍵函數(shù)的流程圖74 系統(tǒng)調(diào)試85 總結(jié)106 源程序清單111需求分析設(shè)計職工工作量統(tǒng)計系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作輸入職工工號和完成的產(chǎn)品數(shù)量,允許同一職工有多次輸入對其完成的產(chǎn)品數(shù)量實現(xiàn)累計。程序按完成數(shù)量對他們排序,并確定他們的名次(工完成的
2、產(chǎn)品數(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)模塊,完成關(guān)閉程序操作。6、修改信息模塊,包括修改或添加或刪除職工工作量,姓名等信息。3系統(tǒng)
3、設(shè)計3.1 主要結(jié)構(gòu)體#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<<"請輸入產(chǎn)品數(shù)量:"<<endl;cin>>much;filej=newofstream("d:document",ios:ate);*filej<<"姓名"<<name<<"產(chǎn)品數(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<<"請輸入產(chǎn)品數(shù)量"<<endl;cin>>much;filej=newofstream("d:document",ios二ate);*fil
6、ej<<"姓名"<<name<<"產(chǎn)品數(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«"請輸入新完成的產(chǎn)品數(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«"的總產(chǎn)品數(shù)量是"«(*sj).getsum()«endl;)for(intk=O;k<i;k+)cout«k+1«""«"姓名"«sk->name«"總產(chǎn)品數(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關(guān)鍵函數(shù)流程圖主函數(shù)流程圖:輸入模塊流程圖修改模塊函數(shù)流程圖4.系統(tǒng)調(diào)試及運行界面顯示菜單輸入職工信息界面輸出職工工作量排名刪除職工信息界面
10、添加職工信息界面5.設(shè)計總結(jié)(課程設(shè)計心得與體會)經(jīng)過幾天的C語言課程設(shè)計,感覺自己收獲不少!這個課程設(shè)計里面主要都是用鏈表,因為要達(dá)到這樣的功能,使用鏈表相當(dāng)方便,但不容易理解,所以在這方面我很了很多的時間看課本和參考課外書,使C語言的知識強化了不少。其次,在做課程設(shè)計的過程中,發(fā)現(xiàn)了平時很多沒有注意到的問題,例如:返回值函數(shù)和不返回值函數(shù)兩者在主函數(shù)中的調(diào)用是不同的更重要的是,這次課程設(shè)計雖然花了我不少時間,但正是這些時間,讓我見識到了C語言的重要性。由于這是第一次進(jìn)行設(shè)計,寫文檔,難免會寫得不好!請見諒!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)新完成的需要添加的產(chǎn)品數(shù)量數(shù)據(jù)"<<endl;cout<<"查詢:"<<endl;cout<<"(4)按總產(chǎn)品數(shù)量查詢"<<endl;cout<<"(5)按職工姓名查詢"<<
13、;endl;cout<<"(6)輸出所有職工的數(shù)據(jù)"<<endl;cout<<"生產(chǎn)量排名名次"<<endl;cout<<"(7)按職工生產(chǎn)的總產(chǎn)品數(shù)量查詢排名"<<endl;"<<endl;cout<<"選擇相關(guān)操作請輸入相對的括號里的阿拉伯?dāng)?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<<"請輸入產(chǎn)品數(shù)量:"<<endl;cin>>much;filej=ne
15、wofstream("d:document",ios:ate);*filej<<"姓名"<<name<<"產(chǎn)品數(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<<"請輸入產(chǎn)品數(shù)量"<<endl;cin>>much;filej=newofstream("d:docume
17、nt",ios:ate);*filej<<"姓名"<<name<<"產(chǎn)品數(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<<"請輸入新完成的產(chǎn)品數(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<<"請輸入你要查詢職工的總產(chǎn)品數(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<<"的總產(chǎn)品數(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<<"總產(chǎn)品數(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<<"總產(chǎn)品數(shù)量:"<<""<<sk->getsum()<<endl;)break;)case'9':(intt;stub;cout<<"本系統(tǒng)所以職工總產(chǎn)品數(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 急診護(hù)士工作滿意度調(diào)查計劃
- 加強社區(qū)多元化發(fā)展計劃
- 2024-2025學(xué)年七年級上學(xué)期歷史二單元復(fù)習(xí)《三國兩晉南北朝時期》含答案解析
- 課外活動與社團(tuán)組織計劃
- 產(chǎn)品包裝與企業(yè)形象的同步提升
- 2024年高一物理物理教材實驗:觀察電容器的充、放電現(xiàn)象(解析版)
- 2024年高三數(shù)學(xué)重難點復(fù)習(xí)專練:圓錐曲線定點問題十二大題型(原卷版)
- 2024屆邵陽市高三年級上冊第一次聯(lián)考(一模)英語試題
- 2024年高考數(shù)學(xué)專項復(fù)習(xí):函數(shù)的概念與性質(zhì)(解析版)
- 信息安全事件響應(yīng)及處置流程
- 血液透析試題(附答案)
- 主要河流南、北方河流的不同特征主要湖泊
- 行進(jìn)間接單手低手投籃說課稿
- 寺院管理框架結(jié)構(gòu)圖PPT課件
- 單考單招數(shù)學(xué)公式總結(jié)
- 三打白骨精英文話劇劇本(原創(chuàng))
- 2019第五版新版PFMEA 注塑實例
- 李雁鳴循環(huán)理論
- 釩電池項目財務(wù)數(shù)據(jù)分析(范文模板)
- 電暈水測試液配方
- 日處理300t鮮奶的脫脂奶粉生產(chǎn)車間
評論
0/150
提交評論