職工檔案管理系統(tǒng)報(bào)告與c語(yǔ)言代碼_第1頁(yè)
職工檔案管理系統(tǒng)報(bào)告與c語(yǔ)言代碼_第2頁(yè)
職工檔案管理系統(tǒng)報(bào)告與c語(yǔ)言代碼_第3頁(yè)
職工檔案管理系統(tǒng)報(bào)告與c語(yǔ)言代碼_第4頁(yè)
職工檔案管理系統(tǒng)報(bào)告與c語(yǔ)言代碼_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、蘇州科技學(xué)院二。一四二。一五學(xué)年第二學(xué)期電子與信息工程學(xué)院課程設(shè)計(jì)報(bào)告書課程名稱:程序設(shè)計(jì)實(shí)踐班 級(jí):電子1412學(xué) 號(hào): 名:孫拜指導(dǎo)教師:任建平二。一五年三月1題目職工檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2.功能(1)每一條記錄包括一個(gè)職工的工號(hào)、姓名、年齡、性別、出生日期、住址、電話、工 資、學(xué)歷。(2)輸入功能:可以依次完成指定條數(shù)記錄的輸入。(3)顯示功能:完成職工記錄的顯示。(4)查找功能:完成按姓名或工號(hào)查找職工記錄,并顯示。(5)排序功能:按職工工號(hào)進(jìn)行排序。(6)插入功能:按工號(hào)大小插入一條記錄。(7)保存功能:將職工記錄保存在指定的文件中。(8)讀取功能:將保

2、存在文件中的職工記錄讀取出來(lái)。(9)有一個(gè)清晰美觀簡(jiǎn)潔界面來(lái)調(diào)用各個(gè)功能3.要求(1)整個(gè)系統(tǒng)均用C語(yǔ)言實(shí)現(xiàn);(2)利用指針、鏈表來(lái)實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);(3)系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入、保存、讀取等基本功能;(4)系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來(lái)實(shí)現(xiàn);(5)可以將職工信息保存在文件中。(6)可以將職工信息從文件中讀取出來(lái)。4 .設(shè)計(jì)內(nèi)容整個(gè)系統(tǒng)除了主函數(shù)外,另外還有10個(gè)函數(shù),實(shí)現(xiàn)八大功能:輸入功能、顯示功能、查找功能、排序功能、插入功能、保存功能、讀取功能。各個(gè)函數(shù)的詳細(xì)設(shè)計(jì)說(shuō)明分別如下:4.1 主函數(shù)main()利用while()和swithch()實(shí)現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)

3、根據(jù)輸入的數(shù)字選項(xiàng)來(lái)調(diào)用相應(yīng)的函數(shù)然后利用if()判斷是否繼續(xù)執(zhí)行。4.2 幫助函數(shù)Help()這是一個(gè)無(wú)參函數(shù),里面只有一些printf語(yǔ)句,它的作用是顯示幫助,使用戶更易于操作。4.3 菜單選擇函數(shù) Mainmenu()這是一個(gè)無(wú)參函數(shù),主要實(shí)現(xiàn)“功能選擇”的界面的顯示,在這個(gè)界面里有顯示系統(tǒng)的八大功能,根據(jù)每個(gè)功能前面的序號(hào)進(jìn)行選擇。4.4 輸入記錄函數(shù) struct employee *Input(struct employee *head)這是一個(gè)有參函數(shù),形參為“鏈表頭的指針”,用來(lái)執(zhí)行指定個(gè)數(shù)職工信息的輸入,函 數(shù)結(jié)束后,帶回一個(gè)指向鏈表頭的指針head。算法:定義兩個(gè)整形變量

4、n, i (用于記錄個(gè)數(shù)和進(jìn)行for循環(huán))并聲明一個(gè)新節(jié)點(diǎn) p,并 為其申請(qǐng)空間。每輸入一個(gè)數(shù)據(jù)就聲明一個(gè)新節(jié)點(diǎn)p,把p->next設(shè)為NULL ,并且鏈接到之前列表的尾端。N-S流程圖如下:定義n, i,并鍵入n的值聲明節(jié)點(diǎn)p,申請(qǐng)空間for(i=0;i<n;i+)輸入各項(xiàng)信息運(yùn)用Insert函數(shù)排序并指向卜一F點(diǎn) 申請(qǐng)卜一結(jié)點(diǎn)的空間完成循環(huán),運(yùn)用 Display函數(shù)顯示已輸入的信息 返回頭結(jié)點(diǎn)4.5 顯示記錄函數(shù) void Display(struct employee *head)這是一個(gè)不返回值的有參函數(shù),形參為“鏈表頭的指針”,負(fù)責(zé)對(duì)全部職工信息記錄的輸出顯示。算法:先將

