版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度房地產(chǎn)企業(yè)財務報表編制與披露咨詢合同3篇
- 2024數(shù)控機床買賣附帶產(chǎn)品生命周期管理服務合同3篇
- 《xx網(wǎng)絡提案》課件
- 廣東省2024-2025學年高一上學期期末考試英語試卷(含解析)
- 2024影視制作合同拍攝計劃與投資預算
- 2024幼兒園教育集團股權轉讓及教育資源整合服務合同3篇
- 脊柱理療知識培訓課件
- 2024年標準工程造價協(xié)議范本版B版
- 鋰電池基本知識培訓課件
- 鄭州軌道工程職業(yè)學院《教育學基礎B》2023-2024學年第一學期期末試卷
- 汽車租賃流程圖
- 兒童糖尿病的飲食
- “以案促改”心得體會
- 干細胞項目商業(yè)計劃書
- 安全事故現(xiàn)場處置方案(3篇)
- 2024年高考新課標Ⅱ卷語文試題講評課件
- 中國通 用技術集團招聘筆試題庫
- 回收二手機免責協(xié)議書模板
- DL∕T 5362-2018 水工瀝青混凝土試驗規(guī)程
- 可下載打印的公司章程
- 水泥土攪拌樁施工記錄表(4攪4噴)
評論
0/150
提交評論