《程序設(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è): 計算機科學與技術(shù) 學號: ********** 姓名: ***** 上課老師: 張 桂 珠 評定成績: 日期: 2014.5.31 題目: 職工信息管理系統(tǒng) 設(shè)
2、計要求: 1、要求: 課程設(shè)計要求采用面向?qū)ο笙到y(tǒng)分析與設(shè)計方法,首先對問題進行需求分析,識別類與對象,設(shè)計合理的類結(jié)構(gòu)與程序結(jié)構(gòu)實現(xiàn)程序功能(恰當應(yīng)用教材所介紹的各種數(shù)據(jù)結(jié)構(gòu)和算法),用c++語言編寫程序;然后設(shè)計各種可能的數(shù)據(jù)(測試對象)對程序進行測試,觀察運行結(jié)果是否正確,確保在可見范圍內(nèi)的測試對象都能得到正確結(jié)果。 設(shè)計合理的程序完成題目要求的功能,輸入輸出信息時注意輸入輸出的格式,應(yīng)該在輸入前提示輸入的格式和內(nèi)容;將程序的各項信息保存到文件并能打開,用c++的輸入輸出流實現(xiàn)。 2、題目內(nèi)容: 該系統(tǒng)在磁盤上存儲某單位所有職工的基本信息,對于每一
3、個職工存儲:職工 編號、姓名、性別、出生年月、職稱、最后學歷、工資和婚否。 系統(tǒng)功能要求如下: (1)創(chuàng)建存儲該單位職工信息的存儲系統(tǒng)(第一次輸入職工基本信息時); (2)增加職工信息,增加新職工時輸入新職工的基本信息; (3)刪除某職工的基本信息(如,死亡或離職); (4)修改某職工(指定職工編號)的某些信息(如,加工資、獲得新學位、晉升職稱、結(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();改變某個職工的最高學歷函數(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ù)讀取進入程序中來函數(shù), 4、 在main()函數(shù)中,定義類worker的對象man, 1、第一部分操作:顯示可以對對象man進行的操作(讀取,創(chuàng)建,退
8、出)和對輸入的操作進行讀取判斷,選擇調(diào)用函數(shù)cin_all(),loat_data()或退出(退出創(chuàng)建過程)。
2、第二部分操作:顯示可以對對象man進行的操作(添加,刪除,修改,輸出,退出),對輸入的操作的判斷進行讀取判斷,選擇調(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;//最后學歷 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<<"輸入(編號為負時結(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<<" 最后學歷:";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<<" 最后學歷:"; 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 40、-1;}
else {
cout<<"編號為"<
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復(fù)習題含答案
- 1 各種煤礦安全考試試題含答案