版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語言課程設(shè)計(jì)報(bào)告</b></p><p> 題 目:職工信息管理系統(tǒng)</p><p><b> 目 錄</b></p><p> 前言........................................................................
2、.......................2</p><p> 2、需求分析.......................................................................................3</p><p> 3、總體設(shè)計(jì)..................................................
3、.....................................3</p><p> 4、詳細(xì)設(shè)計(jì).......................................................................................4</p><p> 5、調(diào)試過程....................................
4、...................................................5</p><p> 6、結(jié)束語...........................................................................................7</p><p> 7、參考文獻(xiàn)...................
5、....................................................................7</p><p> 8、附錄...............................................................................................8</p><p><b&g
6、t; 1.前言</b></p><p> C語言是近年來在國(guó)內(nèi)外都得到迅速推廣的一種現(xiàn)代通用的程序設(shè)計(jì)語言,它不但具有豐富的數(shù)據(jù)類型與運(yùn)算符、靈活的控制結(jié)構(gòu)、簡(jiǎn)潔而高效的表達(dá)式、清晰的程序結(jié)構(gòu)和良好的可移植性等優(yōu)點(diǎn),還具有直接支持計(jì)算機(jī)硬件編程的強(qiáng)大功能。其既具有高級(jí)語言的優(yōu)點(diǎn),有具有低級(jí)語言的優(yōu)點(diǎn),具有完善的結(jié)構(gòu)化、模塊化程序結(jié)構(gòu),是世界最流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言之一。</p&g
7、t;<p> 但由于課堂教學(xué)和實(shí)驗(yàn)的深度和廣度有限,練習(xí)的深度也受到一定的限制。所以開設(shè)了課程設(shè)計(jì)這門課。它比教學(xué)實(shí)驗(yàn)復(fù)雜一些,涉及的深度也廣些,這樣便可培養(yǎng)我們學(xué)生實(shí)際分析問題、編程和動(dòng)手能力,也可以讓我們更好的掌握《C語言》這門課程。</p><p><b> 2.需求分析</b></p><p> 根據(jù)要設(shè)計(jì)職工信息管理系統(tǒng)可以知道職工數(shù)據(jù)
8、由職工編號(hào)、姓名、部門、職稱、基 本工資、加班工資、獎(jiǎng)金和總工資構(gòu)成。</p><p><b> 功能要求如下:</b></p><p> (1)添加職工的記錄</p><p> ?。?)查詢職工(分別按職工編號(hào)和姓名)</p><p> (3)對(duì)職工數(shù)據(jù)排序(分
9、別按總工資的降序)</p><p><b> ?。?)刪除職工記錄</b></p><p><b> (5)修改職工記錄</b></p><p><b> ?。?)插入職工信息</b></p><p> ?。?)輸出職工信息表</p><p><
10、b> ?。?)保存職工信息</b></p><p><b> 3.總體設(shè)計(jì)</b></p><p> 根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)設(shè)計(jì)分為以下模塊:增加職工信息、刪除職工信息、查詢職工信息、修改職工信息、插入職工信息、排序、保存職工信息、顯示職工信息。系統(tǒng)功能模塊如下:</p><p><b> 4.詳細(xì)
11、設(shè)計(jì)</b></p><p> ?。?).主函數(shù):創(chuàng)建一個(gè)鏈表,并使用指針。 </p><p> void main()</p><p> Link list; </p><p> FILE *fp; </p><p> int choose; </p><p> char
12、 ch; </p><p> int count=0; </p><p> struct node *p,*r; </p><p> pintf("\t\t\t\t職工信息管理系統(tǒng)\n\t\t\t\t\n"); </p><p> list=(struct node*)malloc(sizeof(
13、struct node)); </p><p><b> if(!list)</b></p><p> {printf("\n allocate memory failure ");</p><p> return ; }</p><p> ?。?).定義各部分功能函數(shù):</p>
14、<p> void Add(Link l) 增加職工信息</p><p> void Del(Link l) 刪除職工信息</p><p> void Qur(Link l) 查詢職工信息</p><p> void Modify(Link l) 修改職工信息 </p><p>
15、void Insert(Link l) 插入職工信息</p><p> void Sort(Link l) 排序</p><p><b> 菜單函數(shù):</b></p><p> void menu()</p><p><b> {</b></p><
16、p> printf("\t***************************************************************\n");</p><p> printf("\t* *\n");</p>&l
17、t;p> printf("\t* 職工信息管理系統(tǒng) *\n");</p><p> printf("\t* *\n");</p><p>
18、; printf("\t* [1] 增加職工信息 [2] 刪除職工信息 *\n");</p><p> printf("\t* [3] 查詢職工信息 [4] 修改職工信息 *\n");</p><p> printf("\t*
19、 [5] 插入職工記錄 [6] 排序 *\n");</p><p> printf("\t* [7] 保存職工信息 [8] 顯示職工信息 *\n");</p><p> printf("\t* [0] 退出系
20、統(tǒng) *\n");</p><p> printf("\t* *\n");</p><p> printf("\t*********************
21、*****************************************\n");</p><p><b> } </b></p><p> .輸出中文標(biāo)題函數(shù):</p><p> void printstart(); </p><p> void Wrong(); </p>&
22、lt;p> void Nofind(); </p><p> void printc(); </p><p><b> 5、調(diào)試過程</b></p><p><b> 1.主菜單</b></p><p><b> 2.增加職工信息</b></p>
23、<p><b> 3.刪除職工信息</b></p><p><b> 4.查詢職工信息</b></p><p><b> 5.修改職工信息</b></p><p><b> 6.插入職工信息</b></p><p><b>
24、7排序.</b></p><p><b> 6.結(jié)束語</b></p><p> 通過為期二周的課程設(shè)計(jì)學(xué)習(xí),我對(duì)《C語言》這門課程有了更深一步的了解。它是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),在我們電子科學(xué)與技術(shù)專業(yè)的學(xué)習(xí)中占據(jù)著十分重要的地位。同時(shí)也使我知道,要學(xué)好這門課程,僅學(xué)習(xí)書本上的知識(shí)是不夠的,還要有較強(qiáng)的實(shí)踐能力。因?yàn)槲覀儗W(xué)習(xí)知識(shí)就是為了實(shí)踐
25、。而只有多實(shí)踐,多編寫程序,才能更好的理解與掌握書本上的東西。</p><p> 然而這個(gè)程序還有不足之處,比如說:界面會(huì)跟隨輸入的數(shù)據(jù)而變得整齊或不整齊等等,這些都是有待改進(jìn)的地方。7.參考文獻(xiàn):</p><p> 1.網(wǎng)站搜索:www.baidu.com</p><p> 2.《程序設(shè)計(jì)基礎(chǔ)》(c語言) 楊有安 陳維 曹慧雅 魯麗 編著</p>
26、;<p> 3.《C程序設(shè)計(jì) 課程設(shè)計(jì)》 劉振安,孫 忱 劉燕君 編著</p><p> 4.《C語言程序設(shè)計(jì)-實(shí)驗(yàn)指導(dǎo).課程設(shè)計(jì).習(xí)題解答》 高濤 陸麗娜 編著</p><p> 5.《C語言課程設(shè)計(jì) 案例精編》 姜靈芝 余健 編著</p><p> 8.附錄(源程序):</p><p> #include <
27、;stdio.h> </p><p> #include <stdlib.h> </p><p> #include <string.h> </p><p> int saveflag=0; </p><p> struct employee </p><p><b>
28、 { </b></p><p> char name[15]; </p><p> char num[10];</p><p> char sex[4]; </p><p> char bm[15]; </p><p> char zc[20]; </p><p><
29、;b> int gz;</b></p><p><b> int jbgz;</b></p><p><b> int jj;</b></p><p><b> int zgz;</b></p><p><b> }; </b>
30、;</p><p> typedef struct node </p><p><b> { </b></p><p> struct employee data; </p><p> struct node *next; </p><p> }Node,*Link; </p>
31、;<p> void add(Link l); </p><p> void disp(Link l); </p><p> void del(Link l); </p><p> Node* Locate(Link l,char findmess[],char nameornum[]);</p><p>
32、 void Qur(Link l); </p><p> void Sort(Link l); </p><p> void Modify(Link l); </p><p> void save(Link l); </p><p> void printe(Node *p); <
33、/p><p> void printstart(); </p><p> void Wrong(); </p><p> void Nofind(); </p><p> void printc();</p><p> void menu()</p><p><b> {<
34、;/b></p><p> printf("\t****************************************************************\n");printf("\t* *\n");</p>&
35、lt;p> printf("\t* 職工信息管理系統(tǒng) *\n");</p><p> printf("\t* *\n");</p><p&g
36、t; printf("\t* [1] 增加職工信息 [2] 刪除職工信息 *\n");</p><p> printf("\t* [3] 查詢職工信息 [4] 修改職工信息 *\n");</p><p> printf("\t*
37、 [5] 插入職工記錄 [6] 排序 *\n");</p><p> printf("\t* [7] 保存職工信息 [8] 顯示職工信息 *\n");</p><p> printf("\t* [0] 退出系統(tǒng)
38、 *\n");</p><p> printf("\t* *\n");</p><p> printf("\t***********************
39、****************************************\n");</p><p><b> } </b></p><p><b> { </b></p><p> int count=0; </p><p> Node *p; </p>
40、<p> p=l->next; </p><p> if(!p) </p><p><b> { </b></p><p> printf("\n=====>提示:沒有職工記錄可以顯示!\n");</p><p><b> return; </
41、b></p><p><b> } </b></p><p> printf("\t\t\t\t顯示結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printf(
42、"\n"); </p><p> while(p) </p><p><b> { </b></p><p> printe(p); </p><p> p=p->next; </p><p><b> } </b></p>
43、<p> printstart(); </p><p> printf("\n"); </p><p><b> } </b></p><p> void printstart() </p><p><b> { </b></p><p
44、> printf("-----------------------------------------------------------------\n"); </p><p><b> } </b></p><p> void Wrong() </p><p><b> { </b>&
45、lt;/p><p> printf("\n=====>提示:輸入錯(cuò)誤!\n"); </p><p><b> } </b></p><p> void Nofind() </p><p><b> { </b></p><p> printf(
46、"\n=====>提示:沒有找到該職工!\n"); </p><p><b> } </b></p><p> void printc() </p><p><b> { </b></p><p> printf("工號(hào)\t 姓名 性別 部門
47、 職稱 工資 加班工資 獎(jiǎng)金 總工資\n"); </p><p><b> } </b></p><p> void printe(Node *p)</p><p><b> { </b></p><p> printf("%-12s%s\t%s\t%s\t%
48、s\t%d\t%d\t%d\t%d\n",p->data.num,p->data.name,p->data.sex,p->data.bm,p->data.zc,p->data.gz,p->data.jbgz,p->data.jj,p->data.zgz); </p><p><b> } </b></p><
49、;p> Node* Locate(Link l,char findmess[],char zcornum[]) </p><p><b> { </b></p><p><b> Node *r; </b></p><p> if(strcmp(zcornum,"num")==0){ &
50、lt;/p><p> r=l->next; </p><p> while(r!=NULL) </p><p><b> { </b></p><p> if(strcmp(r->data.num,findmess)==0) </p><p> return r; </p&
51、gt;<p> r=r->next; </p><p><b> } </b></p><p><b> } </b></p><p> else if(strcmp(zcornum,"zc")==0) </p><p><b> { &l
52、t;/b></p><p> r=l->next; </p><p> while(r!=NULL) </p><p><b> { </b></p><p> if(strcmp(r->data.zc,findmess)==0) </p><p> return r
53、; </p><p> r=r->next; </p><p><b> } </b></p><p><b> } </b></p><p> return 0; </p><p><b> } </b></p><
54、;p> void Add(Link l) </p><p><b> { </b></p><p> Node *p,*r,*s; </p><p> char num[10];</p><p> int flag=0;</p><p><b> r=l; </b
55、></p><p> s=l->next; </p><p> while(r->next!=NULL)</p><p><b> while(1) </b></p><p><b> { </b></p><p> printf("請(qǐng)
56、你輸入工號(hào)(以'0'返回上一級(jí)菜單:)"); </p><p> scanf("%s",num); </p><p> if(strcmp(num,"0")==0) </p><p><b> break; </b></p><p> s=l-&
57、gt;next;</p><p><b> while(s) </b></p><p><b> { </b></p><p> if(strcmp(s->data.num,num)==0) </p><p><b> { </b></p><
58、p> printf("=====>提示:工號(hào)為'%d'的職工已經(jīng)存在,若要修改請(qǐng)你選擇'4 修改'!\n",num); </p><p><b> flag=1;</b></p><p><b> break;</b></p><p><b>
59、 return ;</b></p><p><b> } </b></p><p> s=s->next; </p><p><b> } </b></p><p> p=(Node *)malloc(sizeof(Node)); </p><
60、p> strcpy(p->data.num,num); </p><p> printf("請(qǐng)你輸入姓名:"); </p><p> scanf("%s",p->data.name); </p><p> getchar(); </p><p> printf("請(qǐng)
61、你輸入性別:"); </p><p> scanf("%s",p->data.sex); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入職工所在部門:"); </p><p> scanf("%s",&p->
62、;data.bm); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入職工職稱:"); </p><p> scanf("%s",&p->data.zc); </p><p> getchar(); </p><p>
63、 printf("請(qǐng)你輸入職工工資:"); </p><p> scanf("%d",&p->data.gz); </p><p> getchar();</p><p> printf("請(qǐng)你輸入職工加班工資:"); </p><p> scanf("
64、;%d",&p->data.jbgz); </p><p> getchar();</p><p> printf("請(qǐng)你輸入職工獎(jiǎng)金:"); </p><p> scanf("%d",&p->data.jj); </p><p> getchar();&l
65、t;/p><p> p->data.zgz=p->data.gz+p->data.jbgz+p->data.jj; </p><p> p->next=NULL; </p><p> r->next=p; </p><p><b> r=p; </b></p>
66、<p> saveflag=1; </p><p><b> } </b></p><p><b> } </b></p><p> void Del(Link l) </p><p><b> { </b></p><p>&
67、lt;b> int sel; </b></p><p> Node *p,*r; </p><p> char findmess[20]; </p><p> if(!l->next) {</p><p> printf("\n=====>提示:沒有記錄可以刪除!\n"); &l
68、t;/p><p><b> return; </b></p><p><b> } </b></p><p> printf("\n=====>1按工號(hào)刪除\n=====>2按姓名刪除\n"); </p><p> scanf("%d",&am
69、p;sel); </p><p> if(sel==1) //按工號(hào)刪除</p><p><b> { </b></p><p> printf("請(qǐng)你輸入要?jiǎng)h除的工號(hào):"); </p><p> scanf("%s",findmess);</p><
70、;p> p=Locate(l,findmess,"num");</p><p><b> if(p) </b></p><p><b> { </b></p><p><b> r=l; </b></p><p> while(r->n
71、ext!=p) </p><p> r=r->next; </p><p> r->next=p->next; </p><p><b> free(p); </b></p><p> printf("\n=====>提示:該職工已經(jīng)成功刪除!\n")
72、; </p><p> saveflag=1; </p><p><b> } </b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><
73、;p> else if(sel==2) </p><p><b> { </b></p><p> printf("請(qǐng)你輸入要?jiǎng)h除的姓名:"); </p><p> scanf("%s",findmess); </p><p> p=Locate(l,findme
74、ss,"name"); </p><p><b> if(p) </b></p><p><b> { </b></p><p><b> r=l; </b></p><p> while(r->next!=p) </p><
75、;p> r=r->next; </p><p> r->next=p->next; //r r->next(p) p->next</p><p><b> free(p); </b></p><p> printf("\n=====>提示:該職工已經(jīng)成功刪除!\n"
76、;); </p><p> saveflag=1; </p><p><b> } </b></p><p><b> else </b></p><p> Nofind(); </p><p> } //if(sel==2)</p><p>
77、;<b> else </b></p><p><b> Wrong(); </b></p><p><b> }</b></p><p> void Qur(Link l) </p><p><b> {</b></p><
78、p><b> int sel; </b></p><p> char findmess[20]; </p><p> Node *p; </p><p> if(!l->next) </p><p><b> { </b></p><p>
79、printf("\n=====>提示:沒有資料可以查詢!\n"); </p><p><b> return; </b></p><p><b> } </b></p><p> printf("\n=====>1按工號(hào)查找\n=====>2按職稱查找\n")
80、; </p><p> scanf("%d",&sel); </p><p> if(sel==1)/* 工號(hào) */ </p><p><b> { </b></p><p> printf("請(qǐng)你輸入要查找的工號(hào):"); </p><p>
81、 scanf("%s",findmess); </p><p> p=Locate(l,findmess,"num"); </p><p><b> if(p) </b></p><p><b> { </b></p><p> printf(&qu
82、ot;\t\t\t\t查找結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printe(p); </p><p> printstart(); </p><p><b> }
83、</b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p> else if(sel==2) </p><p><b> { </b>&
84、lt;/p><p> printf("請(qǐng)你輸入要查找的職稱:"); </p><p> scanf("%s",findmess); </p><p> p=Locate(l,findmess,"zc"); </p><p><b> if(p) </b>&l
85、t;/p><p><b> { </b></p><p> printf("\t\t\t\t查找結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printe(p); </p><
86、;p> printstart(); </p><p><b> } </b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p><b>
87、 else </b></p><p><b> Wrong(); </b></p><p><b> } </b></p><p> void Modify(Link l) //修改功能</p><p><b> {</b></p>&
88、lt;p><b> Node *p; </b></p><p> char findmess[20]; </p><p> if(!l->next) </p><p><b> { </b></p><p> printf("\n=====>提示:沒有資料可以修
89、改!\n"); </p><p><b> return; </b></p><p><b> } </b></p><p> printf("請(qǐng)你輸入要修改的職工工號(hào):"); </p><p> scanf("%s",findmess);
90、</p><p> p=Locate(l,findmess,"num"); </p><p><b> if(p) </b></p><p><b> { </b></p><p> printf("請(qǐng)你輸入新工號(hào)(原來是%s):",p->dat
91、a.num); </p><p> scanf("%s",p->data.num); </p><p> printf("請(qǐng)你輸入新姓名(原來是%s):",p->data.name); </p><p> scanf("%s",p->data.name); </p>&
92、lt;p> getchar(); </p><p> printf("請(qǐng)你輸入新性別(原來是%s):",p->data.sex); </p><p> scanf("%s",p->data.sex); </p><p> getchar(); </p><p> printf
93、("請(qǐng)你輸入新的部門(原來是%s):",p->data.bm); </p><p> scanf("%s",&p->data.bm);</p><p> printf("請(qǐng)你輸入新的職稱(原來是%s):",p->data.zc); </p><p> scanf("
94、%s",&p->data.zc); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入新的工資(原來是%d):",p->data.gz); </p><p> scanf("%d",&p->data.gz);</p><p
95、> getchar();</p><p> printf("請(qǐng)你輸入新的加班工資(原來是%d):",p->data.jbgz); </p><p> scanf("%d",&p->data.jbgz);</p><p> getchar(); </p><p> pr
96、intf("請(qǐng)你輸入新的獎(jiǎng)金(原來是%d):",p->data.jj); </p><p> scanf("%d",&p->data.jj);</p><p> getchar(); </p><p> p->data.zgz=p->data.gz+p->data.jbgz+p-&g
97、t;data.jj; </p><p> printf("\n=====>提示:資料修改成功!\n");</p><p><b> } </b></p><p><b> else </b></p><p><b> Nofind();</b&g
98、t;</p><p><b> } </b></p><p> void Insert(Link l)</p><p><b> {</b></p><p> Node *s,*r,*p;</p><p> char ch,new_num[10],old_num[1
99、0]; </p><p> int flag=0;</p><p> s=l->next;</p><p> system("cls");</p><p><b> Disp(l);</b></p><p><b> while(1)</b&g
100、t;</p><p><b> { </b></p><p> printf("請(qǐng)你輸入已存在的工號(hào)(以'0'返回上一級(jí)菜單:)"); </p><p> scanf("%s",old_num); </p><p> if(strcmp(old_num,&q
101、uot;0")==0) </p><p><b> return;</b></p><p> s=l->next; </p><p><b> flag=0;</b></p><p><b> while(s) </b></p><
102、p><b> {</b></p><p> if(strcmp(s->data.num,old_num)==0) </p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> break;&l
103、t;/b></p><p><b> }</b></p><p> s=s->next;</p><p><b> }</b></p><p> if(flag==1)</p><p><b> break; </b></p&
104、gt;<p><b> else</b></p><p><b> {</b></p><p> getchar();</p><p> printf("\n=====>The number %s is not existing,try again?(y/n):",old_n
105、um);</p><p> scanf("%c",&ch);</p><p> if(ch=='y'||ch=='Y')</p><p> {continue;}</p><p><b> else</b></p><p><
106、;b> {return;}</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("請(qǐng)你輸入待插入的工號(hào)(以'0'返回上一級(jí)菜單:)"); </p><p> scanf(&
107、quot;%s",new_num); </p><p> if(strcmp(new_num,"0")==0) </p><p><b> return; </b></p><p> s=l->next; </p><p><b> while(s)</
108、b></p><p><b> { </b></p><p> if(strcmp(s->data.num,new_num)==0) </p><p><b> { </b></p><p> printf("=====>提示:工號(hào)為'%s'的職工
109、已經(jīng)存在'!\n",new_num); </p><p><b> flag=1;</b></p><p><b> return ;</b></p><p><b> } </b></p><p> s=s->next; </p>
110、<p><b> } </b></p><p> p=(Node *)malloc(sizeof(Node));</p><p><b> if(!p)</b></p><p><b> {</b></p><p> printf("\n
111、 allocate memory failure "); </p><p> return ; </p><p><b> }</b></p><p> strcpy(p->data.num,new_num);</p><p> printf("請(qǐng)你輸入姓名:&qu
112、ot;); </p><p> scanf("%s",p->data.name); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入性別:"); </p><p> scanf("%s",p->data.sex); </
113、p><p> getchar(); </p><p> printf("請(qǐng)你輸入部門:"); </p><p> scanf("%s",&p->data.bm); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入
114、職稱:"); </p><p> scanf("%s",&p->data.zc); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入工資:"); </p><p> scanf("%d",&p->da
115、ta.gz); </p><p> getchar();</p><p> printf("請(qǐng)你輸入加班工資:"); </p><p> scanf("%d",&p->data.jbgz); </p><p> getchar();</p><p> pr
116、intf("請(qǐng)你輸入獎(jiǎng)金:"); </p><p> scanf("%d",&p->data.jj); </p><p> getchar();</p><p> p->data.zgz=p->data.gz+p->data.jbgz+p->data.jj; </p
117、><p> p->next=NULL; </p><p> saveflag=1; </p><p> r=l->next;</p><p><b> while(1)</b></p><p><b> {</b></p><p
118、> if(strcmp(r->data.num,old_num)==0)</p><p><b> {</b></p><p> p->next=r->next;</p><p> r->next=p;</p><p><b> break;</b></
119、p><p><b> }</b></p><p> r=r->next;</p><p><b> } </b></p><p><b> Disp(l);</b></p><p> printf("\n\n");&
120、lt;/p><p><b> }</b></p><p> void Sort(Link l) </p><p><b> {</b></p><p><b> Link ll;</b></p><p> Node *p,*rr,*s;&
121、lt;/p><p><b> int i=0;</b></p><p> if(l->next==NULL)</p><p> { system("cls");</p><p> printf("\n=====>Not employee record!\n");&l
122、t;/p><p> getchar();</p><p><b> return ;</b></p><p><b> }</b></p><p> ll=(Node*)malloc(sizeof(Node)); </p><p><b> if(!ll)&l
123、t;/b></p><p><b> {</b></p><p> printf("\n allocate memory failure "); </p><p> return ; }</p><p> ll->next=NULL;</p>
124、<p> system("cls");</p><p> Disp(l); </p><p> p=l->next;</p><p><b> while(p) </b></p><p><b> {</b></p><p>
125、 s=(Node*)malloc(sizeof(Node)); </p><p> if(!s) /*s==NULL*/</p><p><b> {</b></p><p> printf("\n allocate memory failure "); </p><p> return ;
126、 </p><p><b> }</b></p><p> s->data=p->data;</p><p> s->next=NULL; </p><p><b> rr=ll;</b></p><p> while(
127、rr->next!=NULL && rr->next->data.zgz>=p->data.zgz)</p><p> {rr=rr->next;} </p><p> if(rr->next==NULL)</p><p> rr->next=s;</p><p><
128、b> else </b></p><p><b> {</b></p><p> s->next=rr->next;</p><p> rr->next=s;</p><p><b> }</b></p><p> p=p-&g
129、t;next; </p><p><b> }</b></p><p> l->next=ll->next; </p><p><b> Disp(l);</b></p><p> saveflag=1;</p><p> printf(&quo
130、t;\n =====>sort complete!\n");</p><p><b> }</b></p><p> void Save(Link l) </p><p><b> { </b></p><p> FILE* fp; </p><p&
131、gt; Node *p; </p><p> int flag=1,count=0;</p><p> fp=fopen("employee.txt","wb"); </p><p> if(fp==NULL) </p><p><b> { </b></p
132、><p> printf("\n=====>提示:重新打開文件時(shí)發(fā)生錯(cuò)誤!\n"); </p><p><b> return;</b></p><p><b> } </b></p><p> p=l->next; </p><p>&l
133、t;b> while(p) </b></p><p><b> { </b></p><p> if(fwrite(p,sizeof(Node),1,fp)==1) </p><p><b> { </b></p><p> p=p->next;
134、 </p><p> count++; </p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p>&l
135、t;b> flag=0; </b></p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p><p> if(count>0) </p><p&
136、gt;<b> { </b></p><p> printf("\n=====>提示:文件保存成功.(有%d條記錄已經(jīng)保存.)\n",count); </p><p> saveflag=0; </p><p><b> } </b></p><p><b&g
137、t; else</b></p><p><b> {</b></p><p> system("cls");</p><p> printf("保存文件失敗,'0'條記錄被保存!\n");</p><p><b> }</b&g
138、t;</p><p> fclose(fp); </p><p><b> } </b></p><p> void main() </p><p><b> { </b></p><p> Link list; </p><p>
139、FILE *fp; </p><p> int choose; </p><p> char ch; </p><p> int count=0; </p><p> struct node *p,*r; </p><p> printf("\t\t\t\t職工信息管理系統(tǒng)\n\t
140、\t\t\t\n"); </p><p> list=(struct node*)malloc(sizeof(struct node)); </p><p><b> if(!list)</b></p><p><b> {</b></p><p> printf("\n
141、 allocate memory failure "); </p><p> return ; </p><p><b> }</b></p><p> list->next=NULL; </p><p><b> r=list; </b></p&g
142、t;<p> p=fopen("employee.txt","rb"); </p><p> if(fp==NULL) </p><p><b> { </b></p><p> printf("\n=====>提示:文件還不存在,是否創(chuàng)建?(y/n)\n"
143、); </p><p> scanf("%c",&ch); </p><p> if(ch=='y'||ch=='Y') </p><p> fp=fopen("employee .txt","ab+"); </p><p><b&
144、gt; else </b></p><p><b> exit(0); </b></p><p><b> } </b></p><p> printf("\n=====>提示:文件已經(jīng)打開,正在導(dǎo)入記錄......\n"); </p><p>
145、 while(!feof(fp)) </p><p><b> { </b></p><p> p=(struct node*)malloc(sizeof(struct node)); </p><p><b> if(!p)</b></p><p><b> {</b&g
146、t;</p><p> printf(" memory malloc failure!\n"); </p><p> exit(0); </p><p><b> }</b></p><p> if(fread(p,sizeof(struct node),1,fp)) </p&
147、gt;<p><b> { </b></p><p> p->next=NULL; </p><p> r->next=p; </p><p><b> r=p; </b></p><p><b> count++; </b></p&g
148、t;<p><b> } </b></p><p><b> } </b></p><p> fclose(fp); </p><p> printf("\n=====>提示:記錄導(dǎo)入完畢,共導(dǎo)入%d條記錄.\n",count); </p><p>&
149、lt;b> while(1) </b></p><p><b> { </b></p><p><b> menu(); </b></p><p> printf("\t\t====>請(qǐng)選擇:");</p><p> scanf("%d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息管理畢業(yè)設(shè)計(jì)--設(shè)備信息管理系統(tǒng)設(shè)計(jì)
- 職工信息管理系統(tǒng)設(shè)計(jì)
- 職工信息管理系統(tǒng)設(shè)計(jì)
- 職工信息管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---客戶信息管理系統(tǒng)
- 學(xué)校信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---客戶信息管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)----學(xué)生信息管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)-班級(jí)信息管理系統(tǒng)
- 小區(qū)信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于vb的企業(yè)職工信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---超市信息管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---客戶信息管理系統(tǒng)
- 期刊信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 超市信息管理系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論