《程序設(shè)計課程設(shè)計》設(shè)計職工信息管理系統(tǒng)
《《程序設(shè)計課程設(shè)計》設(shè)計職工信息管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《《程序設(shè)計課程設(shè)計》設(shè)計職工信息管理系統(tǒng)(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《程序設(shè)計課程設(shè)計》設(shè)計說明書 題目: 職工信息管理系統(tǒng) 班級: 1301 專業(yè): 計算機(jī)科學(xué)與技術(shù) 學(xué)號: ********** 姓名: ***** 上課老師: 張 桂 珠 評定成績: 日期: 2014.5.31 題目: 職工信息管理系統(tǒng) 設(shè)
2、計要求: 1、要求: 課程設(shè)計要求采用面向?qū)ο笙到y(tǒng)分析與設(shè)計方法,首先對問題進(jìn)行需求分析,識別類與對象,設(shè)計合理的類結(jié)構(gòu)與程序結(jié)構(gòu)實現(xiàn)程序功能(恰當(dāng)應(yīng)用教材所介紹的各種數(shù)據(jù)結(jié)構(gòu)和算法),用c++語言編寫程序;然后設(shè)計各種可能的數(shù)據(jù)(測試對象)對程序進(jìn)行測試,觀察運行結(jié)果是否正確,確保在可見范圍內(nèi)的測試對象都能得到正確結(jié)果。 設(shè)計合理的程序完成題目要求的功能,輸入輸出信息時注意輸入輸出的格式,應(yīng)該在輸入前提示輸入的格式和內(nèi)容;將程序的各項信息保存到文件并能打開,用c++的輸入輸出流實現(xiàn)。 2、題目內(nèi)容: 該系統(tǒng)在磁盤上存儲某單位所有職工的基本信息,對于每一
3、個職工存儲:職工 編號、姓名、性別、出生年月、職稱、最后學(xué)歷、工資和婚否。 系統(tǒng)功能要求如下: (1)創(chuàng)建存儲該單位職工信息的存儲系統(tǒng)(第一次輸入職工基本信息時); (2)增加職工信息,增加新職工時輸入新職工的基本信息; (3)刪除某職工的基本信息(如,死亡或離職); (4)修改某職工(指定職工編號)的某些信息(如,加工資、獲得新學(xué)位、晉升職稱、結(jié)婚或離婚)。 (5)可以輸出符合某種特征的職工信息列表: ①全體職工信息列表; ②某職稱的職工信息列表; ③某年月以后出生的職工信息列表; ④某年月
4、以前出生的職工信息列表; ⑤未婚職工信息列表。 3、開發(fā)環(huán)境: Code::Blocks 10.05 設(shè)計思路: 1、定義結(jié)構(gòu)體birth存儲年月日數(shù)據(jù),再定義結(jié)構(gòu)體worker存儲職工的數(shù)據(jù)。 2、定義類operate,它包含3個私有數(shù)據(jù)成員 1、職工數(shù)據(jù)worker a[HUMAN_NUMBER], 2、已存數(shù)據(jù)長度lengh, 3、a的總體長度siae, 3、類中包含19公有函數(shù): 1、void set_first();對所有數(shù)據(jù)的初始化函數(shù), 2、void cin_all();全體數(shù)據(jù)輸入函數(shù), 3、
5、void cout_all();全體數(shù)據(jù)輸出函數(shù), 4、void cout_one(int i);一個職工數(shù)據(jù)的輸出函數(shù), 5、void elete_one();一個職工數(shù)據(jù)的刪除函數(shù), 6、void add_one();一個職工數(shù)據(jù)的添加函數(shù), 7、void cout_after_time();輸出在某個時間后出生的所有職工數(shù)據(jù)函數(shù), 8、void cout_before_time();輸出在某個時間前出生的所有職工數(shù)據(jù)函數(shù), 9、void cout_position();輸出某個職稱的所有的職工數(shù)據(jù)函數(shù), 10、void
6、 cout_ifmarry();輸出所有未婚的職工數(shù)據(jù)函數(shù), 11、void change_salary();改變某個職工的工資函數(shù), 12、void change_educate();改變某個職工的最高學(xué)歷函數(shù), 13、void change_marry();改變某個職工的婚姻狀態(tài)函數(shù), 14、void change_position();改變某個職工職稱函數(shù), 15、void chang_lengh(int i);改變類中的數(shù)據(jù)長度lengh函數(shù), 16、void amend();修改職工數(shù)據(jù)的函數(shù),包含了11,12,13,14
7、,這4個函數(shù),通過顯示操作類型,選擇讀取11,12,13,14中某個或多個函數(shù),退出操作室對出該函數(shù), 17、void output();輸出職工數(shù)據(jù)函數(shù),包含了7,8,9,10,這4個函數(shù),通過顯示操作類型,選擇讀取7,8,9,10中某個或多個函數(shù),退出操作室對出該函數(shù), 18、void save();將職工數(shù)據(jù)存儲在已定義文件中函數(shù), 19、int load_data();將已存儲在文件中的數(shù)據(jù)讀取進(jìn)入程序中來函數(shù), 4、 在main()函數(shù)中,定義類worker的對象man, 1、第一部分操作:顯示可以對對象man進(jìn)行的操作(讀取,創(chuàng)建,退
8、出)和對輸入的操作進(jìn)行讀取判斷,選擇調(diào)用函數(shù)cin_all(),loat_data()或退出(退出創(chuàng)建過程)。
2、第二部分操作:顯示可以對對象man進(jìn)行的操作(添加,刪除,修改,輸出,退出),對輸入的操作的判斷進(jìn)行讀取判斷,選擇調(diào)用函數(shù)add_one(),delete_one(),amend(),out_put()或退出(退出系統(tǒng))。
程序代碼:
#include
9、#define HUMAN_NUMBER 50 #define ADD 10 using namespace std; //出生日期儲存 typedef struct{ int year; int month; int day; }birth; //職工數(shù)據(jù)儲存 typedef struct{ long number;//職工編號 string name;//姓名 string sex;//性別 birth birthday;//出生年月 string position;//職稱 string
10、educate;//最后學(xué)歷 float salary;//工資 int marry;//婚否 }worker; //儲存系統(tǒng) class operate{ private: worker a[HUMAN_NUMBER]; int lengh; int size; public: void set_first(); void cin_all(); void cout_all(); void cout_one(int i); void delete_one(); void add_one();
11、 void cout_after_time(); void cout_before_time(); void cout_position(); void cout_ifmarry(); void change_salary(); void change_educate(); void change_marry(); void change_position(); void chang_lengh(int i); void amend(); void output(); void save();
12、 int load_data(); }; // //第一次建立 void operate::set_first(){ for(int j=0;j!=HUMAN_NUMBER-1;j++){ a[j].birthday.year=0; a[j].birthday.month=0; a[j].birthday.day=0; a[j].educate="未知"; a[j].marry=0; a[j].name="未知"; a[j].number
13、=0;
a[j].position="未知";
a[j].salary=0;
a[j].sex="未知";
}
a[0].number=0;
lengh=0;
size=HUMAN_NUMBER;
}
//第一次所有數(shù)據(jù)輸入
void operate::cin_all(){
cout<<"輸入(編號為負(fù)時結(jié)束)"<
14、>a[i].number;
if(a[i].number<0){
cout<<"職工數(shù)據(jù)輸入完成。"<
15、n>>a[i].birthday.day;
cout<<" 職稱:";cin>>a[i].position;
cout<<" 最后學(xué)歷:";cin>>a[i].educate;
cout<<" 工資:"; cin>>a[i].salary;
cout<<" 是否結(jié)婚(是:1,不是:-1):";cin>>a[i].marry;
cout< 16、 a[i].number=-1;
save();
}
//輸出所有數(shù)據(jù)
void operate::cout_all(){
cout< 17、 出生年月:"<=0){
cout<<"結(jié)婚"< 18、 else cout<<"未婚"< 19、rthday.day< 20、:cout_after_time(){
system("cls");
birth t;
cout<<"輸入要求在某個時間出生以后的職工的那個時間:";
cout<<"出生日期: "< 21、在時間"< 22、 23、(i);
s++;
}
}
}
if(a[i+1].number<=0) break;
}
if(s==0)
cout<<" 沒有在"< 24、 cout<<"輸入要求在某個時間出生以前的職工的那個時間:";
cout<<"出生日期: "< 25、endl;
cout_one(i);
s++;
}
else if(a[i].birthday.year==t.year){
if(a[i].birthday.month 26、 s++;
}
else if(a[i].birthday.month==t.month){
if(a[i].birthday.day 27、 }
}
if(a[i+1].number<=0) break;
}
if(s==0)
cout<<" 沒有在"< 28、<"輸出職稱為"< 0;j++){
if(a[j].position==p){
cout_one(j);
s++;
}
}
if(s==0){
cout<<"沒有職稱為"<
29、stem("cls");
cout<<"輸出所有未婚的職工數(shù)據(jù):"< 30、delete_one(){
int i=0,n;
system("cls");
cout<<"輸入要刪除職工的編號:";
cin>>n;
for(;i 31、();
lengh--;
cout< 32、[i].number;
cout<<" 姓名:";cin>>a[i].name;
cout<<" 性別: ";cin>>a[i].sex;
cout<<" 出生日期: "< 33、 cin>>a[i].position;
cout<<" 最后學(xué)歷:"; cin>>a[i].educate;
cout<<" 工資:"; cin>>a[i].salary;
cout<<" 是否結(jié)婚(是:1,不是(否):-1):";cin>>a[i].marry;
cout< 34、" 姓名:"<=0){
c 35、out<<"結(jié)婚"< 36、
for(;x 37、ary< 38、"沒有編號為"< 39、num;
cin>>num;
int x=0;
for(;x
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時圖形的位置練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時圖形的認(rèn)識與測量1平面圖形的認(rèn)識練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負(fù)數(shù)第1課時負(fù)數(shù)的初步認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯清單十二課件新人教版
- 標(biāo)準(zhǔn)工時講義
- 2021年一年級語文上冊第六單元知識要點習(xí)題課件新人教版
- 2022春一年級語文下冊課文5識字測評習(xí)題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時數(shù)學(xué)思考1練習(xí)課件新人教版