5、p結(jié)點(diǎn)的指針指向第一個(gè)結(jié)點(diǎn),用if函數(shù)判定第一個(gè)節(jié)點(diǎn)是否為空,不為空再用while循環(huán)依次輸出p結(jié)點(diǎn)下的信息,直到p指針指向NULL為止。N-S流程圖如下:建立p結(jié)點(diǎn) 申請(qǐng)空間p=head, p指向個(gè)結(jié)點(diǎn)頭結(jié)點(diǎn)是否為空-是.(if 判定)否 一一一沒有 數(shù)據(jù) 可以 顯示!p結(jié)點(diǎn)不為空輸出結(jié)點(diǎn)內(nèi)各項(xiàng)信息p指向卜一結(jié)點(diǎn)4.6 查找記錄函數(shù) void Query(struct employee *head)這是一個(gè)不返回值的有參函數(shù),形參為“鏈表頭的指針”,實(shí)現(xiàn)按工號(hào)或姓名對(duì)某個(gè)職工進(jìn)行查找,并顯示所查找到的記錄。其內(nèi)包含了兩個(gè)子函數(shù) struct employee*Findnum(struct e

6、mployee *head,int findnum門 口struct employee*Findname(struct employee *head,char findname口)算法:使用一個(gè)字符選擇查找方式,根據(jù)選擇調(diào)用函數(shù)。 工號(hào)查找函數(shù) struct employee *Findnum(struct employee *head,int findnum)這是一個(gè)有參函數(shù),形參為“鏈表頭的指針”,用來(lái)查找指定工號(hào)的職工信息,函 數(shù)結(jié)束后,帶回一個(gè)指向職工信息的指針。算法:將指針p指向工號(hào),依次與尋找的工號(hào)進(jìn)行對(duì)比,相等則返回指針pN-S流程圖如下:建立p結(jié)點(diǎn) 申請(qǐng)空間p=head, p指

7、向第一個(gè)結(jié)點(diǎn)頭結(jié)點(diǎn)是否為空_一一-_一_一一是 (if判定)否沒有 數(shù)據(jù) 可以 顯示p結(jié)點(diǎn)不為空、工號(hào)是否相等一一是'否跳出 循環(huán)p指向卜一結(jié)點(diǎn)2 姓名查找函數(shù) struct employee *Findname(struct employee *head,char findname口)這是一個(gè)有參函數(shù),形參為“鏈表頭的指針”,用來(lái)查找指定工號(hào)的職工信息,函 數(shù)結(jié)束后,帶回一個(gè)指向職工信息的指針。算法:將指針p指向工號(hào),依次與尋找的工號(hào)進(jìn)行對(duì)比,相等則返回指針 p。N-S流程圖如下:建立p結(jié)點(diǎn) 申請(qǐng)空間p=head, p指向個(gè)結(jié)點(diǎn)頭結(jié)點(diǎn)是否為空一一一 一 一一一一是、(if判定)-否沒

8、有 數(shù)據(jù) 可以 顯示p結(jié)點(diǎn)不為空姓名是否相等(調(diào)用strcmp函數(shù))一-是、否跳出 循環(huán)p指向卜一結(jié)點(diǎn)4.7 刪除記錄函數(shù) struct employee *Delete(struct employee *head,intfindnum)這是一個(gè)有參函數(shù),形參為“鏈表頭的指針”和“要?jiǎng)h除信息的工號(hào)”,先輸入要?jiǎng)h除 的職工記錄的工號(hào),找到后進(jìn)行刪除。算法:從p指向的第一個(gè)結(jié)點(diǎn)開始,檢查該結(jié)點(diǎn)中的 num值是否等于輸入的要求刪除的 那個(gè)工號(hào)。如果相等就將該結(jié)點(diǎn)刪除,如不相等,就將p后移一個(gè)結(jié)點(diǎn),再如此進(jìn)行下去,直到遇到表尾為止。N-S流程圖如下:是否 head->num 等丁 findnum

