c語(yǔ)言程序的設(shè)計(jì)-職工信息管理系統(tǒng)1_第1頁(yè)
c語(yǔ)言程序的設(shè)計(jì)-職工信息管理系統(tǒng)1_第2頁(yè)
c語(yǔ)言程序的設(shè)計(jì)-職工信息管理系統(tǒng)1_第3頁(yè)
c語(yǔ)言程序的設(shè)計(jì)-職工信息管理系統(tǒng)1_第4頁(yè)
c語(yǔ)言程序的設(shè)計(jì)-職工信息管理系統(tǒng)1_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

中南大劈

C語(yǔ)言課程設(shè)計(jì)

C語(yǔ)言課程設(shè)計(jì)任務(wù)書(shū)

一、題目:職工信息管理系統(tǒng)

二、目的和要求

目的:要求熟練掌握c語(yǔ)言的基本知識(shí)和編輯技能;

基本掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本思路和方法。

要求:設(shè)計(jì)一個(gè)取工信息管理系統(tǒng),使之能提供以下功能:

1、應(yīng)提供一個(gè)界面來(lái)調(diào)用各個(gè)功能,調(diào)用界面和各個(gè)功能的操作界面

應(yīng)盡可能清晰美觀(guān)!

2、輸入功能:職工信息錄入(職工信息用文件保存),可以一次完成

若干條記錄的輸入。

3、瀏覽功能:完成對(duì)全部職工信息的顯示。

4>查找功能:①完成按職工的取工號(hào)查詢(xún)職工的相關(guān)信息,并顯示。

②完成按積工的學(xué)歷查詢(xún)職工的相關(guān)信息,并顯示。

③完成按職工的查詢(xún)職工的相關(guān)信息,并顯示。

5、刪除功能:通過(guò)輸入職工的完成對(duì)該名職工的信息進(jìn)行刪除。

6、添加功能:完成添加新職工的信息的任務(wù)。

7、修改功能:通過(guò)輸入職工的完成對(duì)該名職工的信息進(jìn)行修改。

8、退出職工信息管理系統(tǒng)。

三、信息描述

取工信息包括職工號(hào)、、性別、年齡、學(xué)歷、工資、住址、等。

四、解決方案

1、首先進(jìn)行需求分析,搞清楚系統(tǒng)功能和任務(wù);

2、然后在總體設(shè)計(jì)中確定模塊結(jié)構(gòu)、劃分功能模塊,將軟件功能需求分配

給所劃分的最單元模塊。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫(kù)

模式,確定測(cè)試方法與策略;

3、在詳細(xì)設(shè)計(jì)中,為每個(gè)模塊確定采用的算法,選擇適當(dāng)?shù)墓ぞ弑磉_(dá)算法

的過(guò)程(流程圖)來(lái)描述模塊的詳細(xì)過(guò)程。確定每一模塊采用的數(shù)據(jù)結(jié)構(gòu)和模塊

接口的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶(hù)界面,對(duì)系統(tǒng)部其他模塊的接口;

4'根據(jù)分析編寫(xiě)C語(yǔ)言代碼。

五、進(jìn)度安排

課程設(shè)計(jì)時(shí)間為兩周,分為五個(gè)階段完成:

1、分析設(shè)計(jì)階段。在老師的指導(dǎo)下自主學(xué)習(xí)和鉆研問(wèn)題,明確設(shè)計(jì)要求,

找出現(xiàn)實(shí)方法。按照需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)幾個(gè)步驟進(jìn)行。這一

階段前1-2天完成;

2、編碼調(diào)試階段。根據(jù)設(shè)計(jì)分析方案編寫(xiě)C語(yǔ)言代碼,然后調(diào)試該代碼,

實(shí)現(xiàn)課題要求的功能。這一階段在3-7天完成;

3'總結(jié)報(bào)告階段??偨Y(jié)設(shè)計(jì)工作,寫(xiě)出課程設(shè)計(jì)說(shuō)明書(shū),包括需求分析、

總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試的步驟和容。這一階段在8-9天完成;

4'考核階段。

六、寫(xiě)課程設(shè)計(jì)總結(jié)

課程設(shè)計(jì)報(bào)告要求

