教師工資管理系統(tǒng)課程設(shè)計報告_第1頁
教師工資管理系統(tǒng)課程設(shè)計報告_第2頁
教師工資管理系統(tǒng)課程設(shè)計報告_第3頁
教師工資管理系統(tǒng)課程設(shè)計報告_第4頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、新能源與動力工程學院課程設(shè)計報告程序設(shè)計課程設(shè)計(C/C+)專業(yè)電子信息工程班級電信 1501 班郭秀琴學號201512315指導教師王慧敏2016 年12月新能源與動力工程學院課程設(shè)計任務(wù)書課程名稱:C語言程序設(shè)計課程設(shè)計指導教師(簽名):班級:電信 1501 班:郭秀琴學號:201512315一、課程設(shè)計題目教師工資管理系統(tǒng)二、課程設(shè)計使用的原始資料(數(shù)據(jù))及設(shè)計技術(shù)要求:1教材2課程設(shè)計說明書三、課程設(shè)計的目的通過課程設(shè)計,主要達到以下目的:1使學生增進對程序設(shè)計的感性認識,加深對C語言理論方面的理解;2使學生掌握 C語言程序的部函數(shù)模塊的應(yīng)用。3使學生了解和掌握 C 語言程序設(shè)計的軟硬

2、件設(shè)計過程、方法及實現(xiàn),為以后設(shè)計程序系統(tǒng)打下良好基礎(chǔ)。四、課程設(shè)計的主要容和要求該程序是教師工資系統(tǒng)管理,主要用到結(jié)構(gòu)體、函數(shù)的調(diào)用、以及一些基本的運算函數(shù)以及輸入輸出函數(shù)五、工作進度安排時間設(shè)計容要求12月20日熟悉題目、查閱資料,擬定設(shè)計方案按要求制定出切實可行的方案12月21日設(shè)計程序構(gòu)造及完成函數(shù)調(diào)用查詢完成系統(tǒng)結(jié)構(gòu)及部分程序設(shè)計12月 22日23日充分調(diào)用各類函數(shù)完成剩余部分程序先進行程序組裝及完成部分程序調(diào)試12月 24日25日產(chǎn)品整理調(diào)試并完成設(shè)計報告實現(xiàn)設(shè)計要求,報告按要求裝訂成冊12月26日答 辯展示產(chǎn)品,并簡明扼要自述五分鐘六、主要參考文獻( 1) Stephen Pri

3、mer Plus著 由云巔工作室譯 :人民郵電2014 年 12 月( 2)譚浩強 . 程序設(shè)計(第四版):清華大學2010年6月審核批準意見系主任(簽字)年月日指導教師評語及成績評定表指導教師評語設(shè)計過程( 40)設(shè)計報告( 50)小組答辯( 10)總成績(100)成績指導教師簽字:年月日目 錄 .1 .1 .2 .6 .6 .8 .10一、設(shè)計目的該系統(tǒng)是為了完成教師工資的管理,各個隊友分工合作最后完成教師工資的管理系統(tǒng),以便更好更方便的管理教師工資。1刪除、統(tǒng)計等功能的實現(xiàn);2基本掌握面向過程程序設(shè)計的基本思路和方法,達到熟練掌握 C 語言的基本知識和技能,能夠利用所學到的知識和技能,解

4、決簡單的程序設(shè)計問題。為了能夠方便對教師的工資進行管理,對信息進行排序、插入、查找;3培養(yǎng)上機動手能力,使學生鞏固C 語言程序設(shè)計課程的學習容,掌握如何使用面向過程的計算機語言進行程序設(shè)計的基本方法,強化上機動手能力,闖過編程關(guān)為后續(xù)各門計算機課程的學習打下堅實基礎(chǔ);4掌握各類C 語言函數(shù)的使用方法及技巧,充分運用各級C 語言函數(shù)完成簡單程序的設(shè)計與運行;二、需求分析(1)教師信息處理。該模塊包括教師信息的輸入、修改、刪除以及瀏覽和統(tǒng)計等功能,每個模塊在程序系統(tǒng)中用一個函數(shù)來實現(xiàn),模塊總體框圖如圖( 1)所示信息輸入信息刪除教師信息處理信息修改瀏覽信息圖一(1)模式框架圖;(2)教師數(shù)據(jù)處理。