9、)是、_否刪 除head 結(jié) 點(diǎn)P指向head的下一結(jié)點(diǎn)P不為NULL且p->num不等于findnumP移問卜一結(jié)點(diǎn)是否 p->num 等于 findnum一一一一一是/口. * .刪除結(jié)點(diǎn)p釋放p指針 返回head指針4.8 有序插入函數(shù) struct employee *Insert(struct employee *head,struct employee *p) 與 struct employee *Insertage(struct employee *head,struct employee *p)這是一個(gè)有返回值的有參函數(shù),形參為“鏈表頭的指針”和一個(gè)指針p,返回一個(gè)

10、指向鏈表頭的指針head。算法:比較新插入的結(jié)點(diǎn)與其他結(jié)點(diǎn)中num (age)的值,找出結(jié)點(diǎn)的位置,進(jìn)行插入。N-S流程圖如下:、頭結(jié)點(diǎn)是否為空一一一一一一一是否P結(jié)點(diǎn) 為第一 個(gè)結(jié)點(diǎn) head=p p->next =NULL、判斷p的工號(hào)(年齡)是否小于 head的工號(hào)(年齡)-一是:一一一一一一一否則p結(jié) 點(diǎn)應(yīng)該 插入到 head 前 面,所 以p->next =head;head=pp1=head,判斷 p->num (age)是否人丁 p1->num (age)且 p1 的下 結(jié)點(diǎn)不為p0=p1 p1指向卜一結(jié)點(diǎn)繼續(xù)循環(huán)、判斷是、否將p結(jié) 點(diǎn)插入 到p0與 p1

11、之間 判斷p的工號(hào)(年齡)與 p1的工號(hào)(年齡)一一一是否/、等一 一否、-一11是P插入到p1后面,NULL接到p后面返回head指針4.9 保存數(shù)據(jù)到文件函數(shù) void Save(struct employee *head)這是一個(gè)不返回值的有參函數(shù),形參為“鏈表頭的指針”,可以把職工記錄保存在電腦上指定的TXT文件中。p=head、文件是否能打開否、是、一-輸出出 錯(cuò)信息當(dāng)p不為空f(shuō)printf()函數(shù)將信息輸入進(jìn)文件p=p->next,指針后移關(guān)閉文件4.10 從文件讀數(shù)據(jù)函數(shù) struct employee *Read(struct employee *head)這是一個(gè)有返回

12、值的有參函數(shù),形參為“鏈表頭的指針”,根據(jù)文件地址進(jìn)行讀取文件,最后返回頭指針 head。N-S流程圖如下:定義指針變量p,文件指針fp文件是否能打開否是輸出出 錯(cuò)信息當(dāng)文件未結(jié)束選擇排序方式運(yùn)用Insert函數(shù)建立鏈表運(yùn)用Insertage函數(shù)建立鏈表fscanf()函數(shù)將信息從文件中輸出關(guān)閉文件5 .調(diào)試分析(1)剛開始沒有使用鏈表,程序運(yùn)行后,因?yàn)闆]有在字符后面輸入0',結(jié)果運(yùn)行后顯示的是一堆亂碼!然后查閱了一些書籍, 決定使用鏈表來(lái)完成,果然使用鏈表后, 亂碼就消 失了。(2)最初使用鏈表定義讀取文件的函數(shù)時(shí),運(yùn)行之后讀取不是很成功,顯示一堆亂碼,后來(lái)查閱資料才知道, 是因?yàn)樽x

