程序設(shè)計(jì)訓(xùn)練報(bào)告_第1頁(yè)
程序設(shè)計(jì)訓(xùn)練報(bào)告_第2頁(yè)
程序設(shè)計(jì)訓(xùn)練報(bào)告_第3頁(yè)
程序設(shè)計(jì)訓(xùn)練報(bào)告_第4頁(yè)
程序設(shè)計(jì)訓(xùn)練報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

文檔編碼:CZ7Z8A2H5B5——HZ10E1N9P8X5——ZY8T5F5Z8A3程序設(shè)計(jì)訓(xùn)練報(bào)錄告目一、設(shè)計(jì)題目

二、開(kāi)發(fā)平臺(tái)

三、需求分析

四、信息描述

五、總體分析

(一)、定義結(jié)構(gòu)體體變量(二)、功能模塊

(三)、流程圖

六、運(yùn)行界面設(shè)計(jì)

七、設(shè)計(jì)心得

八、附錄

源程序代碼1一、設(shè)計(jì)題目:職員治理系統(tǒng)二、開(kāi)發(fā)平臺(tái)

開(kāi)發(fā)平臺(tái):vc++6.0企業(yè)版,

使用系統(tǒng),winXP以上

三、需求分析

1、該程序可用于對(duì)企業(yè)員工工資情形基本信息的儲(chǔ)存、 查詢等操作,以實(shí)現(xiàn)對(duì)企業(yè)員工工資的治理;2、其中更新功能包括:添加工資信息、刪除工資信息、修改工資信息、可依據(jù)需要添加一個(gè)或多個(gè)員工工資信息,也可對(duì)個(gè)別員工信息進(jìn)行適當(dāng)?shù)膭h除或修改;以便隨時(shí)更新員工工資信息;3、程序中設(shè)計(jì)的查詢功能可依據(jù)需要從如干數(shù)據(jù)中查詢某個(gè)員工信息,并且可依據(jù)兩種不同的方法查詢:按工作證號(hào)查詢和按姓名查詢;以中意不同的需要;四、信息描述