總結(jié)報(bào)告包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼(詳細(xì)寫(xiě)出編程步驟)、

測(cè)試的步驟和容、課程設(shè)計(jì)總結(jié)和參考資料等。

七、參考資料

《C程序設(shè)計(jì)》(第三版)譚浩強(qiáng)著清華大學(xué)

《C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》(第三版)譚浩強(qiáng)編著清華大學(xué)

目錄

1?總體設(shè)計(jì)方案.....................................................3

2?使用說(shuō)明與運(yùn)行實(shí)例............................................5.

3?項(xiàng)目源程序代碼...................................................10

4,課程設(shè)計(jì)心得.....................................................23

總體設(shè)計(jì)方案

一?系統(tǒng)的總體流程圖

圖1.系統(tǒng)的總體流程圖

二.為了方便使用結(jié)構(gòu)此系統(tǒng)結(jié)構(gòu)均為全局類(lèi)型定義

structemployee//定義一個(gè)職工信息的結(jié)構(gòu)體

intnum;

charname[10];

charsex;

intage;

charxueli[30];

intwage;

charaddr[30];

chartel[20];

(em[100];

三.各模塊的功能和實(shí)現(xiàn)

1.菜單模塊:顯示職工管理系統(tǒng)的主菜單,供用戶(hù)選擇所需的功能,通過(guò)自己定

義的voidmenu。函數(shù)來(lái)實(shí)現(xiàn)。

2.輸入模塊:輸入職工的工號(hào)、以與其它的一些職工的相關(guān)信息,通過(guò)自己定義

的voidinput。函數(shù)來(lái)實(shí)現(xiàn)。

3.保存模塊:將存中職工的信息輸出到磁盤(pán)文件中,可以通過(guò)自己定義的void

save(int)函數(shù)來(lái)實(shí)現(xiàn)。

4.瀏覽模塊:瀏覽所有職工的相關(guān)信息,通過(guò)自己定義的voiddisplay()函

數(shù)來(lái)實(shí)現(xiàn)。

5.刪除模塊:刪除需要?jiǎng)h除的職工的所有信息,通過(guò)自己定義的voiddel。函

數(shù)來(lái)實(shí)現(xiàn)。

6.添加模塊:添加需要添加的職工的相關(guān)信息,通過(guò)自己定義的voidadd。函

數(shù)來(lái)實(shí)現(xiàn)。

7.按職工號(hào)查詢(xún)模塊:可以按職工號(hào)來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自己定義的

voidsearch_num()函數(shù)來(lái)實(shí)現(xiàn)。

8.按職工的的學(xué)歷查詢(xún)模塊:可以按職工的學(xué)歷來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自

己定義的voidsearch_xueli1函數(shù)來(lái)實(shí)現(xiàn)。

9.按職工的查詢(xún)模塊:可以按職工的來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自己定義的

voidsearch-tel函數(shù)來(lái)實(shí)現(xiàn)。

10.修改模塊:可以修改需要修改的職工的相關(guān)信息,通過(guò)自己定義的void

modify()函數(shù)來(lái)實(shí)現(xiàn)。

11.退出系統(tǒng)模塊:退出職工信息管理系統(tǒng),通過(guò)頭文件windows,h中的exit(0)

函數(shù)來(lái)實(shí)現(xiàn)。

使用說(shuō)明與運(yùn)行實(shí)例

1.運(yùn)行程序,進(jìn)入職工信息管理系統(tǒng)的主菜單:

*********歡迎進(jìn)入職工信息管理

1.錄入職工信息2.瀏覽職工信息

3.查詢(xún)職工信息4.刪除職工信息

5.添加職工信息6.修改職工信息

7.退出

硼謝使用

請(qǐng)?jiān)俅芜x擇你需要操作的步黑1一》

圖1:進(jìn)入主菜單界面

2,輸入數(shù)字T進(jìn)行錄入職工信息:

*********歡迎進(jìn)入職工信息管^^^^…*******

1.錄入職工信息2.瀏覽職工信息

3.查詢(xún)職工信息4.刪除職I信息

5.添加職工信息6.修改職I信息

7?退出、