13、取文件時(shí),分配的字符串長(zhǎng)度正好與文件長(zhǎng)度相等,造成字符串末尾沒有 0',后來(lái)經(jīng)過重新設(shè)計(jì),順利的解決了這個(gè)問題。(3)最初設(shè)計(jì)時(shí)插入功能與排序功能是由兩部分組成,后來(lái)查閱了書籍后發(fā)現(xiàn)兩者可以合二為一,更加簡(jiǎn)潔,就將其學(xué)習(xí)后運(yùn)用到了自己的編程中。(4)剛開始界面設(shè)計(jì)的有點(diǎn)亂,后來(lái)經(jīng)過許多次的修改,并且學(xué)習(xí)了清屏功能的用法, 整個(gè)界面頓時(shí)清爽了很多。(5)用兩種排序最初是放在同一個(gè)函數(shù)中,造成排序重復(fù),于是重新建立了一個(gè)新的 函數(shù)用來(lái)排序,在讀取文件時(shí)進(jìn)行排序,然后系統(tǒng)終于可以運(yùn)用兩種排序方式。6 .總結(jié)經(jīng)過十幾天的的 C語(yǔ)言課程設(shè)計(jì),感覺自己受益良多!首先,鏈表本來(lái)課是上的很少的, 掌握

14、的并不是很熟練, 但這個(gè)課程設(shè)計(jì)里面主要都是 用鏈表,因?yàn)橐_(dá)到這些的功能,使用鏈表更加方便,便于操作,但也不容易理解,所以在 這方面我花了很多的時(shí)間看課本和上網(wǎng)查閱資料,也是自己對(duì)C語(yǔ)言了解的更透徹。其次,在做課程設(shè)計(jì)的過程中, 我也發(fā)現(xiàn)了平時(shí)很多沒有注意到的問題,例如:字符串 后要添加0'才不會(huì)產(chǎn)生亂碼,函數(shù)引用前要聲明.更重要的是,這次課程設(shè)計(jì)雖然花了我不少時(shí)間,但這些時(shí)間很值得, 我在這些時(shí)間里去學(xué)會(huì)了自己探索,自己學(xué)習(xí),自己去建立一個(gè)簡(jiǎn)潔的操作界面。 在這寫日子中我也懂得了, 編程不僅需要程序好, 而且運(yùn)行界面還要給人以簡(jiǎn)潔明朗的感覺。我相信這次的課程設(shè)計(jì)為我以后的專業(yè)課打下

15、一個(gè)很好的基礎(chǔ)。代碼:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#include<string.h>#define LEN sizeof(struct employee)職工檔案管理系統(tǒng).txt"struct dateint year;int month;int day;struct employeeint num;char Name12;int age;char sex;char phone15;char address40

16、;struct date birthday;char degree10;char salary10;struct employee *next;void Mainmenu();void Help();void Display(struct employee *head);struct employee *Insertage(struct employee *head,struct employee *p);struct employee *Findnum(struct employee *head,int findID);struct employee *Findname(struct emp

17、loyee *head,char findname);struct employee *Input(struct employee *head);void Query(struct employee *head);struct employee *Edit(struct employee *head);struct employee *Insert(struct employee *head,struct employee *p);void Save(struct employee *head);struct employee *Read(struct employee *head);stru

18、ct employee *Delete(struct employee *head,int findID);void Mainmenu() printf("+# 職 工 檔 案 管 理 系 統(tǒng) #+n");printf("+ttt1-檔案錄入t2-信息修改ttt+n");printf("+ttt3-內(nèi)容查看t4保存文件ttt+n");printf("+ttt5-打開文件t6友情幫助ttt+n");printf("+ttt*0-安全退出 *ttt+n");printf("+ttt如您第一

19、次使用本程序請(qǐng)按“6”閱讀幫助tt+n");printf("+#+n”);printf("tt 請(qǐng)選擇(0 7):");void Help()printf("nttt歡迎進(jìn)入幫助系統(tǒng)!nn");printf("t1.請(qǐng)按照主菜單提示選擇所需執(zhí)行功能的數(shù)字代號(hào)!n");printf("t2.所有文件請(qǐng)按照提示規(guī)范輸入,請(qǐng)勿超出文字限制個(gè)數(shù)!n");printf("t3.剛開始執(zhí)行程序時(shí)若需要文本文件里的數(shù)據(jù)請(qǐng)先進(jìn)行打開文件!n");printf("t4.錄入信息和修改

20、信息以后,請(qǐng)切記需要保存!n");printf("t5.如您執(zhí)行文件追加,則無(wú)需打開文件!n");printf("t6.遇到系統(tǒng)錯(cuò)誤,請(qǐng)勿自行解決,如不需進(jìn)行編輯,請(qǐng)及時(shí)退出系統(tǒng) !n");printf("t7.錄入信息時(shí)請(qǐng)避免工號(hào)重復(fù),否則錄入失??!n");printf("t祝您使用愉快!");printf("n");void Display(struct employee *head)struct employee *p;printf("n工號(hào)t姓名t年齡t性別t電話tt

21、地址t出生年月學(xué)歷 工資n");p=(struct employee *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)printf("%-dt%-st%-dt",p->num,p->Name,p->age);printf("%-ct%-st%-st",p->sex,p->phone,p->address);printf("%-d %d %d",p->birthday.year,p->birthday.month,p->bi

22、rthday.day);printf(" %-s",p->degree);printf(" %-sn",p->salary);p=p->next;elseprintf("沒有數(shù)據(jù) n");struct employee *Findnum(struct employee *head,int findnum)struct employee *p;p=(struct employee *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)if(p->num=findnum)

