數(shù)據(jù)結構大作業(yè)含源代碼_第1頁
數(shù)據(jù)結構大作業(yè)含源代碼_第2頁
數(shù)據(jù)結構大作業(yè)含源代碼_第3頁
數(shù)據(jù)結構大作業(yè)含源代碼_第4頁
數(shù)據(jù)結構大作業(yè)含源代碼_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)結構大作業(yè)

作業(yè)題目:職工信息管理系統(tǒng)姓

名:學號:

班級:

______________________指導教師:

______________________日期:

一、主要功能:

這個職工信息管理系統(tǒng)是由C語言編寫的程序,它用起來很方便又很靈便。它由輸入

職工信息,輸出職工信息,按職工號,部門號,工資排序,按職工號,部門號,工資來輸出

職工的所有信息。刪除有關職工的所有信息,保存職工的所有信息并退出等11個模塊兒組

成。

二、實驗環(huán)境:C語言、C++、C#等等。

三、功能說明:

下面按步驟來介紹一下,職工信息管理系統(tǒng)的基本操作。

這是運行程序以后浮現(xiàn)的主界面。如圖(1)所示:

-----------★★★★★★★★★★★★★★★★★------------

----------------☆☆☆歡迎使用職工信息管理系統(tǒng)☆☆☆-----------------

1t工2

有的職工信息、

3工

職4

號有的職工號碼

5門6

部i

7工

和8有職王的工資

9i的b

0盤

的所有信息以后,界面上會顯示出《輸入完成!》的命令。如圖(2)所示:

再6做件看份\DAZUOY~l\da.exe

人職

^號

^部

門o:1

|:1

職11

r贄

工g30

,

2.吊

命D:\SJ:件備份\DAZU0Y-l\da.exe

身的職工

職工的姓名職工的號碼部門號職工的工資

jack1113000

John22221500

hu31232000

圖(3)輸出所有的職工信息

3.按職工號排序

該模塊兒的功能是按職工號排序所有的職工。我們按3的時候,界面上會顯示出《排序

完成!》的命令。如圖(4)所示:

4.輸出所有的職工號碼

該模塊兒的功能是顯示出已排序好的所有職工的號碼。操作如圖(5)所示:

圖(5)輸出所有的職工號

5.按部門號排序

該模塊兒的功能是按部門號排序所有職工的部門號。我們按5的時候,界面上會顯示出

《排序完成!》的命令。如圖(6)所示:

6.輸出所有的部門號

該模塊兒的功能是顯示出已排序好的所有部門號。操作如圖(7)所示:

圖(7)輸出所有的部門號

7.按職工的工資排序

該模塊兒的功能是按工資排序所有職工的工資。我們按7的時候,界面上會顯示出《排

序完成!》的命令。如圖(8)所示:

圖(8)按職工的工資排序

8.輸出所有職工的工資

該模塊兒的功能是顯示出已排序好的所有職工的工資。操作如圖(9)所示:

圖(9)輸出所有職工的工資

9.刪除職工的所有信息

該模塊兒的功能是刪除有關職工的所有信息。我們按9的時候界面上會顯示出《刪除成

功!》的命令。如圖(10)所示:

10.保存

該模塊兒的功能是保存有關職工的所有信息。在這個程序中,該保存的文件尾隨這個程序

的位置而保存。我們按b得時候界面上會顯示出《保存成功!》的命令。如圖(11)所示:

圓D:璇件蓄份\DAZUOY~l\da.e:

圖(11)保存

11.退出

該模塊兒的功能是退出系統(tǒng),按0即可。

四、程序代碼如下:

#include<stdio.h>

#definemaxsize20

typedefstructnode