IKKKEKKKKKKKKLKI*I1、*U<>-IfI4KKi-iKKjK—K.—K—KxE.xK一一K」K一I.JXK-^一—

清選擇你需要操作的步驟〈1一7〉:

???輸入職工信息???

請(qǐng)輸入需要?jiǎng)?chuàng)建信息的職工人數(shù)《工一1。。>:

博御入職工號(hào):1

請(qǐng)輸入姓名:xiedongxing

請(qǐng)輸入性別<£一女m一男):n

請(qǐng)輸入年齡:18

請(qǐng)輸入學(xué)歷:daxuebenke

請(qǐng)諭入工資:200

清輸入住址:ji?ngxisheng

清輸入電話(huà)/p>

創(chuàng)建完畢?

是否必經(jīng)進(jìn)行。orn>:

圖2:錄入職工信息

3,輸入“y”返回主菜單(界面同圖1)。

4.輸入“2”瀏覽職工信息:

請(qǐng)選擇你需要操作的步驟3―7):

???瀏覽職ZE信息???

職工號(hào)年齡

1xiedongxingm18

學(xué)歷工資住址電話(huà)

daxucbcnkc200Jian^xishcn/p>

否進(jìn)行orn>:

圖3:瀏覽職工信息

5.輸入“y”后繼續(xù),輸入“3”進(jìn)行查詢(xún)職工信息:

請(qǐng)選擇你需要操作的步驟3—7”

3

???按職工號(hào)查詢(xún)職工信息???

E安職工號(hào)查詢(xún)請(qǐng)按1;按學(xué)歷查詢(xún)請(qǐng)按2;按電話(huà)號(hào)襦查詢(xún)請(qǐng)按3;進(jìn)入主用數(shù)請(qǐng)按4

按職工號(hào)查詢(xún)

請(qǐng)輸入要查找的職工號(hào):

1

已找到此人,其記錄為:

職工號(hào)?睜」年齡

1xiedongxinQn18

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

忸回查詢(xún)函數(shù)請(qǐng)按1/陵查詢(xún)職工號(hào)請(qǐng)按2

按職工號(hào)查詢(xún)請(qǐng)按1;按學(xué)歷查詢(xún)請(qǐng)按2;按電話(huà)號(hào)襦查詢(xún)請(qǐng)按3;進(jìn)入主用數(shù)請(qǐng)按4

按查詢(xún)

清輸入要查找的學(xué)歷:

daxuebenke

已找到,其記錄為:

職工號(hào)?睜」年齡

1xiedongxingn18

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

圖4:按職工號(hào)與學(xué)歷查詢(xún)職工信息

返回查詢(xún)函數(shù)請(qǐng)按工,名陵查詢(xún)學(xué)歷請(qǐng)按2

1

按職工號(hào)查詢(xún)請(qǐng)按1;按學(xué)歷查詢(xún)清按2;按電話(huà)號(hào)碼查詢(xún)請(qǐng)按3;進(jìn)入主函數(shù)請(qǐng)按4

3

按電話(huà)號(hào)碼查詢(xún)

清輸入要查找的電話(huà)號(hào)碼:

已找到此人,其記錄為:

職工號(hào)群1SSIJ年齡

1xiedongxingm18

工資住址電話(huà)

daxuebenke200Jiangxishen/p>

返回查詢(xún)迭數(shù)請(qǐng)按1,承查詢(xún)電話(huà)覆碼請(qǐng)按2

圖5:按查詢(xún)職工信息

6.迸入主菜單,輸入“4”進(jìn)行刪除職工信息:

???刪除職工信息???

原來(lái)的職工信息:

職工號(hào)群悵!1年齡

1xiedongxingn18

工資住址電話(huà)

daxuebenke200jiangxishen/p>

請(qǐng)輸入要?jiǎng)h除的職工的姓名:

xiedongxing

已找到此人,原始記錄為:

職工號(hào)蟀悵1」年齡

1xiedongxingn18

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

確實(shí)要?jiǎng)h除此人信息請(qǐng)按1.不刪除請(qǐng)按。

1

瀏覽刪除后的所有職工信息:

職工號(hào)ttS'J年齡

學(xué)歷工資住址電話(huà)