23、break;p=p->next;elseprintf("沒有數(shù)據(jù) n");return p;struct employee *Findname(struct employee *head,char findname) struct employee *p;p=(struct employee *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)if(strcmp(p->Name,findname)=0)break;p=p->next;elseprintf("沒有數(shù)據(jù) n");return p

24、;struct employee *Input(struct employee *head)int n,i;struct employee *p;p=(struct employee *)malloc(LEN);printf("n胃怕人本次乖人心舊二人數(shù)");scanf("%d",&n);for(i=0;i<n;i+)system("cls");printf("請(qǐng)輸入第 %d個(gè)職工的工號(hào):t”,i+1);scanf("%d",&p->num);printf("皿姓名:

25、t");scanf("%s",p->Name);printf("皿年齡:t");scanf("%d",&p->age);printf("皿性別(男 M、女 W):");scanf("%s",&p->sex);printf("皿電話:t");scanf("%s",p->phone);printf("皿地址:t");scanf("%s",p->address);pr

26、intf("皿 出生年月(年 月 日):");scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p->birthday.day);printf("皿學(xué)歷:t");scanf("%s”,p->degree);printf("皿工資:t");scanf("%s",p->salary);head=Insert(head,p);p=(struct employee *)malloc(L

27、EN);printf("n輸入后信息為:n");Display(head);return(head);void Query(struct employee *head)char select;int findnum;char findname12;struct employee *p;printf("請(qǐng)選擇查詢方式:n");printf("1-按工號(hào)查詢n2按姓名查詢n");printf("請(qǐng)選擇(1-2):");select=getche();getch();system("cls");swi