(

intno,depno,salary;產(chǎn)no為職工號,depno為部門號salar為y工資數(shù)*/

charname[maxsize];/*職工姓名*/

structnode*pno,*pd叩no,*psalary,*n/e*xptn;o為職工號指針,pdepno為部門號指針,psalary為工資數(shù)

指針*/

[employee;

employee*insert(employee*head)

(

employee*h;

if(head==NULL)

(

employee*s,*h1;

h1=malloc(sizeof(employee));

s=malloc(sizeof(employee));

clrscr();

請輸入職工姓名

請輸入職工號

請輸入部門號

請輸入職工的工資

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

hI->pno=NULL;

h1->pdepno=NULL;

h1->psalary=NULL;

hI->next=s;

h=hl;

輸入完成

getch();

)

if(head!=NULL)

(

employee*s,*p,*hl;

hl=head;

p=hl->next;

s=malloc(sizeofi(employee));

if(p->next!=NULL)

{

while(p->next!=NULL)

p=p->ncxt;

clrscr();

請輸入職工姓名

請輸入職工號

請輸入部門號

請輸入職工的工資

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

p->next=s;

h=hl;

輸入完成

getch();

1

if(p->next==NLJLL)

(

clrscr();

請輸入職工姓名

請輸入職工號

請輸入部門號

請輸入職工的工資

s->pno=NULL;

s->pdepno=NULL;

s->psalary=NULL;

s->next=NULL;

p->next=s;

h=hl;

輸入完成

getch();

)

}

return(h);

)

voidoutput(employee*hcad)

(

employee*p;

if(head==NULL)

(

clrscr();

這表格是空的,請重新輸入

I

else

(

p=head->next;

if(p!=NULL)

{

clrscr();

所有的職工

職工的姓名職工的號碼部門號職工的工資

while(p!=NULL)

(

p=p->next;

)

I

)

getch();

)

employee*SortByEmployeeNumber(employee*head)

employee*p,*q,*s,*h,*temp;

temp=malloc(sizeof(employee));

h=head;

for(s=head->next;s!=NULL;s=s->next)

(

P=s;

fbr(q=s->next:q!=NULL;q=q->next)

if((p->no)>(q->no))

p=q;

if(p!=s)

temp->no=s->no;

temp->depno=s->depno;

temp->salary=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->depno=p->depno;

s->salary=p->salary;

strcpy(s->name,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=temp->salary;

strcpy(p->name,temp->name);

clrscr();

排序完成

getch();

retum(h);

1

employee*SortByDepartmentNumber(employee*head)

(

employee*p,*q,*s,*h,*tcmp;

temp=malloc(sizeof(employee));

h=head;

fbr(s=head->next;s!=NULL;s=s->next)

(

p=s;

fdr(q=s->next;q!=NULL;q=q->next)

if((p->depno)>(q->depno))

p=q;

if(p!=s)

temp->no=s->no;

temp->depno=s->depno;

tcmp->salar)/=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->dcpno=p->dcpno;

s->salary=p->salary;

strcpy(s->nanie,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=tcmp->salary;

strcpy(p->name,temp->name);

)

)

clrscrQ;

排序完成

getch();

rctum(h);

)

employee*SortByWages(employee*head)

(

employee*p,*q,*s,*h,*temp;

tcmp=malloc(sizeofi(employce));

h二head;

for(s=head->next;s!=NULL;s=s->next)

(

p=s;

fbr(q=s->next;q!=NULL;q=q->next)

{

if((p->salary)>(q->salary))

p=q;

)

if(p!=s)

{

temp->no=s->no;

temp->depno=s->depno;

temp->salary=s->salary;

strcpy(temp->name,s->name);

s->no=p->no;

s->depno=p->depno;

s->salary=p->salary;

strcpy(s->name,p->name);

p->no=temp->no;

p->depno=temp->depno;

p->salary=temp->salary;

strcpy(p->name,temp->name);

}

)

clrscr();

排序完成

getch();

return(h);

)

employee*DeleteAllInformation()

(

employee*h;

h=NULL;

clrscr();

刪除成功

getch();

retum(h);

}

voidshow()

(

textcolor(22);

clrscr();

1?

1---★★★★★★★★★★★★★★★★---|

1----------☆-女-☆歡迎使用職工信息管理系統(tǒng)☆☆☆---------1

1

11.輸入職工的信息2.輸出所有的職工信息1

13.按職工號排序4.輸出所有的職工號碼1

15.按部門號排序6輸出所有的部門號1

17.按職工的工資排序8.輸出所有職工的工資1

19.刪除職工的所有信息b.保存1

10.退出

?1

voidsave(structemployee*head)

(

FILE*file;

employee*p;

職工記錄表/*打開文件,并判斷打開是否正常*/

不能打開文件

/*將換行符號寫入文件*/

職工的姓名職工的號碼部門號職工的工資

fbr(p=head->next;p!=NULL;p=p->next)

寫入記錄*/

/*將換行符號寫入文件號

)

fdose(file);/*關閉文件*/

clrscrQ;

保存成功

getch();

)

main()

(

charflag;

employee*head;

hcad=NULL;

clrscr();/*在win-tc中顯示漢字*/

show();

while(flag!='0')

(

switch(flag)

(

caseT:head=insert(head);

show();break;

case2:output(hcad);

show();

溫馨提示

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

評論

0/150

提交評論