職工信息包括職工號(hào)、姓名、基本工資、獎(jiǎng)金、扣款、稅款,實(shí)發(fā)工資;五、總體方案〔一〕 定義結(jié)構(gòu)體體變量typedefstructemployee{charnum[10]; //儲(chǔ)存職工編號(hào)charname[15]; //儲(chǔ)存職工姓名2floatjbgz; //儲(chǔ)存職工基本工資floatjj; //儲(chǔ)存職工獎(jiǎng)金floatkk; //儲(chǔ)存職工扣款floatyfgz; //儲(chǔ)存職工應(yīng)發(fā)工資doublesk; //儲(chǔ)存職工稅款}ZGGZ;doublesfgz; //儲(chǔ)存職工實(shí)發(fā)工資〔二〕 功能模塊菜單模塊:顯示職工治理系統(tǒng)的主菜單,供用戶選擇所需的功能,通過(guò)自己定義的voidmenu〔〕函數(shù)來(lái)實(shí)現(xiàn);職員治理系統(tǒng)菜單menu〔〕輸刪查修插顯保退入除詢改入示存出模模模模模模模模塊塊塊塊塊塊塊塊(1)輸入模塊

依據(jù)編號(hào),姓名,基本工資,獎(jiǎng)金,扣款的次序輸入信息,稅金3和實(shí)發(fā)工資依據(jù)輸入的信息進(jìn)行運(yùn)算得到,這些信息被錄入到文件中;通過(guò)自己定義的voidinput〔〕函數(shù)來(lái)實(shí)現(xiàn);(2)刪除模塊依據(jù)用戶的意愿刪除指定的信息;通過(guò)自己定義的 voiddel〔〕函數(shù)來(lái)實(shí)現(xiàn);(3)查詢模塊實(shí)現(xiàn)依據(jù)工資卡號(hào)和姓名的查詢,接受基本的查找方法即可;通過(guò)自己定義的voidsear〔〕 函數(shù)來(lái)實(shí)現(xiàn);(4)修改模塊依據(jù)用戶的意愿修改已輸入的信息;通過(guò)自己定義的 voidmodi()函數(shù) 來(lái)實(shí)現(xiàn);(5)插入模塊在用戶指定的位置插入信息;通過(guò)自己定義的voidinsert〔〕函數(shù)來(lái)實(shí)現(xiàn);(6)顯示模塊在窗口處顯示輸入的信息;通過(guò)自己定義的voiddisplay()函數(shù)來(lái)實(shí)現(xiàn);(7)儲(chǔ)存模塊儲(chǔ)存輸入的信息(8)退出模塊(三)、流程圖4 (1)主函數(shù)供應(yīng)輸入、處理和輸出部分的函數(shù)調(diào)用,各功能模塊接受菜單方式選擇;5開(kāi)頭菜單根據(jù)菜單輸入 n的值選擇程序1542367錄入插入修改刪除查詢顯示退出職工職工職工職工職工職工信息信息信息信息信息信息儲(chǔ)存0 是否連續(xù)進(jìn)行終止6錄入職工基本工資信息

開(kāi)頭輸入各項(xiàng)信息連續(xù)錄入儲(chǔ)存職工信息 返回?0主菜單刪除職工基本工資信息開(kāi)頭輸入判定是否存在 N

連續(xù)刪除刪除信息返回?y

主菜單7查詢職工基本工資信息開(kāi)頭輸入按姓名查詢按卡號(hào)查詢連續(xù)查詢輸出 返回?主菜單修改職工基本工資信息開(kāi)頭輸入判定是否存在 N Y

修改信息連續(xù)修改返回?y主菜單8插入職工基本工資信息

開(kāi) 始輸入新職工

信息 連續(xù)添加儲(chǔ)存輸入信息 返回? y

主菜單 七.使用說(shuō)明

1.初始界面2.輸入模塊93.刪除模塊4.查詢模塊105.修改模塊6.插入模塊117.顯示模塊8.儲(chǔ)存模塊129.退出模塊13八、設(shè)計(jì)心得

通過(guò)這幾天的努力,職工工資治理系統(tǒng)的設(shè)計(jì)已基本完成; 在本次課程設(shè)計(jì)中,我充分領(lǐng)悟了指針、結(jié)構(gòu)體、文件等;C語(yǔ)言功能的強(qiáng)大,包括函數(shù)、數(shù)組、職工工資治理系統(tǒng)是一個(gè)很有用并且使用廣泛的操作系統(tǒng); 此系統(tǒng)可以削減很多工作量,做到設(shè)計(jì)合理,便于使用,易于操作;界面友好,容錯(cuò)性高,可在很短的時(shí)間內(nèi),查找出所需的職工工資資料 ,提高工作效率;該系統(tǒng)具有添加、顯示、查詢、修改、刪除等基本功能,以便利對(duì)工資的各項(xiàng)治理操作; 每一條記錄包括一個(gè)職工的工號(hào)、 姓名、工資等信息,系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來(lái)實(shí)現(xiàn) ,可以14將職工信息儲(chǔ)存在文件中,并從文件中讀取出來(lái); 總的來(lái)說(shuō),通過(guò)這次程序設(shè)計(jì),使我加深了對(duì) C語(yǔ)言的熟識(shí),進(jìn)一步熟識(shí)了對(duì)C語(yǔ)言功能的靈敏運(yùn)用,而且加深了我對(duì)程序的懂得和編寫(xiě)才能,通過(guò)文獻(xiàn)資料和網(wǎng)絡(luò)資料的幫忙,使我對(duì)C語(yǔ)言程序設(shè)計(jì)這一基礎(chǔ)學(xué)科又一次加深了熟識(shí),也意識(shí)到了其具有的強(qiáng)大功能和發(fā)展前景;這會(huì)對(duì)以后的學(xué)習(xí)有所幫忙;九、附錄源程序代碼:#include<stdio.h>#include<string.h>typedefstructemployee{charnum[10]; //儲(chǔ)存職工編號(hào)charname[15]; //儲(chǔ)存職工姓名floatjbgz; //儲(chǔ)存職工基本工資floatjj; //儲(chǔ)存職工獎(jiǎng)金floatkk; //儲(chǔ)存職工扣款floatyfgz; //儲(chǔ)存職工應(yīng)發(fā)工資doublesk; //儲(chǔ)存職工稅款 doublesfgz;}ZGGZ;voidmenu〔〕//儲(chǔ)存職工實(shí)發(fā)工資{

printf〔" EmpoyeeSystem\n"〕; printf〔"*****************************************\n"〕;printf〔"*1添加record*2刪除record\n"〕;printf〔"*3查詢r(jià)ecord*4修改record\n"〕;printf〔"*5插入record*6顯示record\n"〕;printf〔"*7儲(chǔ)存record*0退出record\n"〕; printf〔"*****************************************\n"〕;

printf〔"Pleaseenteryouchoice〔0-7〕\n"〕;

}