納繪冊(cè)郵余請(qǐng)按1,不再刪除清按。

圖6:刪除職工信息

7.迸入主菜單輸入“5”進(jìn)行添加職工信息:

???添加職工信息???

原來(lái)的職工信息:

職工號(hào)■!1年齡

1xiedongxingn18

工資住址電話(huà)

daxuebenke200jiangxishen/p>

清輸入想增加的職工數(shù):

1

請(qǐng)輸入新增加職工的信息;

請(qǐng)輸入職工號(hào);2

請(qǐng)輸入姓名:wenxiaojun

清輸一女m一男):m

清輸入年齡:19

請(qǐng)輸入學(xué)歷:daxuebenke

請(qǐng)輸入工資:200

請(qǐng)輸入住址:hunansheng

請(qǐng)輸入電話(huà)/p>

已增加的人數(shù);

1

添加完畢?

瀏覽增加后的所有職工信息二

職工號(hào)ttS'J年齡

1xiedongxingn18

2v/enxiaojunn19

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

圖7:添加職工信息

8.迸入主菜單輸入“6”進(jìn)行修改職工信息:

原來(lái)的職工信息

職工號(hào),姓SffilJ年齡

1xiedongxingn18

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

請(qǐng)輸入要修改的職工的蟀:

xiedongxing

已找到此人,原始記錄為:

職工號(hào)姓名年齡

1xiedongxingn18

學(xué)歷工資住址電話(huà)

daxuebenke200jiangxishen/p>

確實(shí)要修改此人信息請(qǐng)按1;不修改請(qǐng)按。

1

需要進(jìn)行修改的選項(xiàng)

