c語(yǔ)言程序設(shè)計(jì)教師工資標(biāo)準(zhǔn)管理系統(tǒng)具體的設(shè)計(jì)方案報(bào)告_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)教師工資標(biāo)準(zhǔn)管理系統(tǒng)具體的設(shè)計(jì)方案報(bào)告_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)教師工資標(biāo)準(zhǔn)管理系統(tǒng)具體的設(shè)計(jì)方案報(bào)告_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)教師工資標(biāo)準(zhǔn)管理系統(tǒng)具體的設(shè)計(jì)方案報(bào)告_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)教師工資標(biāo)準(zhǔn)管理系統(tǒng)具體的設(shè)計(jì)方案報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)匯報(bào)學(xué)院:天津理工大學(xué)華信軟件學(xué)院專業(yè)名稱:軟件工程課程設(shè)計(jì)科目C語(yǔ)言課程設(shè)計(jì)所在班級(jí):一班學(xué)生學(xué)號(hào):5945學(xué)生姓名:吳健指導(dǎo)老師:陳立娜完成時(shí)間:4月-6月老師工資管理系統(tǒng)每個(gè)老師信息為:老師號(hào)、姓名、性別、單位名稱、家庭住址、聯(lián)絡(luò)電話、基礎(chǔ)工資、津貼、生活補(bǔ)助、應(yīng)發(fā)工資、電話費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金、累計(jì)扣款、實(shí)發(fā)工資。注:應(yīng)發(fā)工資=基礎(chǔ)工資+津貼+生活補(bǔ)助;累計(jì)扣款=電話費(fèi)+水電費(fèi)+房租+所得稅+衛(wèi)生費(fèi)+公積金;實(shí)發(fā)工資=應(yīng)發(fā)工資-累計(jì)扣款。A、老師信息處理(1)輸入老師信息 (2)插入(修改)老師信息:(3)刪除老師信息:(4)瀏覽老師信息:提醒:具體功效及操作參考題1。B、老師數(shù)據(jù)處理:(1)按老師號(hào)錄入老師基礎(chǔ)工資、津貼、生活補(bǔ)助、電話費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金等基礎(chǔ)數(shù)據(jù)。(2)老師實(shí)發(fā)工資、應(yīng)發(fā)工資、累計(jì)扣款計(jì)算。提醒:計(jì)算規(guī)則如題目。(3)老師數(shù)據(jù)管理提醒:輸入老師號(hào),讀出并顯示該老師信息,輸入新數(shù)據(jù),將改后信息寫入文件(4)老師數(shù)據(jù)查詢:提醒:輸入老師號(hào)或其它信息,即讀出全部數(shù)據(jù)信息,并顯示出來(lái)。(5)老師綜合信息輸出提醒:輸出老師信息到屏幕。1.課程設(shè)計(jì)目標(biāo)和要求 鞏固和加強(qiáng)《c語(yǔ)言程序設(shè)計(jì)》課程理論知識(shí)。掌握c語(yǔ)言基礎(chǔ)概念,語(yǔ)法,語(yǔ)義和數(shù)據(jù)類型使用特點(diǎn)。掌握c語(yǔ)言程序設(shè)計(jì)方法及編程技巧,能正確使用c語(yǔ)言編寫程序。深入了解和利用結(jié)構(gòu)化程序設(shè)計(jì)思想和放法。使學(xué)生掌握調(diào)試程序基礎(chǔ)方法及上機(jī)操作方法。 經(jīng)過(guò)查詢手冊(cè)和文件資料,培養(yǎng)學(xué)生獨(dú)立分析問(wèn)題和處理問(wèn)題能力。初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)基礎(chǔ)方法。培養(yǎng)學(xué)生創(chuàng)新能力和創(chuàng)新思維。 培養(yǎng)學(xué)生良好程序設(shè)計(jì)風(fēng)格。深入了解和利用2.課程設(shè)計(jì)題目及內(nèi)容老師工資管理系統(tǒng)每個(gè)老師信息為:老師名,姓名,性別,單位名稱,家庭住址,聯(lián)絡(luò)電話,基礎(chǔ)工資,津貼,生活補(bǔ)助,應(yīng)發(fā)工資,電話費(fèi),水電費(fèi),房租,所得稅,衛(wèi)生費(fèi),公積金,累計(jì)扣款,實(shí)發(fā)工資。注:應(yīng)發(fā)工資=基礎(chǔ)工資+津貼+生活補(bǔ)助;累計(jì)扣款=電話費(fèi)+水電費(fèi)+房租+所得稅+衛(wèi)生費(fèi)+公積金;實(shí)發(fā)工資=應(yīng)發(fā)工資—累計(jì)扣款。1老師信息處理輸入老師信息插入(修改)老師信息刪除老師信息;瀏覽老師信息;(提醒:具體功效及操作參考題1。)2老師數(shù)據(jù)處理;按老師號(hào)錄入老師基礎(chǔ)工資,津貼,生活補(bǔ)助,電話費(fèi),水電費(fèi),房租,所得稅,衛(wèi)生費(fèi),公積金等基礎(chǔ)信息;老師實(shí)發(fā)工資、應(yīng)發(fā)公資、累計(jì)扣款;老師數(shù)據(jù)管理;(提醒:輸入老師號(hào),讀出并顯示該老師信息,輸入新數(shù)據(jù),將改后信息寫入文件。)老師數(shù)據(jù)查詢;(提醒:輸入老師好或其它信息,即讀出全部數(shù)據(jù)信息,并顯示出來(lái)。)老師綜合信息輸出;(提醒;輸出老師信息到屏幕。)需求分析老師信息處理A輸入老師信息B插入修改老師信息C刪除老師信息D瀏覽老師信息老師數(shù)據(jù)處理A按老師號(hào)錄入老師基礎(chǔ)工資、津貼、生活補(bǔ)助、電話費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金等基礎(chǔ)數(shù)據(jù)。B老師實(shí)發(fā)工資,應(yīng)發(fā)工資,累計(jì)扣款計(jì)算。C老師數(shù)據(jù)管理D老師數(shù)據(jù)查詢E老師綜合信息輸出二總體設(shè)計(jì)4.總體設(shè)計(jì)、輸出界面輸出界面選擇操作選擇0讀取文件實(shí)施freeall()退出系統(tǒng)選擇1輸入數(shù)據(jù)Break結(jié)束選擇2瀏覽數(shù)據(jù)break選擇3查詢數(shù)據(jù)選擇3查詢數(shù)據(jù)Break選擇4選擇5刪除數(shù)據(jù)修改數(shù)據(jù)BreakBreak輸出:無(wú)效選項(xiàng)Break結(jié)束建立動(dòng)態(tài)鏈表。開辟一個(gè)新結(jié)點(diǎn),并使開辟一個(gè)新結(jié)點(diǎn),并使p1,p2指向它讀入一個(gè)老師數(shù)據(jù)給P1所指結(jié)點(diǎn)head=NULLn=0當(dāng)讀入p1->num!=0表尾結(jié)點(diǎn)指針變量置NULLn=n+1n=n+1真n=1假head=p1p2->next=p1把p1所指結(jié)點(diǎn)把p1所指結(jié)點(diǎn)作為第一結(jié)點(diǎn)連接到表尾p2=p1在開辟一個(gè)新結(jié)點(diǎn),使p1指向它讀入一個(gè)老師數(shù)據(jù)給p1所指結(jié)點(diǎn)刪除結(jié)點(diǎn)真鏈表是一個(gè)空表假p1=head真鏈表是一個(gè)空表假p1=head當(dāng)num!=p1->num和p1所指結(jié)點(diǎn)不是表尾結(jié)點(diǎn)結(jié)點(diǎn)p2=p1p1=p1->next是p1是要?jiǎng)h除結(jié)點(diǎn)否是p1所指頭結(jié)點(diǎn)否輸出找head=p1->nextp2->next=不到信息p1->next息輸出空表插入結(jié)點(diǎn)pp1=head,p0=stud是原來(lái)鏈表是空表否當(dāng)p0->num>p1->num和p1所指不是表尾結(jié)點(diǎn)將p0所p2指向p1位置指結(jié)p1向后移一個(gè)結(jié)點(diǎn)點(diǎn)作為p0->num<=p1->num唯一真假結(jié)點(diǎn)是p1指向頭結(jié)點(diǎn)否p1->next=p0head=p0p2->next=p0p0->next=NULLp0->next=p1p0->next=p1修改調(diào)用調(diào)用query函數(shù)查找到相關(guān)結(jié)點(diǎn)地址修改相關(guān)結(jié)點(diǎn)值域是否存在該老師信息修改完成三、具體設(shè)計(jì)源程序#include<stdio.h>#include<stdlib.h>#include<conio.h>#defineLENsizeof(structteacher)structteacher*creat();structteacher{ charnum[11]; charname[10]; charsex[8]; charunit[10]; charaddress[10]; longtelnum; floatsalary_1; floatallowance; floatlife_allow; floatsalary_2; floattel_fee; floattax; floathealth_fee; floatwater_fee; floatrent; floatgrant; floattotal_fee; floatactual_salary; structteacher*next;};intn;structteacher*head;FILE*fp;structteacher*creat(void) { structteacher*p1,*p2; n=0; p1=p2=(structteacher*)malloc(LEN); printf("老師號(hào):");scanf("%d",&p1->num);fflush(stdin);printf("老師姓名:");gets(p1->name);printf("老師性別:");gets(p1->sex);printf("單位名稱:");gets(p1->unit);printf("家庭地址:");gets(p1->address);printf("電話號(hào)碼:");scanf("%ld",&p1->telnum);fflush(stdin);printf("基礎(chǔ)工資:");scanf("%f",&p1->salary_1);fflush(stdin);printf("津貼:");scanf("%f",&p1->allowance);fflush(stdin); printf("生活補(bǔ)助:");scanf("%f",&p1->life_allow);fflush(stdin);printf("電話費(fèi):");scanf("%f",&p1->tel_fee);fflush(stdin);printf("個(gè)人所得稅:");scanf("%f",&p1->tax);fflush(stdin);printf("房租:");scanf("%f",&p1->rent);fflush(stdin);printf("公積金:");scanf("%f",&p1->grant);fflush(stdin);printf("水電費(fèi):");scanf("%f",&p1->water_fee);fflush(stdin);printf("衛(wèi)生費(fèi):");scanf("%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->num!=0) { n=n+1; if(n==1)head=p1; elsep2->next=p1; p2=p1; p1=(structteacher*)malloc(LEN); printf("老師號(hào):");scanf("%d",&p1->num);fflush(stdin);printf("老師姓名:");gets(p1->name);printf("老師性別:");gets(p1->sex);printf("單位名稱:");gets(p1->unit);printf("家庭地址:");gets(p1->address);printf("電話號(hào)碼:");scanf("%ld",&p1->telnum);fflush(stdin);printf("基礎(chǔ)工資:");scanf("%f",&p1->salary_1);fflush(stdin);printf("津貼:");scanf("%f",&p1->allowance);fflush(stdin); printf("生活補(bǔ)助:");scanf("%f",&p1->life_allow);fflush(stdin);printf("電話費(fèi):");scanf("%f",&p1->tel_fee);fflush(stdin);printf("個(gè)人所得稅:");scanf("%f",&p1->tax);fflush(stdin);printf("房租:");scanf("%f",&p1->rent);fflush(stdin);printf("公積金:");scanf("%f",&p1->grant);fflush(stdin);printf("水電費(fèi):");scanf("%f",&p1->water_fee);fflush(stdin);printf("衛(wèi)生費(fèi):");scanf("%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; } p2->next=NULL; return(head);}voidprint(structteacher*head){ structteacher*p; printf("\nNow,These%drecordsare:\n",n); p=head; if(head!=NULL) do { printf("老師號(hào):%5d\t\t",p->num); printf("老師姓名:%-10s\n",p->name); printf("老師性別:%-6s\t\t",p->sex); printf("單位名稱:%-10s\n",p->unit); printf("家庭地址:%-10s\t",p->address); printf("電話號(hào)碼:%8ld\n",p->telnum); printf("基礎(chǔ)工資:%5.0f\t\t",p->salary_1); printf("津貼:%5.0f\n",p->allowance); printf("生活補(bǔ)助:%5.0f\t",p->life_allow); printf("\t電話費(fèi):%5.0f\n",p->tel_fee); printf("個(gè)人所得稅:%5.0f\t",p->tax); printf("衛(wèi)生費(fèi):%5.0f\n",p->health_fee); printf("水電費(fèi):%5.0f\t\t",p->water_fee); printf("房租:%5.0f\n",p->rent); printf("公積金:%5.0f\t\t",p->grant); printf("應(yīng)發(fā)工資:%5.0f\n",p->salary_2); printf("累計(jì)扣款:%5.0f\t\t",p->total_fee); printf("實(shí)發(fā)工資:%5.0f\n\n\n",p->actual_salary); p=p->next; }while(p!=NULL);}structteacher*insert(structteacher*head,structteacher*teach){ structteacher*p0,*p1,*p2; p1=head; p0=teach; if(head==NULL) { head=p0;p0->next=NULL; } else { while((p0->num>p1->num)&&(p1->next!=NULL)) {p2=p1;p1=p1->next;} if(p0->num<p1->num) { if(head==p1)head=p0; elsep2->next=p0; p0->next=p1; } else {p1->next=p0;p0->next=NULL;} } n=n+1; return(head);}structteacher*del(structteacher*head,intnumber){ structteacher*p1,*p2; if(head==NULL){printf("\nlistnull\n");return(head);} p1=head; while(number!=p1->num&&p1->next!=NULL) {p2=p1;p1=p1->next;} if(number==p1->num) { if(p1==head)head=p1->next; elsep2->next=p1->next; printf("刪除:%d\n",number); n=n-1; } elseprintf("%ldisnotfound\n",number); return(head);}voidsave(){inti;structteacher*p1; p1=head;if((fp=fopen("teacher_list","wb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<n;i++){if(fwrite(p1,sizeof(structteacher),1,fp)!=1)printf("filewriteerror\n");p1=p1->next;}fclose(fp);}voidload(){structteacher*p1,*p2; if((fp=fopen("teacher_list","rb"))==NULL) {printf("cannotopenfile\n");return;} p1=p2=(structteacher*)malloc(LEN);head=p1;do{ if(fread(p1,sizeof(structteacher),1,fp)!=1){printf("fileerror\n");gotoend;}if(p1->next!=NULL){p2=p1;p1=(structteacher*)malloc(LEN);p2->next=p1;}elsebreak;}while(1);end:fclose(fp);} voidquery(structteacher*p){ intno; p=head; printf("pleaseinputnum:\n"); scanf("%d",&no);while(p->num!=no) p=p->next; printf("基礎(chǔ)工資:%5.0f\t\t",p->salary_1); printf("津貼:%5.0f\n",p->allowance); printf("生活補(bǔ)助:%5.0f\t",p->life_allow); printf("\t電話費(fèi):%5.0f\n",p->tel_fee); printf("個(gè)人所得稅:%5.0f\t",p->tax); printf("衛(wèi)生費(fèi):%5.0f\n",p->health_fee); printf("水電費(fèi):%5.0f\t\t",p->water_fee); printf("房租:%5.0f\n",p->rent); printf("公積金:%5.0f\t\t",p->grant); printf("應(yīng)發(fā)工資:%5.0f\n",p->salary_2); printf("累計(jì)扣款:%5.0f\t\t",p->total_fee); printf("實(shí)發(fā)工資:%5.0f\n\n\n",p->actual_salary); } voidedit(structteacher*p){ inta; printf("pleaseinputnum:\n"); scanf("%d",&a); printf("%d\n\n",a); for(;;) {if(p->num==a) { printf("老師號(hào):%5d\t\t",p->num); printf("老師姓名:%-10s\n",p->name); printf("老師性別:%-6s\t\t",p->sex); printf("單位名稱:%-10s\n",p->unit); printf("家庭地址:%-10s\t",p->address); printf("電話號(hào)碼:%8ld\n",p->telnum); printf("基礎(chǔ)工資:%5.0f\t\t",p->salary_1); printf("津貼:%5.0f\n",p->allowance); printf("生活補(bǔ)助:%5.0f\t",p->life_allow); printf("\t電話費(fèi):%5.0f\n",p->tel_fee); printf("個(gè)人所得稅:%5.0f\t",p->tax); printf("衛(wèi)生費(fèi):%5.0f\n",p->health_fee); printf("水電費(fèi):%5.0f\t\t",p->water_fee); printf("房租:%5.0f\n",p->rent); printf("公積金:%5.0f\t\t",p->grant); printf("應(yīng)發(fā)工資:%5.0f\n",p->salary_2); printf("累計(jì)扣款:%5.0f\t\t",p->total_fee); printf("實(shí)發(fā)工資:%5.0f\n\n\n",p->actual_salary); printf("請(qǐng)輸入新數(shù)據(jù):\n"); printf("老師號(hào):");scanf("%d",&p->num);fflush(stdin);printf("老師姓名:");gets(p->name);printf("老師性別:");gets(p->sex);printf("工作單位:");gets(p->unit);printf("家庭地址:");gets(p->address);printf("電話號(hào)碼:");scanf("%ld",&p->telnum);fflush(stdin);printf("基礎(chǔ)工資:");scanf("%f",&p->salary_1);fflush(stdin);printf("津貼:");scanf("%f",&p->allowance);fflush(stdin); printf("生活補(bǔ)助:");scanf("%f",&p->life_allow);fflush(stdin);printf("電話費(fèi):");scanf("%f",&p->tel_fee);fflush(stdin);printf("個(gè)人所得稅:");scanf("%f",&p->tax);fflush(stdin);printf("房租:");scanf("%f",&p->rent);fflush(stdin);printf("公積金:");scanf("%f",&p->grant);fflush(stdin);printf("水電費(fèi):");scanf("%f",&p->water_fee);fflush(stdin);printf("衛(wèi)生費(fèi):");scanf("%f",&p->health_fee);fflush(stdin);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; }} voidwelcome(){printf("\t\t\t+---------------------------+\n");printf("\t\t\t||\n");printf("\t\t\t|歡迎使用老師工資管理系統(tǒng)|\n");printf("\t\t\t||\n");printf("\t\t\t+---------------------------+\n");printf("\n\n");}charmainmenu(){charchoice; printf("\n溫馨提醒:為確保您操作得到保留,請(qǐng)按正常次序退出系統(tǒng)^_^\n"); printf("\n\n"); printf("\t\t\t--------------------------------\n"); printf("\t\t\t|老師工資管理系統(tǒng)|\n"); printf("\t\t\t--------------------------------\n"); printf("\t\t\t|[1]----輸入老師信息|\n"); printf("\t\t\t|[2]----插入老師信息|\n"); printf("\t\t\t|[3]----刪除老師信息|\n"); printf("\t\t\t|[4]----瀏覽老師信息|\n"); printf("\t\t\t|[5]----錄入老師信息|\n"); printf("\t\t\t|[6]----查詢老師信息|\n"); printf("\t\t\t|[7]----修改老師信息|\n");printf("\t\t\t|[8]----加載老師信息|\n"); printf("\t\t\t|[0]----退出系統(tǒng)|\n"); printf("\t\t\t|*·*·*·*·*·*·*·*·*·*·|\n"); printf("\t\t\t--------------------------------\n"); printf("請(qǐng)輸入您選擇:"); do {fflush(stdin);scanf("%c",&choice);fflush(stdin); }while(choice<'0'||choice>'8'); return(choice);} { case'0': system("cls"); exit(0); case'1':printf("inputrecords:\n"); head=creat(); break; case'2':printf("inputtheinsertedrecord:\n"); teach=(structteacher*)malloc(LEN); printf("老師號(hào):");scanf("%d",&teach->num);fflush(stdin);printf("老師姓名:");gets(teach->name);printf("老師性別:");gets(teach->sex);printf("單位名稱:");gets(teach->unit);printf("家庭地址:");gets(teach->address);printf("電話號(hào)碼:");scanf("%ld",&teach->telnum);fflush(stdin);printf("基礎(chǔ)工資:");scanf("%f",&teach->salary_1);fflush(stdin);printf("津貼:");scanf("%f",&teach->allowance);fflush(stdin); printf("生活補(bǔ)助:");scanf("%f",&teach->life_allow);fflush(stdin);printf("電話費(fèi):");

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論