5、該系統(tǒng)包括以下大板塊:A、在數(shù)據(jù)處理過程中會根據(jù)教師號錄入教師的基本工資、津貼、生活補貼補貼、費、水電費、房租、所得稅、衛(wèi)生費、公積金等基本數(shù)據(jù);B、教師實發(fā)工資,應(yīng)發(fā)工資,合計扣款計算;C、教師數(shù)據(jù)管理;D、教師數(shù)據(jù)查詢;E、教師綜合信息輸出;三、詳細設(shè)計(1)總體的流程圖;輸出界面(2)任務(wù)分配;郭秀琴馬強強教師工資管理系統(tǒng)支琴琴(3)輔助信息的采集王與數(shù)亞據(jù)雄處理負責輔助信息的采集與數(shù)據(jù)處理負責數(shù)據(jù)的記錄負責信息的采集與數(shù)據(jù)處理負責程序的調(diào)試與程序的刪改A、了解教師工資的具體管理與發(fā)放情況;B、進行基本運算函數(shù)的確定與改寫;C、主函數(shù)、結(jié)構(gòu)體函數(shù)、調(diào)用函數(shù)的確定;第一部分struct t

6、eacher *creat();struct teacherchar num11;char name10;char sex8;char unit10;char address10;long telnum;float salary_1;float allowance;float life_allow;float salary_2;float tel_fee;float tax;float health_fee;float water_fee;float rent;float grant;float total_fee;float actual_salary;struct teacher *nex

7、t;第二部分struct teacher *insert(struct teacher*head,struct teacher *teach)struct teacher *p0,*p1,*p2;p1=head;p0=teach;if(head=NULL)head=p0;p0->next=NULL;elsewhile(p0->num>p1->num)&&(p1->next!=NULL)p2=p1;p1=p1->next;if(p0->num<p1->num)if(head=p1)head=p0;else p2->nex

8、t=p0;p0->next=p1;elsep1->next=p0;p0->next=NULL;n=n+1;return(head);四、程序調(diào)試與錯誤分析1剛開始運行插入函數(shù)時,總不能插入正確信息2開始編譯排序函數(shù)時出現(xiàn)無確插入函數(shù)及無法輸出正確結(jié)果的情況。3編譯查詢函數(shù)時,總是無法輸出正確信息。4各級函數(shù)調(diào)用出現(xiàn)很大問題,對函數(shù)使用不當以及函數(shù)調(diào)用的錯誤都造成了很多錯誤。5對刪除函數(shù)的調(diào)用錯誤,導致輸出結(jié)果錯誤。6對于很多 C 語句的使用不夠熟練,出錯較多。7針對以上錯誤,我虛心求教,向老師和同學求教,并順利解決了程序編譯過程中出現(xiàn)的問題和錯誤,成功的完成了本程序的編譯五、

9、運行結(jié)果進入頁面圖 2程序的輸入圖 3程序的輸出圖 4六、結(jié)論與心得課程設(shè)計是培養(yǎng)學生綜合運用所學知識、發(fā)現(xiàn)、提出、分析和解決實際問題 , 鍛煉實踐能力的重要環(huán)節(jié) , 是對學生實際工作能力的具體訓練和考察過程。教師工資管理系統(tǒng)這個題目很大,設(shè)計量也很大,也很繁瑣,讓我認識到這個課題非一人可以解決。但從另一方面,為了出色地完成這次課程設(shè)計,我不斷地細讀課本,獲得新知識的同時,提升了自己的能力。更重要的是我們進行了團隊合作。整個設(shè)計分模塊實現(xiàn)功能,每個模塊分別有不同的函數(shù)。每個同學都有自己的分工。鏈表的建立實現(xiàn)輸入信息功能,相比較于數(shù)組更加方便,更加節(jié)省程序的運行時間和存儲空間。通過使用文件 fr