[?耳虹鋁2.番4.年齡5.學(xué)歷6.工資7.住址8.電話(huà)

請(qǐng)輸入彳播修改的那一項(xiàng)序號(hào):

2

姓名改為:wenxiaojun

是否確定所修改的信息?

是請(qǐng)按1;不.重新修改請(qǐng)按2:

1

瀏隨修改后的所有職T信息:

職工號(hào)ffilj年齡

wenxiaojunn18

1學(xué)歷

工資住址電話(huà)

daxuebenke200jiangxishen/p>

圖8:修改職工信息

9.進(jìn)入主菜單輸入"V退出職工信息管理系統(tǒng)。

職工信息管理系統(tǒng)源程序代碼

#include<stdio.h>

#include<windows.h>

*include<string.h>

#defineN100

structemployee

(

intnum;

charname[20];

charsex;

intage;

charxueli[30];

intwage;

charaddr[30];

chartel[20];

(em[100];定義一個(gè)結(jié)構(gòu)體米/

voidmenu();

voidinputO;

voidsave(int);

voiddisplayO;

voiddel();

voidadd();

voidsearchO;

voidsearch_nmn();

voidsearch_xueli();

voidsearch.tel();

voidmodifyO;/米定義各函數(shù)*/

voidmain()

(

menuO;

intn,flag;

chara;

do

(

printf("請(qǐng)選擇你需要操作的步驟(1-7):\n");

scanf("%d",&n);

if(n>=l&&n<=7)

flag=l;

break;

)

else

(

flag=O;

printf("您輸入有誤,請(qǐng)重新選擇!”);

)

)

while(flag==O);

while(flag==l)

(

switch(n)

(

case1:printf(n???輸入職工信息???

\n");printf("\n");inputO;break;

case2:printf("???瀏覽職工信息???

\n");printf("\n");displaiO;break;

case3:printf("???按職工號(hào)查詢(xún)職工信息???

\n");printf("\n");search();break;

case4:printf("???刪除職工信息???

\n");printf("\n");del();break;

case5:printf("???添加職工信息???

\n");printf("\n");add();break;

case6:printf(M???修改職工信息???

\n");printf("\n");nicxlify();break;

case7:exit(0);break;

default:break;

I

getcharO;

printfC\n");

printf("是否繼續(xù)進(jìn)行:yorn):\n");

scanf("%c",&a);

if(a==y')

flag=l;

systemC'cls");/*清屏*/

menu();/*調(diào)用菜單函數(shù)*/

printfC請(qǐng)?jiān)俅芜x抵你需要操作的步驟(1-7):\/);

scanf("%d",&n);

printfC;

else

exit(0);

}

voidmenuO/*菜單函數(shù)*/

printfC*'耕米株林米株料歡迎進(jìn)入職工信息管理系統(tǒng)米爍糕米糕林\十);

printfC1.錄入職工信息");

printfC'2.瀏覽職工信息\n");

printfC3.查詢(xún)職工信息");

printfC1'4.刪除職工信息\n");

printfC5.添加職工信息");

printfC6.修改職工信息\n");

printfC7.退出\n");

vl/st/*1/xl/st/\_d、

printfC不不不不小不不不不不不不不不不不不不不不小不不不不不不不不、),

printfC\n");

printfC\n");

voidinputO/*錄入函數(shù)*/

(

inti,m;

printf("請(qǐng)輸入需要倉(cāng)]建信息的職工人數(shù)(1—100):\/);

scanf("%d",&m);

for(i=0;i<m;i++)

(

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

scanf("%d",&em[i].nun);

printf("請(qǐng)輸入:");

scanfC%s",em[i],name);

getcharO;

printf("請(qǐng)輸入性別(f一女m—男):");

scanf("%c",&cn】[i].sex);

printf("請(qǐng)輸入年齡:");

scanf("%d",&cmLiJ.age);

printfC請(qǐng)輸入學(xué)歷:");

scanf(r,%s",em[i].xueli);

printf。請(qǐng)輸入工資:");

scanf("%d",&em[i].wage);

printf。請(qǐng)輸入住址:

scanfC%s",em[i].addr);

printf("請(qǐng)輸入:");

scanfC%s",em[i].tel);

printf("\n");

(

printf("\n創(chuàng)建完畢!\n");

save(m);

voidsave(intm)/*保存文件函數(shù)*/

(

inti;

FILE*fp;

if((fp=fopen(nemployee_list",MwbH))==NULL)

(

printf("cannotopenfile\n");

exit(O);

I

for(i=0;i<m;i++)/*將存中職工的信息輸出到磁盤(pán)文件中去*/

if(fwrite(&enki],sizeof(structemployee),1,fp)!=l)

printfC'filewriteerror\n");

fclose(fp);

intload()/*導(dǎo)入函數(shù)*/

(

FILE*fp;

inti=0;

if((fp=fopen("employee_list","rb"))==NULL)

f

printf("cannotopenfile\n");

exit(O);

)

else

(

do

(

fread(&emliJ,sizeofCstructemployee),1,fp);

i++;

)

while(feof(fp)==0);

)

fclose(fp);

return(i-l);

voiddisplayO/*瀏覽函數(shù)*/

inti;

intm=load();

printfC職工號(hào)性別\t\t年齡\n");

for(i=0;i<m;i++)/*m為輸入部分的職工人數(shù)*/

printfC'\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);

printf(*'\n學(xué)歷\t\t工資\t\t住址\t\t\n");

for(i=0;i<m;i++)/*m為揄入部分的職工人數(shù)*/

printf("\n%s\t%d\t\t%s\t%s\nn,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

voiddel()/*刪除函數(shù)*/

(

intm=load();

inti,j,n,t,flag;

charnamc[20];

printf("\n原來(lái)的職工信息:\n");

displayO;

printfC*\n");

printf("請(qǐng)輸入要?jiǎng)h除的職工的:\n");

scanf("%s",name);

for(flag=l,i=O;flag&&i<m;i++)

(

if(strcmp(em[i].name.name)==0)

(

printf("\n已找到此人,原始記錄為:\nM);

printfC職工號(hào)\t\t\t性別\t\t年齡\n");

printfC'\n%d\t\t%s\t;oc\t\t%d\t\n",em[i],num,em[i].name,em[i].sex,em[i].age);

printfC'\n學(xué)歷\t\t工資\t\t住址\t\t\n");

printfC'\n%s\t%d\t\t%s\t%s\n",cmLiJ.xueli,cm[iJ.wage,eni[iJ.addr,cin[iJ.tel);

printf("\n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,不刪除請(qǐng)按0'n");

scanf("%d",&n);

if(n==l)

{

for(j=i;j<m-l;j++)

(

strcpy(em[j].name,em[j+1].name);

em[j].num=eni[j+1].num;

em[j].sex=em[j+1].sex;

em[j].age=em[j+l].age;

strcpy;em[j].xueli,em[j+1].xueli);

em[j].wage=cm[j+1].wage;

strcpy(em[j].addr,em[j+1].addr);

strcpy(em[j].tel,em[j+1].tel);

)

flag=O;

if(!flag)

m=in-l;

else

printf("\n對(duì)不起,查無(wú)此人!\rT);

printf("\n瀏覽刪除后的所有職工信息:\n");

save(m);/*調(diào)用保存函數(shù)*/

displayO;/*調(diào)用瀏覽函數(shù)*/

printf("\n繼續(xù)刪除請(qǐng)按1,不再刪除請(qǐng)按0\n");

scanf(H%d",&t);

switch(t)

{

case1:del();break;

case0:break;

default:break;

)

voidadd()/*添加函數(shù)*/

(

FILE*fp;

intn;

intcount=0;

inti;

intm=load();

printfC\n原來(lái)的職工信息:\n");

displayO;

printfC\nM);

fp=fopen("emploee_list","a");

printf("請(qǐng)揄人想增加的職工數(shù):);

scanf("%d",&n);

for(i=m;i<(m+n);iH)

printfC\n請(qǐng)輸入新增加職工的信息:\n");

printfC請(qǐng)輸入職工號(hào):

scanf("%d",&em[i].num);

printf("\n");

printf("請(qǐng)輸入:");

scanf("%s",cm[i].name);

getchar();

printf("請(qǐng)輸入性別(f一女m一男):");

scanf("%c",&em[i].sex);

printf(”請(qǐng)輸入年齡:");

scanf("%d",&em[i].age);

printf("請(qǐng)輸入學(xué)歷:");

scanf("%s",cm[i].xueli);

printf("請(qǐng)輸入工資:");

scan&em[i].wage);

printf("請(qǐng)揄入住址:");

scanfC%s",em[i].addr);

printf("請(qǐng)粉入:"

scanf("%s",em[i].tel);

printfC\n");

count=count+l;

printfC已增加的人數(shù):\n");

printfC%d\n",count);

)

printfC\n添加完畢!\n");

m=m+count;

printfC\n瀏覽增加后的所有職工信息:\n”);

printfC\n");

save(m);

displayO;

fclose(fp);

voidsearch。/*查詢(xún)函數(shù)*/

{

intt,flag;

do

(

printf("\n按職工號(hào)查詢(xún)請(qǐng)按1;按學(xué)歷查詢(xún)請(qǐng)按2;按查詢(xún)請(qǐng)按3;進(jìn)入主函數(shù)請(qǐng)

按4\n");

scanf("%d",&t);

if(t>=l&&t<=4)

flag=l;

break;

else

{

flag=O;

printf("您輸入有誤,請(qǐng)重新選擇!");

)

}

while(flag==O);

while(flag==l)

(

switch(t)

{

case1:printf("按職工號(hào)查詢(xún)\n");search_num();break;

case2:printf("按學(xué)歷查詢(xún)\n");search_xueli();break;

case3.14成£("按查詢(xún)\11");search_te1();break;

case4:main();break;

default:break;

)

)

voidscarch_num()

I

intnum;

inti,t;

intm=load();

printfC'請(qǐng)輸入要查找的職工號(hào):\n”);

scanf("%d",&num);

for(i=0;i<m;i++)

if(num==em[i].num)

|

printfC\n已找到此人?其記錄為:\n");

printfC,職工號(hào)性別\t\t年齡\n");

printfC\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);

printfC'\n學(xué)歷\t\t工資\t\t住址\t\t\n");

printfC,\n%s\t%d\t\t^s\t%s\n,',em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

break;

}

if(i==m)

printf("\n對(duì)不起?查無(wú)此人\n");

printf("\n");

printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)職工號(hào)請(qǐng)按2\n");

scanf("%d",&t);

switch(t)

(

case1:search();break:

case2:break;

default:break;

)

voidsearch_xueli()

(

charxueli[30];

inti,t;

intm=load();

printf("請(qǐng)輸入要查找的學(xué)歷:\n”);

scanf(n%s'\xueli);

for(i=0;i<m;i++)

if(strcmp(em[i].xueli,xueli)==0)

{

printfC'\n已找到?其記錄為:\n");

printfC,職工號(hào)\t\t\t性別\t\t年齡\n");

printfC\n%d\t\t%s\t%c\t\t%d\t\n",cm[i].num,en)[i].name,cm[i].sex,cm[i].age);

printfC'Xn學(xué)歷\t'\t工資\t\t住址\t\t\n"?;

printfC'\n%s\t%d\t\t^s\t%s\nw,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

)

if(i==m)

printf("\n對(duì)不起?查無(wú)此人\n");

printfC'\n");

printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)學(xué)歷請(qǐng)按2\n”);

scanf("%d",&t);

switch(t)

(

case1:search();break;

case2:break;

default:break;

}

voidsearch_tel()

I

chartel[20];

inti,t;

intm=load();

printfC'請(qǐng)輸入要查找的:\n");

scanf(n%s",tel);

for(i=0;i<m;i++)

if(strcmp(tel,em[i],tel)==0)

(

printfC\n已找到此人?其記錄為:\n");

printfC,職工號(hào)性別\t\t年齡\n");

printfC\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);

printfC*\n學(xué)歷工資\t\t住址\t\t\n");

printfC\n%s\t%d\t\tXs\t%s\n,1,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

break;

)

if(i==m)

printf("\n對(duì)不起?查無(wú)此人\n");

printf("\n");

printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)請(qǐng)按2\n");

scanf("%d",&t);

switch(t)

(

case1:search();break;

case2:break;

default:break;

voidmodify()/*修改函數(shù)*/

(

intnum;

charname[20];

charsex;

intage;

charxueli[30];

intwage;

charaddr[30];

chartel[20];

intb,c,i,n,t,flag;

intm=load();

printfC'\n原來(lái)的職工信息:\n");

displayO;

printf("\n");

printfC'請(qǐng)揄入要修改的職工的:\n");

scanf("%s",name);

for(flag=l,i=0;flag&&i<m;i++)

{

if(strcmp(em[i].name.name)==0)

(

printfC\n已找到此人?原始記錄為:\n");

printfC,職工號(hào)\t\t\t性別\t\t年齡\n");

printfC\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);

printfC*\n學(xué)歷工資\t\t住址\t\t\n");

printfC\n%s\t%d\t\tXs\t%s\n,1,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n確實(shí)要修改此人信息請(qǐng)按1;不修改請(qǐng)按0'n”);

scanf("%d",&n);

if(n==l)

(

printf(h\n需要進(jìn)行修改的選項(xiàng)\n1.職工號(hào)2.3.性別4.年齡5.學(xué)歷

6.工資7.住址8.\n");

printfC請(qǐng)輸入你想修改的那一項(xiàng)序號(hào):\n");

scanf(飛d",&c);

if(c>8||c<l)

printfC—選擇錯(cuò)誤,請(qǐng)重新選擇!\n");

)

flag=0;

(

if(flag==l)

printf("\n對(duì)不起,查無(wú)此人!\n");

do

(

switch(c)/*因?yàn)楫?dāng)找到第i個(gè)職工時(shí),for語(yǔ)句后i自加了1,所以下面的應(yīng)該把改

后的信息賦值給第i-l個(gè)人*/

(

caseLprintf("職工號(hào)改為:");

scanf("%d",&num);

em[i-l].num=num;

break;

case2:printf("改為:");

scanf("%s",name);

strcpy(em[i-1J.name,name);

break;

case3:printf("性別改為:");

getcharO;

scanf("%c",&sex);

em[i-l].sex=sex;

break;

case4:printf("年齡改為:");

scanf("%d",Sage);

em[i-1].age=age;

break;

case5:printf("學(xué)歷改為:

scanf(u%s",xueli);

strcpy(eniii1].xueli,xueli);

break;

case6:printf("工資改為:");

scanf("%d",wage);

break;

case7:printf("住址改為:");

scanf(u%s",addr);

strcpy(em[i-1].addr,addr);

break;

case8:printf("改為:");

scanfC%s"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論