版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、_電子工程_系_2014_級_汽車服務(wù)工程_專業(yè) 姓名_匡翔_ 學(xué)號_2014137065_(密)(封)(線)四川工商學(xué)院課程考查(論文/作業(yè))專用封面作業(yè)(論文)題目: 學(xué)校工資管理系統(tǒng)設(shè)計(jì) 所修課程名稱: C/C+程序設(shè)計(jì)實(shí)驗(yàn) 修課程時(shí)間: 2015 年 9 月至 2016 年 1 月完成論文(作業(yè))日期: 2015 年 12 月評閱成績: 評閱意見:平時(shí)成績考勤、衛(wèi)生(總分100分)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告書寫情況(總分100分)實(shí)踐操作編程能力、操作能力(總分100分)總成績平時(shí)20%+實(shí)驗(yàn)報(bào)告30%+實(shí)踐操作50% 評閱教師簽名: 年 月 日一、設(shè)計(jì)目的:學(xué)校工資管理系統(tǒng),為教師提供工資查詢
2、服務(wù),為學(xué)校提供工資管理,工資統(tǒng)計(jì)等服務(wù)。二、設(shè)計(jì)任務(wù)和要求:每個教師的信息為:教師號、姓名、性別、單位名稱、家庭住址、聯(lián)系電話、基本工資、津貼、生活補(bǔ)貼、應(yīng)發(fā)工資、電話費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金、合計(jì)扣款、實(shí)發(fā)工資。注:應(yīng)發(fā)工資=基本工資+津貼+生活補(bǔ)貼;合計(jì)扣款=電話費(fèi)+水電費(fèi)+房租+所得稅+衛(wèi)生費(fèi)+公積金;實(shí)發(fā)工資=應(yīng)發(fā)工資 合計(jì)扣款。設(shè)計(jì)一個程序?qū)ο嚓P(guān)信息進(jìn)行管理。教師信息處理(1) 輸入教師信息(2) 插入(修改)教師信息:(3) 刪除教師信息:(4) 瀏覽教師信息:教師數(shù)據(jù)處理:(1) 按教師號錄入教師基本工資、津貼、生活補(bǔ)貼、電話費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公
3、積金等基本數(shù)據(jù)。(2) 教師實(shí)發(fā)工資、應(yīng)發(fā)工資、合計(jì)扣款計(jì)算。提示:計(jì)算規(guī)則如題目。(3) 教師數(shù)據(jù)管理提示:輸入教師號,讀出并顯示該教師信息,輸入新數(shù)據(jù),將改后信息寫入文件(4) 教師數(shù)據(jù)查詢:提示:輸入教師號或其他信息,即讀出所有數(shù)據(jù)信息,并顯示出來。(5) 教師綜合信息輸出提示:輸出教師信息到屏幕。三、系統(tǒng)框圖和原理分析:(1)輸入教師信息模塊 在主菜單中運(yùn)用結(jié)構(gòu)體teacher,輸入教師信息,首先建立鏈表,將用戶輸 教 師 工資管理系統(tǒng) 1輸入教師信息 2插入教師信息 3修改教師信息 4刪除教師信息 5瀏覽教師信息 6系統(tǒng)信息 7退出系統(tǒng) 主界面 選擇操作 結(jié) 束 輸入的教師信息存儲到
4、鏈表中,輸入完成后提示用戶時(shí)候繼續(xù)輸入,如果用戶輸入“Y”或“y”,則再次調(diào)用,實(shí)現(xiàn)繼續(xù)輸入教師信息的操作。如果用戶輸入“N”或“n”,則返回主菜單界面。 (2)插入教師信息模塊 在主菜單中調(diào)用teacher *insert(),然后按照提示依次輸入教師信息,然后再調(diào)用void print()函數(shù)講所有的教師信息記錄打印出來。然后再返回主菜單界面。 (3)修改教師信息模塊 在主菜單中調(diào)用void edit()函數(shù)。按教師號查找教師信息,如果找到教師 信息,調(diào)用void edit()函數(shù)提示用戶輸入新的教師信息,完成修改的操作。操作結(jié)束后提示用戶修改成功。然后返回主菜單界面。 (4)刪除教師信息
5、模塊 在主菜單中調(diào)用del()函數(shù),以刪除教師信息,首先按教師編號查詢教師信息, 如果沒有找到教師信息,給出提示信息。如果查找到該教師信息,給出改教師的全部信息,如果查找到,則刪除該教師信息,給出刪除成功的提示信息。然后返回主菜單界面。 (5)瀏覽教師信息模塊 在主菜單中調(diào)用void print()函數(shù)來顯示教師信息,先判斷鏈表是否為空。 如果鏈表不為空時(shí),逐條顯示鏈表中教師的信息,顯示調(diào)用teacher *next()函數(shù)按照教師號的大小來顯示教師的信息。然后返回主菜單界面。 (6)系統(tǒng)信息模塊 在主菜單中輸入6,可知系統(tǒng)信息、版本。 (7)退出系統(tǒng)模塊 將鏈表中的數(shù)據(jù)全部釋放掉,防止內(nèi)存泄
6、露。退出系統(tǒng)。四、程序流程圖五、關(guān)鍵代碼分析(1) 保存數(shù)據(jù)函數(shù)save() 函數(shù)原型:void save() 功能描述:將鏈表teacher中的N個數(shù)據(jù)寫入到磁盤文件teacher_list中,如果保存成功,則給出提示保存成功,否則返回“cannot ofen file”表示無法打開文件,返回“file write error”表示文件輸入錯誤。 (2)瀏覽教師信息函數(shù)query() 函數(shù)原型:void query(struct teacher *p)
7、 功能描述:將鏈表teacher中的head指向p,然后讓用戶輸入教師號no,依次在鏈表中需找p,如果教師號不對,則指針往后面撥動一下,使p=p->next;知道找到相對應(yīng)的正確的教師號。然后打印出教師的基本信息。(3) 修改教師信息函數(shù)edit() 函數(shù)原型:void edit(struct teacher *p) 功能描述:首先讓用戶輸入希望修改的教師的教師號a, 然后在鏈表中一條一條查找看p->num是否等于a,如果找到,則讓用戶再次輸入教師的具體信息,輸入完畢跳出,轉(zhuǎn)向主菜單界面。如果沒有找到,
8、則令p=p->next。直到查詢完所有的教師記錄。六、設(shè)計(jì)總結(jié)持續(xù)一個學(xué)期的課程設(shè)計(jì)給了我太多的感觸,開始從題目上看,感覺題目很大,設(shè)計(jì)量很大,也很復(fù)雜,感覺不是簡單的就能解決的。這樣只用重新拾起書繼續(xù)來看,獲得新的知識和鞏固以前的C方面的知識。提升自己的能力。通過這個學(xué)期的課程設(shè)計(jì)的練習(xí)與設(shè)計(jì)我學(xué)會了很多,也更加熟悉C語言程 序設(shè)計(jì),從中得到了很多樂趣,很快樂,感覺C語言的世界里面奇妙無比。雖然在途中也遇到很多的苦難,但是還是通過問同學(xué)和學(xué)長解決了。最后看到自己設(shè)計(jì)的程序能夠運(yùn)行起來特別的開心。 這次的程序設(shè)計(jì)很有意義,也很鍛煉人的能力,特別是C語言方面的能力, 為自己在C+語言方面打
9、下基礎(chǔ)附錄參考文獻(xiàn)1. 黃梯云 , 管理信息系統(tǒng)(修訂版),北京:高等教育出版社, 2000 2. 薛華成 , 管理信息系統(tǒng) ( 第三版) , 北京:清華大學(xué)出版社, 1999 3. 陳曉紅 , 管理信息系統(tǒng)教程,北京:清華大學(xué)出版社, 20034. 陳國青等 , 信息系統(tǒng)的組織 管理 建模,北京:清華大學(xué)出版社,
10、60;2002 5. 高陽 , 計(jì)算機(jī)網(wǎng)絡(luò)原理與實(shí)用技術(shù) , 長沙:中南工業(yè)大學(xué)出版社, 1998 6. 左美云等 , 信息系統(tǒng)的開發(fā)與管理教程 , 北京:清華大學(xué)出版社, 2001附錄1 -源程序#include<iostream> #include<fstream> #include<stdlib.h> #include<string> #include<iomanip>
11、; using namespace std; int i; class Person public: void display() cout << "姓名:" cin >> name; cout << "工號:" cin >> num; while(num<=0) cout<<"請重新輸入工號大于0的數(shù):"<<endl; cin>>num; string name;/名字 int num; ;/工號 class Teacher: public P
12、erson/教師 public: Teacher() int s=1000; wage = s; butie1=0; void display1(); int wage;/基本工資 int time; int butie1; int jintie1; ;/課時(shí) void Teacher:display1() cout << "請輸入"Person:display(); cout << "請輸入教師的課時(shí)(小時(shí)): "
13、160; cin >> time; while(time<=0) cout<<"請重新輸入課時(shí)大于0的數(shù):"<<endl; cin>>time; /補(bǔ)貼 Teacher t100; Leader x100; Jia
14、nzhi j100; void show() cout << "t請輸入你要錄入的對象 :" << endl; cout << "tt 1:教師" << endl; cout <&
15、lt; "tt 2:領(lǐng)導(dǎo)" << endl; cout << "tt 3:教師兼職領(lǐng)導(dǎo)" << endl; cout << "tt 4:退出錄入" << endl;
16、cout << "請選擇: " void jiaoshiluru()/教師錄入 ofstream outfile("教師.txt", ios:app); if (!outfile) ce
17、rr << "open error!" << endl; exit(0); int b; cout << "請選擇你要錄入教師的個數(shù):" &
18、#160; cin >> b; for (i = 0; i < b; i+) ti.display1(); cout<<"是否保存信息(y(Y)/n(N)"<<endl; char&
19、#160;c; cin>>c; if(c='Y'|c='y') outfile << ti.num << " " << << "
20、; " << ti.wage << " " << ti.time << endl; 15
21、; outfile.close(); void wenjianluru()/文件錄入 int c; for (i = 0; i+) show();
22、0; cin >> c; if (c = 4) cout << "退出錄入成功。" &
23、lt;< endl; system("cls"); break; else
24、160; switch (c) case 1: jiaoshiluru();
25、60; break; case 2:
26、60; Leaderluru(); break;
27、160; case 3: jianzhiluru(); break;
28、 default: cout << "上一次輸入錯誤。" << endl; &
29、#160; break; void jiaoshishuchu()/教師輸出顯示
30、; ifstream infile("教師.txt", ios:in); int m; for (i = 0; i < 100; i+) ti.num=0; infile >> ti.num >> >> ti.w
31、age >> ti.time; if (ti.num = 0) break; int jintie1; jintie1=ti.time*30; m = ti.wage + jintie1; cout << "t教師: " <<setw(8)<< ti.num <<setfill(' ')<<setw(10)<< <<setfill(' ')<<setw(10)<<ti.wage <<setfill
32、(' ')<<setw(14)<<jintie1<<setfill(' ')<<setw(12)<<ti.butie1<<setfill(' ')<<setw(10)<< m<< endl; infile.close(); void leadershuchu()/領(lǐng)導(dǎo)輸出 ifstream infile("領(lǐng)導(dǎo).txt", ios:in); int m; for (i = 0; i < 100; i+) xi.nu
33、m =0; infile >> xi.num >> >> xi.wage >> xi.butie; if (xi.num = 0) break; m = xi.wage + xi.butie; cout << "t領(lǐng)導(dǎo):" <<setfill(' ')<<setw(8)<<xi.num <<setfill(' ')<<setw(10)<< <<setfill('
34、 ')<<setw(10)<<xi.wage<<setfill(' ')<<setw(14)<<xi.jintie<<setfill(' ')<<setw(12)<<xi.butie<<setfill(' ') <<setw(10)<< m<< endl; infile.close(); void shuchu()/輸出顯示 cout <<"tt 工號 名字 基本工資 課時(shí)津
35、貼 補(bǔ)貼 總工資 " << endl; jiaoshishuchu(); leadershuchu(); jianzhishuchu(); void show3() cout << "t請輸入你要查詢的對象:" << endl; cout << "tt 1:教師查詢" << endl; cout << "tt 4:退出查詢" << endl; cout << " 請選擇一個操作:" void jiaoshich
36、axun() ifstream infile("教師.txt", ios:in); string nam; int num; int m, n,x; cout<<"tt1.按教師的姓名查找ntt2.按教師的工號查找" cout<<"ntt 請選擇" cin>>x; switch(x) case 1:cout<<"tt請輸入要查找的教師的姓名:" cin>>nam; for (i = 0, n = 0; i < 100; i+) infile >
37、> ti.num >> >> ti.wage >> ti.time; if (ti.num = 0) break; if (=nam) n+; m = ti.wage + (ti.time - 24) * 30; cout<<"tt工號 姓名 工資"<<endl; cout << "t教師: " <<" "<<ti.num << " " << &l
38、t;< " " <<m << endl; if (n =0) cout << "沒有你要查詢的教師。" << endl; infile.close(); break; case 2: cout<<"tt請輸入要查找的教師的工號:" cin>>num; for (i = 0, n = 0; i < 100; i+) infile >> ti.num >> >> ti.wage >> ti.t
39、ime; if (ti.num = 0) break; if (ti.num=num) n+; m = ti.wage + (ti.time - 24) * 30; cout<<"tt工號 姓名 工資"<<endl; cout << "t教師: " <<" "<<ti.num << " " << << " " <<m << endl; if (n =0) cout
40、 << "沒有你要查詢的教師。" << endl; infile.close(); break; default:cout<<"操作選擇錯誤!"<<endl;break; void wenjianchaxun()/文件查詢 int c; for (i = 0; i+) show3(); cin >> c; if (c = 4) cout << "退出查詢成功。" << endl; system("cls"); break; else
41、 switch (c) case 1: jiaoshichaxun(); break; case 2: leaderxhaxun(); break; case 3: jianzhichaxun(); break; default: cout << "上一次輸入錯誤。" << endl; break; void show5() cout << "t請輸入你要修改的對象:" << endl; cout << "tt 1:教師修改" << endl; cout <
42、< "tt 2:教師兼職領(lǐng)導(dǎo)修改" << endl; cout << "tt 3:退出修改" << endl; cout << " 請選擇一個操作:" void jiaoshixiugai()/教師修改 ifstream infile("教師.txt", ios:in); string nam; int n, n1, m1 = 0; cout << "請輸入你要修改教師的名字: " cin >> nam; cout &
43、lt;< "請輸入你要修改的課時(shí):" cin >> n; for (i = 0; i < 100; i+) infile >> ti.num >> >> ti.wage >> ti.time; if (ti.num = 0) break; m1+; if ( =nam) n1 = ti.time; ti.time = n; n = n1; infile.close(); ofstream outfile("教師.txt", ios:out); for (
44、i = 0; i < m1; i+) outfile << ti.num << " " << << " " << ti.wage << " " << ti.time << endl; outfile.close(); void xiugai()/修改 int c; for (i = 0; i+) show5(); cin >> c; if (c = 3) cout << "ttt退出修
45、改成功。" << endl; system("cls"); break; else switch (c) case 1: jiaoshixiugai(); break; case 2: janzhi2xiugai(); break; default: cout << "上一次輸入錯誤。" << endl; break; void show6() cout << "t請選擇如下操作:" << endl; cout << "t1:教師刪除"
46、; << endl; cout << "t2:領(lǐng)導(dǎo)刪除" << endl; cout << "t3:教師兼職領(lǐng)導(dǎo)刪除" << endl; cout << "t4:退出刪除" << endl; cout << "請選擇你的一個操作: " void jiaoshidel()/教師刪除 ifstream infile("教師.txt", ios:in); string nam; int num; int n
47、,x; cout<<"tt1.按教師的姓名刪除ntt2.按教師的工號刪除" cout<<"ntt 請選擇" cin>>x; switch(x) case 1:cout<<"tt請輸入要刪除的教師的姓名:"cin>>nam; for (i = 0, n = 0; i < 100; i+) infile >> ti.num >> >> ti.wage >> ti.time; if (ti.num = 0) br
48、eak; if (=nam) n+; ti.num=0;break; if (n =0) cout << "沒有你要刪除的教師。" << endl; else cout<<"刪除成功!"<<endl; infile.close(); break; case 2: cout<<"tt請輸入要刪除的教師的工號:" cin>>num; for (i = 0, n = 0; i < 100; i+) infile >> ti.num >
49、;> >> ti.wage >> ti.time; if (ti.num = 0) break; if (ti.num=num) n+; ti.num=0;break; if (n =0) cout << "沒有你要刪除的教師。" << endl; else cout<<"刪除成功"<<endl; infile.close(); break; default:cout<<"操作選擇錯誤!"<<endl;break; i
50、nfile.close(); ofstream outfile("教師.txt", ios:out); for (i = 0; i < 100; i+) if (ti.num != 0) outfile << ti.num << " " << << " " << ti.wage << " " << ti.time << endl; outfile.close(); void show_sort()
51、cout << "請選擇如下操作:" << endl; cout << "tt 1:教師排序" << endl; cout << "tt 2:教師兼職領(lǐng)導(dǎo)排序" << endl; cout << "tt 3:退出排序" << endl; cout << "請選擇你的一個操作: " void jiaoshi_sort() /教師排序 ifstream infile("教師.txt", ios:in); int m100; for (i = 0; i < 100; i+) infile >> ti.num >> >> ti.wage >> ti.time; if (ti.num = 0) b
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小區(qū)商業(yè)街物業(yè)社區(qū)環(huán)境美化服務(wù)合同3篇
- 2025版挖掘機(jī)產(chǎn)品售后服務(wù)與技術(shù)升級合同范本3篇
- 二零二五年度農(nóng)產(chǎn)品展銷中心攤位租賃合同
- 2024項(xiàng)目代建協(xié)議合同
- 二零二五個人權(quán)利質(zhì)押貸款合同范本3篇
- 2025年度旅游行業(yè)納稅擔(dān)保服務(wù)協(xié)議
- 2025版二手房買賣合同風(fēng)險(xiǎn)評估協(xié)議3篇
- 2025年苗圃租賃合同及苗木種植與科研合作協(xié)議
- 二零二五寵物醫(yī)院獸醫(yī)職務(wù)聘任與培訓(xùn)合同4篇
- 二零二五年度出院患者出院前評估協(xié)議書范本4篇
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- 垃圾車駕駛員聘用合同
- 2024年大宗貿(mào)易合作共贏協(xié)議書模板
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個人合同模板
- 八年級語文下冊 成語故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語交際教案 新教版(漢語)
- 中考語文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
評論
0/150
提交評論