intinput〔ZGGZa[],intk〕

{

intj,x;

charstr[10];

j=x=0;

while〔1〕

{

printf〔"----------------------------\n"〕;

printf〔"請(qǐng)輸入職工的編號(hào):(按0返回主菜單)"〕; scanf〔"%s",str〕;

strcpy〔a[k].num,str〕;

for〔j=0;j<k;j++〕16 {

if〔strcmp〔a[j].num,str〕==0〕

{

printf〔"已經(jīng)有工號(hào)為%s的員工信息.請(qǐng)重新輸入員工號(hào);\n",str〕;

printf〔"請(qǐng)輸入職工的編號(hào):"〕;

scanf〔"%s",str〕;

strcpy〔a[k].num,str〕;

}

}if〔strcmp〔a[k].num,"0"〕==0〕

break;

printf〔"請(qǐng)輸入職工的姓名:"〕;

scanf〔"%s",a[k].name〕;

printf〔"請(qǐng)輸入職工的基本工資: "〕;

scanf〔"%f",&a[k].jbgz〕;

printf〔"請(qǐng)輸入職工的獎(jiǎng)金:"〕;

scanf〔"%f",&a[k].jj〕;

printf〔"請(qǐng)輸入職工的扣款:"〕;

scanf〔"%f",&a[k].kk〕;

a[k].yfgz=a[k].jbgz+a[k].jj-a[k].kk;17 a[k].sk=a[k].yfgz*〔0.05〕;

a[k].sfgz=a[k].yfgz*〔0.95〕;

k++;

}

returnk;

}intdel〔ZGGZa[],inty〕

{

inti=0;

intx=0;

charstr[15];

printf〔"請(qǐng)輸入你要?jiǎng)h除的編號(hào)或姓名: "〕; scanf〔"%s",str〕;

printf〔"--------刪除成功--------\n"〕;

for〔i=0;i<y;i++〕

if〔.strcmp〔str,a[i].num〕||.strcmp〔str,a[i].name〕〕 {

while〔i<y〕

{

strcpy〔a[i].num,a[i+1].num〕;

strcpy〔a[i].name,a[i+1].name〕;18 a[i].jbgz=a[i+1].jbgz;

a[i].jj=a[i+1].jj;

a[i].kk=a[i+1].kk;

a[i].sfgz=a[i+1].sfgz;

a[i].sk=a[i+1].sk;

a[i].yfgz=a[i+1].yfgz;

i++;

}

x++;

}

if〔x==0〕

{

printf〔"輸入的編號(hào)或姓名不存在,請(qǐng)重新輸入: \n"〕; }

returny-x;

}

voidsear〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請(qǐng)輸入你要查找的編號(hào)或姓名: "〕;19scanf〔"%s",str〕;

for〔i=0;i<y;i++〕

if〔.strcmp〔str,a[i].num〕||.strcmp〔str,a[i].name〕〕{

printf〔"員工編號(hào)為%s\n",a[i].num〕;

printf〔"員工姓名為%s\n",a[i].name〕;

printf〔"基本工資:%f\n",a[i].jbgz〕;

printf〔"獎(jiǎng)金:%f\n",a[i].jj〕;

printf〔"扣款:%f\n",a[i].kk〕;

printf〔"應(yīng)發(fā)工資:%f\n",a[i].yfgz〕;

printf〔"稅款:%f\n",a[i].sk〕;

printf〔"實(shí)發(fā)工資:%f\n",a[i].sfgz〕;

x++;

}

if〔x==0〕

{ printf〔"未找到該記錄\n"〕;

return;

}}20voidmod〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請(qǐng)輸入你要修改的編號(hào): "〕;

scanf〔"%s",str〕;

for〔i=0;i<y;i++〕