10、ead 和 write 函數(shù)方便的將數(shù)據(jù)信息寫入文件并載入顯示段。通過這十幾天的訓練和設(shè)計與團隊合作,我學會了很多,也對 C 語言程序設(shè)計有了一個新的認識與理解,從中也得到了很多樂趣,在這兩周時間里看到同學們自己的勞動成果還是挺開心。而 C語言的設(shè)計為自己以獨立編程打下了基礎(chǔ)。參考文獻1【美】 Stephen Prata Primer Plus著 由云巔工作室譯。:人民郵電2014 年 12 月。2譚浩強 . 程序設(shè)計(第四版):清華大學2010 年 6月。附錄一部分源程序#include<stdio.h>#include<stdlib.h>#include<co

11、nio.h>#define LEN sizeof(struct teacher)struct teacher *creat();struct teacherchar num11;char name10;char sex8;char unit10;char address10;long telnum;float salary_1;float allowance;float life_allow;float salary_2;float tel_fee;float tax;float health_fee;float water_fee;float rent;float grant;floa

12、t total_fee;float actual_salary;struct teacher *next;int n;struct teacher *head;FILE *fp;struct teacher *creat(void)struct teacher *p1,*p2;n=0;p1=p2=(struct teacher *)malloc(LEN);printf("教師號 :");scanf("%d",&p1->num);fflush(stdin);printf("教師 :");gets(p1->name);

13、printf("教師性別 :");gets(p1->sex);printf("單位名稱 :");gets(p1->unit);printf("家庭地址 :");gets(p1->address);printf(":");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工資 :");scanf("%f",&p1->salary_1);fflush(stdin);p

14、rintf("津貼 :");scanf("%f",&p1->allowance);fflush(stdin);printf("生活補貼 :");scanf("%f",&p1->life_allow);fflush(stdin);printf("費:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("個人所得稅 :");scanf("%f",&

15、;p1->tax);fflush(stdin);printf("房租 :");scanf("%f",&p1->rent);fflush(stdin);printf("公積金 :");scanf("%f",&p1->grant);fflush(stdin);printf("水電費 :");scanf("%f",&p1->water_fee);fflush(stdin);printf("衛(wèi)生費 :");scanf

16、("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant;p1->actual_salary=p1->salary_2-p1->total_fee;head=NULL;while(p1->

17、;num!=0)n=n+1;if(n=1)head=p1;else p2->next=p1;p2=p1;p1=(struct teacher*)malloc(LEN);printf("教師號 :");scanf("%d",&p1->num);fflush(stdin);printf("教師 :");gets(p1->name);printf("教師性別 :");gets(p1->sex);printf("單位名稱 :");gets(p1->unit);pri