28、tch (select)case'1':printf("n按工號(hào)查詢n評(píng)羚人職工的工?");scanf("%d",&findnum);if(p=Findnum(head,findnum)!=NULL) printf("n 一一"W I 卜 n");printf("n工號(hào)t姓名t年齡t性別t電話tt地址t出生年月學(xué)歷 工資n");printf("%dt%st%dt",p->num,p->Name,p->age);printf("%ct%

29、st%st",p->sex,p->phone,p->address);printf("%d %d %d",p->birthday.year,p->birthday.month,p->birthday.day);printf(" %s",p->degree);printf(" %sn",p->salary);else printf("您輸入的工號(hào)不存在!n");break;case'2':printf("n按姓名查詢n請(qǐng)輸入職工的姓名

30、:");scanf("%s",&findname);if(p=Findname(head,findname)!=NULL) printf("n 克找燈U I 卜 n");printf("n工號(hào)t姓名t年齡t性別t電話tt地址t出生年月 學(xué)歷 工 資n");printf("%dt%st%dt",p->num,p->Name,p->age);printf("%ct%st%st",p->sex,p->phone,p->address);printf

31、("%d %d %d",p->birthday.year,p->birthday.month,p->birthday.day);printf(" %s",p->degree);printf(" %sn",p->salary); elseprintf("您輸入的姓名不存在n");break;default:printf("選擇錯(cuò)誤!n");struct employee *Edit(struct employee *head)int findnum;char sele

32、ct;struct employee *p;printf("n請(qǐng)輸入職工的工號(hào):");scanf("%d",&findnum);if(p=Findnum(head,findnum)!=NULL) printf("請(qǐng)選擇修改方式:n");printf("1-修改信息n2-刪除信息n");printf("請(qǐng)選擇(1-2):");select=getche();getch();system("cls");switch (select)case'1':prin

33、tf("您近擇Ej是修改伯尼、n");printf("原信息:");printf("姓 % %st",p->Name);printf(" I . % %dt 號(hào) %dt J"-''% %cn",p->num,p->age,p->sex);printf("t 電 話 %st 地 八卜. %st 學(xué) 歷 %st 工資 s n",p->phone,p->address,p->degree,p->salary);printf(&q

34、uot;請(qǐng)輸入新信息n");printf("學(xué)號(hào) t");scanf("%d",&p->num);printf("姓 X t");scanf("%s",p->Name);printf("年或 t");scanf("%d",&p->age);printf("性另ij (男 M、女 W)");scanf("%s",&p->sex);printf("比 M t");

35、scanf("%s",p->phone);printf("地見 t");scanf("%s",p->address);printf("出生年月t");scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p->birthday.day);printf("學(xué)歷 t");scanf("%s”,p->degree);printf("工資 t"

36、);scanf("%s”,p->degree);break;case'2':printf(":或應(yīng),譯日是我除石忌n");head=Delete(head,findnum);break;elseprintf("您輸入的工號(hào)不存在!n");return (head);struct employee *Insert(struct employee *head,struct employee *p)struct employee *p0,*p1;if(head=NULL) head=p;p->next=NULL;retur

37、n(head);if(p->num<head->num)p->next=head;head=p;return(head);p1=head;while(p->num>p1->num)&&(p1->next!=NULL)p0=p1;p1=p1->next;if(p->num<p1->num)p->next=p1;p0->next=p;elseif(p->num!=p1->num)p1->next=p;p->next=NULL;return(head);struct emplo

38、yee *Insertage(struct employee *head,struct employee *p) struct employee *p0,*p1;if(head=NULL)head=p;p->next=NULL;return(head);if(p->age<head->age)p->next=head;head=p;return(head);p1=head;while(p->age>p1->age)&&(p1->next!=NULL)p0=p1;p1=p1->next;if(p->age<p

39、1->age)p->next=p1;p0->next=p;elseif(p->age!=p1->age)p1->next=p;p->next=NULL;return(head);void Save(struct employee *head)FILE *fp;struct employee *p;p=head;if(fp=fopen(DAT_FILENAME,"w+")!=NULL)while(p!=NULL)fprintf(fp,"%dt",p->num);fprintf(fp,"%st&quo

40、t;,p->Name);fprintf(fp,"%dt",p->age);fprintf(fp,"%ct",p->sex); fprintf(fp,"%st",p->phone); fprintf(fp,"%st",p->address);fprintf(fp,"%d %d %dt",p->birthday.year,p->birthday.month,p->birthday.day); fprintf(fp,"%st",p-&

41、gt;degree);fprintf(fp,"%sn",p->salary); p=p->next;fclose(fp);elseprintf("cannot open filen");struct employee *Read(struct employee *head)struct employee *p;char select;FILE *fp;head=NULL;p=(struct employee *)malloc(LEN);printf("請(qǐng)選擇查詢方式:n");printf("1-按工號(hào)排序n2按年

42、齡排序n");printf("請(qǐng)選擇(1-2):");select=getche();getch();system("cls");switch (select)case'1':if(fp=fopen(DAT_FILENAME,"r")!=NULL)while(fscanf(fp,"%dt",&p->num)!=EOF)fscanf(fp,"%st",p->Name);fscanf(fp,"%dt",&p->age);

43、fscanf(fp,"%ct",&p->sex);fscanf(fp,"%st",p->phone);fscanf(fp,"%st",p->address);fscanf(fp,"%d %d %dt",&p->birthday.year,&p->birthday.month,&p->birthday.day);fscanf(fp,"%st",p->degree);fscanf(fp,"%sn",p-&g

44、t;salary);head=Insert(head,p);p=(struct employee *)malloc(LEN);fclose(fp);elseprintf("cannot open filen");return (head);free(p);break;case'2':if(fp=fopen(DAT_FILENAME,"r")!=NULL)while(fscanf(fp,"%dt",&p->num)!=EOF)fscanf(fp,"%st",p->Name); fscanf(fp,"%dt",&p->age); fscanf(fp,"%ct",&p->sex); fscanf(fp,"%st",p->phone); fscanf(fp,"%st",p->address);fscanf(fp,"%d

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論