if〔.strcmp〔str,a[i].num〕||.strcmp〔str,a[i].name〕〕 {

printf〔"請(qǐng)輸入修改后職工的姓名: "〕; scanf〔"%s",a[i].name〕;

printf〔"請(qǐng)輸入修改后職工的基本工資: "〕; scanf〔"%f",&a[i].jbgz〕;

printf〔"請(qǐng)輸入修改后職工的獎(jiǎng)金: "〕; scanf〔"%f",&a[i].jj〕;

printf〔"請(qǐng)輸入修改后職工的扣款: "〕; scanf〔"%f",&a[i].kk〕;

printf〔"-------------修改成功------------\n"〕; a[i].yfgz=a[i].jbgz+a[i].jj-a[i].kk;

a[i].sk=a[i].yfgz*〔0.05〕;

a[i].sfgz=a[i].yfgz*〔0.95〕;21x++;

}

if〔x==0〕

{ printf〔"未找到要修改的編號(hào)\n"〕; }

}

intinsert〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請(qǐng)輸入你要插入的編號(hào): "〕; scanf〔"%s",str〕;

printf〔"請(qǐng)輸入一條新的記錄信息: \n"〕; for〔i=0;i<y;i++〕

if〔strcmp〔str,a[i].num〕==0〕

{

x=i;

for〔i=y;i>x+1;i--〕

{22 a[i].jbgz=a[i-1].jbgz;

a[i].jj=a[i-1].jj;

a[i].kk=a[i-1].kk;

a[i].sfgz=a[i-1].sfgz;

a[i].sk=a[i-1].sk;

a[i].yfgz=a[i-1].yfgz;

strcpy〔a[i].name,a[i-1].name〕;

strcpy〔a[i].num,a[i-1].num〕;

}

}

x++;

printf〔"請(qǐng)輸入職工的編號(hào):"〕;

scanf〔"%s",a[x].num〕;

printf〔"請(qǐng)輸入職工的姓名:"〕;

scanf〔"%s",a[x].name〕;

printf〔"請(qǐng)輸入職工的基本工資:

"〕; scanf〔"%f",&a[x].jbgz〕;

printf〔"請(qǐng)輸入職工的獎(jiǎng)金:"〕;

scanf〔"%f",&a[x].jj〕;

printf〔"請(qǐng)輸入職工的扣款:"〕;

scanf〔"%f",&a[x].kk〕;

a[x].yfgz=a[x].jbgz+a[x].jj-a[x].kk;23 a[x].sk=a[x].yfgz*〔0.05〕;

a[x].sfgz=a[x].yfgz*〔0.95〕;

returny+1;

}

voidsave〔ZGGZa[],intn〕

{

FILE*fp;

inti;

if〔〔fp=fopen〔"sj.txt","wb"〕〕==NULL〕

{

printf〔"cannotopenfile\n"〕;

return;

}

for〔i=0;i<n;i++〕

if〔fwrite〔&a[i],sizeof〔structemployee〕,1,fp〕.=1〕 printf〔"filewriteerror\n"〕;

fclose〔fp〕;

}

voiddisplay〔ZGGZa[],intn〕

{

inti=0;

if〔n==0〕24 {

printf〔"Filesareempty\n"〕;

return;

}

do

{

printf〔"----------------------------\n"〕;

printf〔"員工編號(hào)為%s\n",a[i].num〕; printf〔"員工姓名為%s\n",a[i].name〕; printf〔"基本工資:%f\n",a[i].jbgz〕; printf〔"獎(jiǎng)金:%f\n",a[i].jj〕;

printf〔"扣款:%f\n",a[i].kk〕;

printf〔"應(yīng)發(fā)工資:%f\n",a[i].yfgz〕; printf〔"稅款:%f\n",a[i].sk〕;

printf〔"實(shí)發(fā)工資:%f\n",a[i].sfgz〕; i++;

}while〔i<n〕;

}

voidmain〔〕

{

intselete,c=0;

inti=0;25intz=0;

charq,p,x,s;

ZGGZb[100];

FILE*fp;

if〔〔fp=fopen〔"sj.txt","rb"〕〕==NULL〕

printf〔"NotFound.\n"〕;

else

{

do

{

fread〔&b[i],sizeof〔structemployee〕,1,fp〕; i++;

}while〔.feof〔fp〕〕;

fclose〔fp〕;

c=i-1;

}

while〔1〕

{

menu〔〕;

scanf〔"%d",&selete〕;

if〔selete==0〕

{26 printf〔"Thankyoufor

溫馨提示

  • 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)論