18、ntf("家庭地址 :");gets(p1->address);printf(":");scanf("%ld",&p1->telnum);fflush(stdin);printf("基本工資 :");scanf("%f",&p1->salary_1);fflush(stdin);printf("津貼 :");scanf("%f",&p1->allowance);fflush(stdin);printf(&qu

19、ot;生活補貼 :");scanf("%f",&p1->life_allow);fflush(stdin);printf("費:");scanf("%f",&p1->tel_fee);fflush(stdin);printf("個人所得稅 :");scanf("%f",&p1->tax);fflush(stdin);printf("房租 :");scanf("%f",&p1->rent);f

20、flush(stdin);printf("公積金 :");scanf("%f",&p1->grant);fflush(stdin);printf("水電費 :");scanf("%f",&p1->water_fee);fflush(stdin);printf("衛(wèi)生費 :");scanf("%f",&p1->health_fee);fflush(stdin);p1->salary_2=p1->salary_1+p1->

21、;allowance+p1->life_allow;p1->total_fee=p1->tel_fee+p1->water_fee+p1->rent+p1->tax+p1->health_fee+p1->grant;p1->actual_salary=p1->salary_2-p1->total_fee;p2->next=NULL;return(head);void print(struct teacher *head)struct teacher *p;printf("nNow,These %d records

22、 are:n",n);p=head;if(head!=NULL)doprintf("教師號 :%5dtt",p->num);printf("教師 :%-10sn",p->name);printf("教師性別 :%-6stt",p->sex);printf("單位名稱 :%-10sn",p->unit);printf("家庭地址 :%-10st",p->address);printf(":%8ldn",p->telnum);prin

23、tf("基本工資 :%5.0ftt",p->salary_1);printf("津貼 :%5.0fn",p->allowance);printf("生活補貼 :%5.0ft",p->life_allow);printf("t費:%5.0fn",p->tel_fee);printf("個人所得稅 :%5.0ft",p->tax);printf("衛(wèi)生費 :%5.0fn",p->health_fee);printf("水電費 :%5.

24、0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公積金 :%5.0ftt",p->grant);printf("應(yīng)發(fā)工資 :%5.0fn",p->salary_2);printf("合計扣款 :%5.0ftt",p->total_fee);printf("實發(fā)工資 :%5.0fnnn",p->actual_salary);p=p->next;while(p!=NULL);stru

25、ct teacher *insert(struct teacher*head,struct teacher *teach)struct teacher *p0,*p1,*p2;p1=head;p0=teach;if(head=NULL)head=p0;p0->next=NULL;elsewhile(p0->num>p1->num)&&(p1->next!=NULL)p2=p1;p1=p1->next;if(p0->num<p1->num)if(head=p1)head=p0;else p2->next=p0;p0-&g

26、t;next=p1;elsep1->next=p0;p0->next=NULL;n=n+1;return(head);struct teacher *del(struct teacher *head,int number)struct teacher *p1,*p2;if(head=NULL)printf("nlist nulln");return(head);p1=head;while(number!=p1->num&&p1->next!=NULL)p2=p1;p1=p1->next;if(number=p1->num)

27、if(p1=head)head=p1->next;else p2->next=p1->next;printf("刪除 :%dn",number);n=n-1;else printf("%ld is not foundn",number);return(head);void save() int i;struct teacher *p1;p1=head;if(fp=fopen("teacher_list","wb")=NULL)printf("cannot open filen"

28、);return;for(i=0;i<n;i+) if(fwrite(p1,sizeof(struct teacher),1,fp)!=1)printf("file write errorn");p1=p1->next;fclose(fp);void load()struct teacher *p1,*p2;if(fp=fopen("teacher_list","rb")=NULL)printf("cannot open filen");return;p1=p2=(struct teacher *)ma

29、lloc(LEN);head=p1;doif(fread(p1,sizeof(struct teacher),1,fp)!=1)printf("file errorn");goto end;if(p1->next!=NULL)p2=p1;p1=(struct teacher *)malloc(LEN);p2->next=p1;elsebreak;while(1);end:fclose(fp);void query(struct teacher *p)int no;p=head;printf("please input num:n");scan

30、f("%d",&no);while(p->num!=no)p=p->next;printf(" 基本工資 :%5.0ftt",p->salary_1); printf(" 津貼 :%5.0fn",p->allowance); printf(" 生活補貼 :%5.0ft",p->life_allow);printf("t費:%5.0fn",p->tel_fee);printf("個人所得稅 :%5.0ft",p->tax);pr

31、intf("衛(wèi)生費 :%5.0fn",p->health_fee);printf("水電費 :%5.0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公積金 :%5.0ftt",p->grant);printf("應(yīng)發(fā)工資 :%5.0fn",p->salary_2);printf("合計扣款 :%5.0ftt",p->total_fee);printf("實發(fā)工資 :

32、%5.0fnnn",p->actual_salary);void edit(struct teacher *p)int a;printf("please input num:n");scanf("%d",&a);printf("%dnn",a);for(;)if(p->num=a)printf("教師號 :%5dtt",p->num);printf("教師 :%-10sn",p->name);printf("教師性別 :%-6stt"

33、,p->sex);printf("單位名稱 :%-10sn",p->unit);printf("家庭地址 :%-10st",p->address);printf(":%8ldn",p->telnum);printf("基本工資 :%5.0ftt",p->salary_1);printf("津貼 :%5.0fn",p->allowance);printf("生活補貼 :%5.0ft",p->life_allow);printf(&quo

34、t;t費:%5.0fn",p->tel_fee);printf("個人所得稅 :%5.0ft",p->tax);printf("衛(wèi)生費 :%5.0fn",p->health_fee);printf("水電費 :%5.0ftt",p->water_fee);printf("房租 :%5.0fn",p->rent);printf("公積金 :%5.0ftt",p->grant);printf("應(yīng)發(fā)工資 :%5.0fn",p->

35、salary_2);printf("合計扣款 :%5.0ftt",p->total_fee);printf("實發(fā)工資 :%5.0fnnn",p->actual_salary);printf("請輸入新數(shù)據(jù) :n");printf("教師號 :");scanf("%d",&p->num);fflush(stdin);printf("教師 :");gets(p->name);printf("教師性別 :");gets(p-&g

36、t;sex);printf("工作單位 :");gets(p->unit);printf("家庭地址 :");gets(p->address);printf(":");scanf("%ld",&p->telnum);fflush(stdin);printf("基本工資 :");scanf("%f",&p->salary_1);fflush(stdin);printf("津貼 :");scanf("%f&qu

37、ot;,&p->allowance);fflush(stdin);printf("生活補貼 :");scanf("%f",&p->life_allow);fflush(stdin);printf("費:");scanf("%f",&p->tel_fee);fflush(stdin);printf("個人所得稅 :");scanf("%f",&p->tax);fflush(stdin);printf("房租 :&

38、quot;);scanf("%f",&p->rent);fflush(stdin);printf("公積金 :");scanf("%f",&p->grant);fflush(stdin);printf("水電費 :");scanf("%f",&p->water_fee);fflush(stdin);printf("衛(wèi)生費 :");scanf("%f",&p->health_fee);fflush(st

39、din);p->salary_2=p->salary_1+p->allowance+p->life_allow; p->total_fee=p->tel_fee+p->water_fee+p->rent+p->tax+p->health_fee+p->grant;p->actual_salary=p->salary_2-p->total_fee;break;p=p->next;void welcome()printf("ttt+-+n");printf("ttt| |n&qu

40、ot;);printf("ttt|歡迎使用教師工資管理系統(tǒng)|n");printf("ttt| |n");printf("ttt+-+n");printf("nn");char mainmenu()char choice;printf("n溫馨提示:為保證您的操作得到保存,請按正常順序退出系統(tǒng)_n"); printf("nn");printf("ttt-n");printf("ttt|教師工資管理系統(tǒng)|n");printf("t

41、tt-n");printf("ttt| 1-輸入教師信息|n");printf("ttt| 2-插入教師信息|n");printf("ttt| 3-刪除教師信息|n");printf("ttt| 4-瀏覽教師信息|n");printf("ttt| 5-錄入教師信息|n");printf("ttt| 6-查詢教師信息|n");printf("ttt| 7-修改教師信息|n");printf("ttt| 8-加載教師信息 |n")

42、;printf("ttt| 0-退出系統(tǒng) |n");t|* ·* ·* ·* ·* ·* ·* ·* ·* ·* ·| n");printf("ttt-n");printf("請輸入您的選擇 :");dofflush(stdin);scanf("%c",&choice);fflush(stdin);while(choice<'0'|choice>'8');

43、return(choice);case '0':system("cls");exit(0);case '1': printf("input records:n");head=creat();break;case '2':printf("input the inserted record:n"); teach=(struct teacher *)malloc(LEN);printf("教師號 :");scanf("%d",&teach->num);fflush(stdin);printf("教師 :");gets(teach->name);printf("教師性別 :");gets(teach->sex);printf("單位名稱 :");gets(teach->unit);printf("家庭地址 :");gets(teach->address);printf(":

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論