程序設計訓練報告_第1頁
程序設計訓練報告_第2頁
程序設計訓練報告_第3頁
程序設計訓練報告_第4頁
程序設計訓練報告_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

文檔編碼:CZ7Z8A2H5B5——HZ10E1N9P8X5——ZY8T5F5Z8A3程序設計訓練報錄告目一、設計題目

二、開發(fā)平臺

三、需求分析

四、信息描述

五、總體分析

(一)、定義結構體體變量(二)、功能模塊

(三)、流程圖

六、運行界面設計

七、設計心得

八、附錄

源程序代碼1一、設計題目:職員治理系統二、開發(fā)平臺

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

使用系統,winXP以上

三、需求分析

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

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

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

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

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

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

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

開 始輸入新職工

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

主菜單 七.使用說明

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

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

printf〔" EmpoyeeSystem\n"〕; printf〔"*****************************************\n"〕;printf〔"*1添加record*2刪除record\n"〕;printf〔"*3查詢record*4修改record\n"〕;printf〔"*5插入record*6顯示record\n"〕;printf〔"*7儲存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〔"請輸入職工的編號:(按0返回主菜單)"〕; scanf〔"%s",str〕;

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

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

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

{

printf〔"已經有工號為%s的員工信息.請重新輸入員工號;\n",str〕;

printf〔"請輸入職工的編號:"〕;

scanf〔"%s",str〕;

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

}

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

break;

printf〔"請輸入職工的姓名:"〕;

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

printf〔"請輸入職工的基本工資: "〕;

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

printf〔"請輸入職工的獎金:"〕;

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

printf〔"請輸入職工的扣款:"〕;

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〔"請輸入你要刪除的編號或姓名: "〕; 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〔"輸入的編號或姓名不存在,請重新輸入: \n"〕; }

returny-x;

}

voidsear〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請輸入你要查找的編號或姓名: "〕;19scanf〔"%s",str〕;

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

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

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

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

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

printf〔"獎金:%f\n",a[i].jj〕;

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

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

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

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

x++;

}

if〔x==0〕

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

return;

}}20voidmod〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請輸入你要修改的編號: "〕;

scanf〔"%s",str〕;

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

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

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

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

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

printf〔"請輸入修改后職工的扣款: "〕; 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〔"未找到要修改的編號\n"〕; }

}

intinsert〔ZGGZa[],inty〕

{

inti;

intx=0;

charstr[15];

printf〔"請輸入你要插入的編號: "〕; scanf〔"%s",str〕;

printf〔"請輸入一條新的記錄信息: \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〔"請輸入職工的編號:"〕;

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

printf〔"請輸入職工的姓名:"〕;

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

printf〔"請輸入職工的基本工資:

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

printf〔"請輸入職工的獎金:"〕;

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

printf〔"請輸入職工的扣款:"〕;

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〔"員工編號為%s\n",a[i].num〕; printf〔"員工姓名為%s\n",a[i].name〕; printf〔"基本工資:%f\n",a[i].jbgz〕; printf〔"獎金:%f\n",a[i].jj〕;

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

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

printf〔"實發(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論