


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#in elude <stdio.h>#in elude <stdlib.h>#in elude <stri ng.h>#defi ne PF printf#defi ne LEN sizeof(struct stude nt)/ 定義結(jié)構(gòu)體struct stude ntchar NO20;char n ame20;int age;char sex3; /*'F'表示性別男,'M'表示性別女*/char birthday10;char address30;char phon e20;char e_mail20;struct s
2、tude nt *n ext; /下個(gè)結(jié)點(diǎn);typedef struct stude nt STU;STU *head=NULL; / 全局指針int n,i=0;/全局變量/ 自定義函數(shù)void show_me nu();/顯示菜單void menu();/執(zhí)行菜單void creat_stu();/建立鏈表void in sert_stu();/學(xué)生信息錄入void prin t_stu();/學(xué)生信瀏覽void search_NO();/以學(xué)號(hào)方式查詢信息void search_ name(); /以姓名方式查詢信息void arrage_stu();/排序void del_stu();
3、/刪除學(xué)生信息void revise_stu();/修改學(xué)生信息void save();/保存信息void main() creat_stu();men u();/ 創(chuàng)建鏈表 void creat_stu()FILE *fp;long size;STU *p1,*p2;head=(STU *)malloc(sizeof(STU);head-> next=NULL;if(fp=fope n("fname.txt","r")=NULL)printf("這是新表 n");return;fseek(fp,0L,2);size=ftell
4、(fp);if(!size)printf("這是空表 n");return;/開(kāi)始創(chuàng)建鏈表rewi nd(fp); /移動(dòng)到文件首p2=head-> next; / 找到但前位置while(!feof(fp)p1=(STU *)malloc(sizeof(STU);fscan f(fp,"%s %s %d %s %s %s %s %sn",p1->NO,p1-> name,&p1->age, p1->sex,p1->birthday,p1->address,p1->ph on e,p1->e_
5、mail);p1-> next=NULL;/創(chuàng)建節(jié)點(diǎn)完if(head-> next=NULL)head->n ext=p1;elsep2->n ext=p1;p2=p1;n+;p2-> next=NULL;fclose(fp);/ 執(zhí)行菜單void menu()int c;show_me nu ();while(1)scan f("%d", &c);switch(c)getchar();case 1:i nsert_stu();break;case 2:pri nt_stu();break;case 3:search_NO(); bre
6、ak;case 4:search_ name(); break;case 5:del_stu(); break;case 6:revise_stu(); break;case 7:arrage_stu();break;case 0:exit(0);/執(zhí)行菜單選項(xiàng)show_me nu ();/ 顯示菜單void show_me nu()PF("n");PF("n 探菜單探探n");PF("tt 1.輸入學(xué)生信息 n”);PF("tt 2.瀏覽學(xué)生信息 n”);PF("tt 3.以學(xué)號(hào)方式查詢信息n");PF(&quo
7、t;tt 4.以姓名方式查詢信息n");PF("tt 5.刪除學(xué) 生信息 n”);PF("tt 6.修 改 學(xué)生信 息 n”);PF("tt 7 排序 n ”);PF("tt 0退 出 n");PF(”探探n");PF("n 請(qǐng)選擇 n");/ 學(xué)生信息錄入void in sert_stu() /學(xué)生信息錄入n=0;STU *p仁NULL,*p2=NULL;p1=(STU *)malloc(sizeof(STU);PF("n 探錄入學(xué)生信息探探n");/ 錄入學(xué)生信息PF("
8、tt 輸入學(xué)生學(xué)號(hào):t");sca nf("%s",p1->NO);/學(xué)號(hào)PF("tt 輸入學(xué)生姓名:t");sca nf("%s",p1-> name);/姓名PF("tt 輸入學(xué)生年齡:t");sca nf("%d",&p1->age);/年齡PF("tt 輸入學(xué)生性別:t");sca nf("%s",p1->sex);/性別PF("tt輸入學(xué)生出生年月:t");sca nf("%
9、s",p1->birthday);/出生年月PF("tt 輸入學(xué)生地址:t");sca nf("%s",p1->address);/地址PF("tt輸入學(xué)生電話:t");sca nf("%s",p1->pho ne);/電話PF("tt輸入學(xué)生 E-mail:t");sca nf("%s",p1->e_mail);/E-mailn+;if(head-> next=NULL)head=(STU *)malloc(LEN);head->
10、;n ext=p1;elsefor(p2=head;p2-> next!=NULL;p2=p2-> next); /*找到最后的結(jié)點(diǎn),然后將增加的結(jié)點(diǎn)掛在它上面 */p2->n ext=p1;p1-> next=NULL;save();保存到文件 / 學(xué)生信息瀏覽void prin t_stu()/STU *p=NULL;if(head=NULL) / PF(”文檔中無(wú)記錄!學(xué)生信瀏覽判斷鏈表是否為空n");return;for(p=head->n ext;p!=NULL;p=p->n ext) /讀出信息PF("探學(xué)生信息瀏覽探 探n&
11、quot;);PF("tt學(xué)生學(xué)號(hào):t%sn",p->NO);PF("tt學(xué)生姓名:t%sn",p->name);PF("tt學(xué)生年齡:t%dn",p->age);PF("tt學(xué)生性別:t%sn",p->sex);PF("tt學(xué)生出生年月:t%sn",p->birthday);PF("tt學(xué)生地址:t%sn",p->address);PF("tt學(xué)生電話:t%sn",p->phone);PF("tt學(xué)生
12、E-mail:t%sn",p->e_mail);PF("n");II輸出信息II 學(xué)生姓名信息查找 void search_ name() II學(xué)生姓名信息查找STU *p=NULL;char n ame20;if(head=NULL) II判斷鏈表是否為空PF("文檔中無(wú)記錄!n");return;PF(”輸入學(xué)生姓名:”);sea nf("%s", name);for(p=head->n ext;p!=NULL;p=p->n ext) /讀出信息if(!strcmp(p->n ame ,n ame
13、)PF(” 探您查找的學(xué)生是探 探n");PF("tt學(xué)生學(xué)號(hào):t%sn",p->NO);PF("tt學(xué)生姓名:t%sn",p->name);PF("tt學(xué)生年齡:t%dn",p->age);PF("tt學(xué)生性別:t%sn",p->sex);PF("tt學(xué)生出生年月:t%sn",p->birthday);PF("tt學(xué)生地址:t%sn",p->address);PF("tt學(xué)生電話:t%sn",p->ph
14、one);PF("tt學(xué)生 E-mail:t%sn",p->e_mail);PF("n");i=1;/輸出信息if(!i)PF("無(wú)該生信息!請(qǐng)查證:");/沒(méi)找到信息時(shí)的處理/ 學(xué)生學(xué)號(hào)信息查找 void search_NO() / 學(xué)生學(xué)號(hào)信息查找STU *p=NULL;char NO2O;if(head=NULL) /判斷鏈表是否為空PF("文檔中無(wú)記錄!n");return;PF("請(qǐng)輸入學(xué)生學(xué)號(hào):”);sca nf("%s",NO);for(p=head->n e
15、xt;p!=NULL;p=p->n ext) /讀出信息if(!strcmp(p->NO,NO)PF("探您查找的學(xué)生是探探n");PF("tt學(xué)生學(xué)號(hào):t%sn",p->NO);PF("tt學(xué)生姓名:t%sn",p->name);PF("ttPF("ttPF("ttPF("ttPF("ttPF("tt學(xué)生年齡:t%dn",p->age);學(xué)生性別:t%sn",p->sex); 學(xué)生出生年月:t%sn",p-&
16、gt;birthday);學(xué)生地址:t%sn",p->address); 學(xué)生電話:t%sn",p->phone);學(xué)生 E-mail:t%sn",p->e_mail);PF("n"); i=1;if(!i)/輸出信息PF(”無(wú)該生信息!請(qǐng)查證:");/沒(méi)找到信息時(shí)的處理/ 修改學(xué)生信息void revise_stu()STU *p=NULL;if(head=NULL) /判斷鏈表是否為空PF("文檔中無(wú)記錄!n");return;char NO20;PF("請(qǐng)輸入學(xué)生的學(xué)號(hào):t&quo
17、t;);sca nf("%s",NO);for(p=head->n ext;p!=NULL;p=p->n ext)if(!strcmp(p->NO,NO)/驗(yàn)證信息是否正確PF(" 探您要修改的學(xué)生是探 探n");PF("tt學(xué)生學(xué)號(hào):t%sn",p->NO);PF("tt學(xué)生姓名:t%sn",p->name);PF("tt學(xué)生年齡:t%dn",p->age);PF("tt學(xué)生性別:t%sn",p->sex);PF("tt學(xué)
18、生出生年月:t%sn",p->birthday);PF("tt學(xué)生地址:t%sn",p->address);PF("tt學(xué)生電話:t%sn",p->phone);PF("tt學(xué)生 E-mail:t%sn",p->e_mail);PF("n");/輸出要修改信息i=1;PF(”探修改學(xué)號(hào)為s的學(xué)生探探n ”,NO);strcpy(p->NO,NO);PF("tt輸入修改學(xué)生姓名:t");sca nf("%s",p->n ame);P
19、F("tt輸入修改學(xué)生年齡:t");sca nf("%d",&p->age);PF("tt輸入修改學(xué)生性別:t");sca nf("%s",p->sex);PF("tt輸入修改學(xué)生出生年月:t");sca nf("%s",p->birthday);PF("tt輸入修改學(xué)生地址:t");sca nf("%s",p->address);PF("tt輸入修改學(xué)生電話:t");sca nf(&
20、quot;%s",p_>ph on e);PF("tt輸入修改學(xué)生 E-mail:t");sca nf("%s",p->e_mail);PF("n");II輸入修改信息save();if(!i)PF(”無(wú)該生信息!請(qǐng)查證:");I*沒(méi)找到信息時(shí)的處理*/II 刪除學(xué)生信息 void del_stu()STU *p=NULL;if(head=NULL)II判斷鏈表是否為空PF("文檔中無(wú)記錄!n");return;elsechar NO20;PF("請(qǐng)輸入學(xué)生的學(xué)號(hào):t&qu
21、ot;);scan f("%s",NO);for(p=head;p!=NULL;p=p->n ext)if(!strcmp(p-> next->NO,NO) /驗(yàn)證信息是否正確PF(”探您要?jiǎng)h除的學(xué)生是探探n");PF("tt學(xué)生學(xué)號(hào):t%sn",p->next->NO);PF("tt學(xué)生姓名:t%sn",p->next->name);PF("tt學(xué)生年齡:t%dn",p->next->age);PF("tt學(xué)生性別:t%sn",p
22、->next->sex);PF("tt學(xué)生出生年月:t%sn",p-> next->birthday);PF("tt學(xué)生地址:t%sn",p->next->address);PF("tt學(xué)生電話:t%sn",p->next->phone);PF("tt學(xué)生 E-mail:t%sn",p->next->e_mail);PF("n");/輸出要?jiǎng)h除的信息i=1;if(p->n ext- >n ext)printf("第
23、一個(gè) n");p->n ext=p->n ext->n ext;elsep-> next=NULL;n-;save();return;if(!i)PF(” 無(wú)該生信息!請(qǐng)查證:");/沒(méi)找到信息時(shí)的處理return; / 按學(xué)號(hào)排序 void arrage_stu()STU *p1,*p2;int in=0,j;if(head-> next=NULL)/首先判斷printf("你還沒(méi)有記錄,無(wú)法排序n");return ;printf("n=%d", n);p仁head->n ext;for(i n
24、=0;i n<n-1;i n+)for(j=0,p1=head->n ext;j<=n-i n-3;p1=p1- >n ext,j+)if(j=O)第一次比較第一個(gè)和第二個(gè)節(jié)點(diǎn)信息if(strcmp(p1->N0,p1->next->NO)比較 pl 本身和 pl 下一個(gè)節(jié)點(diǎn)p2=p1- >n ext;p1- >n ext=p1- >n ext-> next;p2->n ext=p1;head->n ext=p2;p仁head->next;/從新給CUR賦值/*p仁head->n ext;p仁 p2;錯(cuò)誤:如果一個(gè)變量 =他前一個(gè)節(jié)點(diǎn)的 NEXT那么不可以說(shuō)把另外一個(gè)變量賦 給它就可以改變它前一個(gè)節(jié)點(diǎn)的NEXT他只能操作后節(jié)點(diǎn)! !*/if(strcmp(p1->next->NO,p1->next-next->NO)比較 p1 下一個(gè)和 p1 下兩個(gè)節(jié)點(diǎn)p2=p1- >n ext;p1- >n ext=p1- >n ext-> next;p2->n
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)??萍脊疚膯T聘用及綠色創(chuàng)新協(xié)議
- 二零二五年度農(nóng)村私人土地租賃與特色養(yǎng)殖合作合同
- 二零二五年度跨境電商金融服務(wù)商務(wù)協(xié)議書(shū)
- 小微企業(yè)市場(chǎng)開(kāi)拓的營(yíng)銷推廣計(jì)劃
- 電商平臺(tái)用戶行為規(guī)范及免責(zé)聲明
- 車位抵押借款合同協(xié)議
- 企業(yè)信息化改造升級(jí)合作協(xié)議
- 設(shè)備采購(gòu)說(shuō)明文書(shū)模板
- 提高團(tuán)隊(duì)協(xié)作效率的行動(dòng)計(jì)劃
- 物流運(yùn)輸安全及免責(zé)承諾書(shū)
- (三級(jí))工業(yè)機(jī)器人運(yùn)用與維護(hù)理論考試復(fù)習(xí)題庫(kù)(含答案)
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及解析
- 高中英語(yǔ)必背3500單詞表(完整版)
- 房產(chǎn)中介居間服務(wù)合同模板樣本
- 海洋工程裝備保險(xiǎn)研究
- 2024年廣東省深圳市中考英語(yǔ)試題含解析
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
- 3素炒圓白菜 教案
- 透析患者營(yíng)養(yǎng)不良護(hù)理
- 學(xué)生消防安全常識(shí)問(wèn)卷及答案
評(píng)論
0/150
提交評(píng)論