版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
+64編制一種學生籍貫信息記錄簿,每個學生信息涉及:學號、姓名、籍貫。詳細功能:(1)創(chuàng)立信息鏈表并以磁盤文獻保存;(2)讀取磁盤文獻并顯示輸出所有學生籍貫信息;(3)按學號或姓名查詢其籍貫;(4)按籍貫查詢并輸出該籍貫所有學生;(5)能添加、刪除和修改學生籍貫信息;#include"dos.h"#include"stdio.h"#include"stdlib.h"#include"conio.h"#include"math.h"#include"string.h"/**********************建立鏈表******************************/structhj{intage;longnumber;charname[10],address[50],sex[2];structhj*next;};/**************************文獻操作函數(shù)******************************/FILE*fp;voidopenfile(charxx[20]){fp=fopen(xx,"ab+");if(fp==NULL)fp=fopen(xx,"wb");}/************************錄入信息函數(shù)***********************************/voidhjnew(void){system("cls");intn=0,xage;longxnumber;charxname[10];charxaddress[50];charxsex[2];structhj*head;structhj*x1,*x2;head=NULL;x2=NULL;printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★錄入信息★★★\n");printf("\n〓提示輸入0返回上級菜單〓\n\n\n");printf("\n請輸入學號【15字內(nèi)】:");scanf("%ld",&xnumber);if(xnumber==0)gotohaha;printf("\n請輸入姓名【10字內(nèi)】:");scanf("%s",xname);printf("\n請輸入年齡【|-__-|】:");scanf("%d",&xage);printf("\n請輸入性別【男OR女】:");scanf("%s",xsex);printf("\n請輸入籍貫【25字內(nèi)】:");scanf("%s",xaddress);while(xnumber!=0){n++;x1=(structhj*)malloc(sizeof(structhj));x1->number=xnumber;strcpy(x1->name,xname);strcpy(x1->sex,xsex);x1->age=xage;strcpy(x1->address,xaddress);if(n==1)head=x1;elsex2->next=x1;x2=x1;printf("\n請輸入學號【15字內(nèi)】:");scanf("%ld",&xnumber);if(xnumber==0)break;printf("\n請輸入姓名【10字內(nèi)】:");scanf("%s",xname);printf("\n請輸入年齡【|-__-|】:");scanf("%d",&xage);printf("\n請輸入性別【男OR女】:");scanf("%s",xsex);printf("\n請輸入籍貫【25字內(nèi)】:");scanf("%s",xaddress);}x2->next=NULL;x1=head;while(x1!=NULL){openfile("hj.txt");chard[5]="四川";fwrite(x1,sizeof(structhj),1,fp);fclose(fp);if(strstr(x1->address,d)!=NULL){openfile("schj.txt");fwrite(x1,sizeof(structhj),1,fp);fclose(fp);}else{openfile("qthj.txt");fwrite(x1,sizeof(structhj),1,fp);fclose(fp);}x1=x1->next;}haha:;}/*****************************查詢函數(shù)*************************/voidhjxmselect(void)//按學號方式查詢函數(shù){ssmmx:intn=0;longhh;system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★查詢編輯信息★★★\n");printf("\n〓提示輸入0返回上級菜單〓\n\n\n");printf("請您輸入學號:");scanf("%ld",&hh);if(hh!=0){structhj*p;structhj*q=NULL,*head=NULL;fp=fopen("hj.txt","rb");if(fp==NULL){printf("\n沒有記錄,請輸入記錄然后再查詢!");getch();gotojjx;}while(!feof(fp)){n++;p=(structhj*)malloc(sizeof(structhj));fread(p,sizeof(structhj),1,fp);if(n==1)head=p;elseq->next=p;q=p;}q->next=NULL;p=head;while(p!=NULL){if(p->number==hh){inta;printf("\n結果→學號=%ld姓名=%s年齡=%d性別=%s",p->number,p->name,p->age,p->sex);printf("\n地址=%s",p->address);printf("\n\n操作→⑴更改數(shù)據(jù)⑵刪除數(shù)據(jù)⑶查詢其她數(shù)據(jù)⑷返回上頁⑸退出程序\n\n請您選取操作:");ssmx:scanf("%d",&a);switch(a){voidhjedit(structhj*headd,structhj*pp);voidhjdelete(structhj*headdd,structhj*ss);case1:hjedit(head,p);gotossmmx;break;case2:hjdelete(head,p);gotossmmx;break;case3:gotossmmx;case4:gotojjx;case5:exit(0);default:printf("\n錯誤選取,請重新選取:");gotossmx;}}elsep=p->next;}intiiii=0;printf("\n沒有此記錄1.重新查詢2.返回上一頁3.退出程序!");printf("\n請選取:");qqqq:scanf("%d",&iiii);switch(iiii){case1:gotossmmx;case2:gotojjx;case3:exit(0);default:printf("\n錯誤選取,請重新選取:");gotoqqqq;}gotojjx;}jjx:;}voidhjxhselect(void)//按姓名方式查詢函數(shù){ssmm:intn=0;charhh[10];system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★查詢編輯信息★★★\n");printf("\n〓提示輸入0返回上級菜單〓\n\n\n");printf("請您輸入姓名:");scanf("%s",hh);if(strcmp(hh,"0")!=0){structhj*p;structhj*q=NULL,*head=NULL;fp=fopen("hj.txt","rb");if(fp==NULL){printf("\n沒有記錄,請輸入記錄然后再查詢!");getch();gotojjj;}while(!feof(fp)){n++;p=(structhj*)malloc(sizeof(structhj));fread(p,sizeof(structhj),1,fp);if(n==1)head=p;elseq->next=p;q=p;}q->next=NULL;p=head;while(p!=NULL){if(strcmp(p->name,hh)==0){inta;printf("\n結果→學號=%ld姓名=%s年齡=%d性別=%s",p->number,p->name,p->age,p->sex);printf("\n地址=%s",p->address);printf("\n\n操作→⑴更改數(shù)據(jù)⑵刪除數(shù)據(jù)⑶查詢其她數(shù)據(jù)⑷返回上頁⑸退出程序\n\n請您選取操作:");ssm:scanf("%d",&a);switch(a){voidhjedit(structhj*headd,structhj*pp);voidhjdelete(structhj*headdd,structhj*ss);case1:hjedit(head,p);gotossmm;break;case2:hjdelete(head,p);gotossmm;break;case3:gotossmm;case4:gotojjj;case5:exit(0);default:printf("\n錯誤選取,請重新選?。?);gotossm;}}elsep=p->next;}intiii=0;printf("\n沒有此記錄1.重新查詢2.返回上一頁3.退出程序!");printf("\n請選取:");qqq:scanf("%d",&iii);switch(iii){case1:gotossmm;case2:gotojjj;case3:exit(0);default:printf("\n錯誤選取,請重新選?。?);gotoqqq;}gotojjj;}jjj:;}voidhjjgselect(void)//按籍貫方式查詢{yyy:inti;system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★籍貫方式查詢信息★★★\n\n\n");printf("\n一顯示所有信息\n");printf("\n二顯示四川籍所有信息\n");printf("\n三顯示其他籍所有信息\n");printf("\n四自定義查詢信息\n");printf("\n五←返回上級菜單\n");printf("\n六↓退出程序\n");printf("\n\n請選?。?);scanf("%d",&i);switch(i){voidzdyselect(void);voidallselect(chara[8]);case1:allselect("hj.txt");gotoyyy;break;case2:allselect("schj.txt");gotoyyy;break;case3:allselect("qthj.txt");gotoyyy;break;case4:zdyselect();case5:break;case6:exit(0);}}voidzdyselect(void){ssmmz:intn=0,j=0;charhh[10];system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★自定義查詢信息★★★\n\n\n");printf("請您輸入地址核心字:");scanf("%s",hh);if(strcmp(hh,"0")!=0){structhj*p;structhj*q=NULL,*head=NULL;fp=fopen("hj.txt","rb");if(fp==NULL){printf("\n沒有記錄,請輸入記錄然后再查詢!");getch();gotojjz;}while(!feof(fp)){n++;p=(structhj*)malloc(sizeof(structhj));fread(p,sizeof(structhj),1,fp);if(n==1)head=p;elseq->next=p;q=p;}q->next=NULL;p=head;while(p!=NULL){if(strstr(p->address,hh)!=NULL){inta;j++;printf("\n結果→學號=%ld姓名=%s年齡=%d性別=%s",p->number,p->name,p->age,p->sex);printf("\n地址=%s",p->address);printf("\n\n操作→⑴更改數(shù)據(jù)⑵刪除數(shù)據(jù)⑶查詢下一條數(shù)據(jù)⑷返回上頁⑸退出程序\n\n請您選取操作:");ssmz:scanf("%d",&a);switch(a){voidhjedit(structhj*headd,structhj*pp);voidhjdelete(structhj*headdd,structhj*ss);case1:hjedit(head,p);gotossmmz;break;case2:hjdelete(head,p);gotossmmz;break;case3:p=p->next;continue;case4:gotojjz;case5:exit(0);default:printf("\n錯誤選取,請重新選?。?);gotossmz;}p=p->next;}elsep=p->next;}if(j==0){printf("\n\n\n沒有匹配記錄按任意鍵繼續(xù)!");getch();fclose(fp);gotossmmz;}else{intxx;printf("\n\n查詢完畢?、爬^續(xù)查詢⑵返回上一級菜單⑶退出程序");printf("\n請選?。?);scanf("%d",&xx);if(xx==2)gotojjz;elseif(xx==3)exit(0);}gotossmmz;jjz:;}}voidallselect(chara[8])//所有查詢{intn=0;intk=0;system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★籍貫方式信息★★★\n\n\n");structhj*p;structhj*q=NULL,*head=NULL;fp=fopen(a,"rb");if(fp==NULL){printf("\n對不起,沒有記錄無法查詢!");gotoxxxx;}rewind(fp);while(!feof(fp)){n++;p=(structhj*)malloc(sizeof(structhj));fread(p,sizeof(structhj),1,fp);if(n==1)head=p;elseq->next=p;q=p;}q->next=NULL;structhj*h1,*p2,*q3,*r4,*s5;h1=p2=(hj*)malloc(sizeof(structhj));p2->next=head;while(p2->next!=NULL){q3=p2->next;r4=p2;while(q3->next!=NULL){if(q3->next->number<p2->next->number)r4=q3;q3=q3->next;}if(r4!=p2){s5=r4->next;r4->next=s5->next;s5->next=p2->next;p2->next=s5;}p2=p2->next;}head=h1->next->next;free(h1);p=head;while(p!=NULL&&n>0){n--;printf("\n學號=%ld姓名=%s年齡=%d性別=%s",p->number,p->name,p->age,p->sex);printf("\n地址=%s",p->address);p=p->next;}xxxx:printf("\n→顯示完畢←\n⑴↑返回上級菜單⑵↓退出程序\n請選擇:");xxx:scanf("%d",&n);switch(n){case1:break;case2:exit(0);default:printf("\n錯誤選取,請重新選?。?);gotoxxx;}}voidhjselect(void)//查詢編輯信息函數(shù){cxbegin:inta;system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★查詢編輯信息★★★\n\n\n");printf("\n一按學號方式查詢\n");printf("\n二按姓名方式查詢\n");printf("\n三按籍貫方式查詢\n");printf("\n四→顯示所有信息\n");printf("\n五←返回上級菜單\n");printf("\n請選擇查詢方式:");cxmm:scanf("%d",&a);switch(a){case1:hjxmselect();gotocxbegin;break;case2:hjxhselect();gotocxbegin;break;case3:hjjgselect();gotocxbegin;break;case4:allselect("hj.txt");gotocxbegin;break;case5:break;default:printf("\n錯誤選取,請重新選?。?);gotocxmm;}}voidhjde(void)//刪除界面函數(shù){cxxbegin:inta;system("cls");printf("\n★★★★★歡迎使顧客籍管理系統(tǒng)★★★★★\n");printf("\n★★★刪除信息★★★\n\n\n");printf("\n一按學號方式刪除\n");printf("\n二按姓名方式刪除\n");printf("\n三按籍貫方式刪除\n");printf("\n四→刪除所有信息\n");printf("\n五←返回上級菜單\n");printf("\n請選擇刪除方式:");cxxmm:scanf("%d",&a);inti=0;switch(a){case1:hjxmselect();gotocxxbegin;break;case2:hjxhselect();gotocxxbegin;break;case3:zdyselect();gotocxxbegin;break;case4:fp=fopen("hj.txt","wb");if(fp!=NULL)i++;fp=fopen("schj.txt","wb");if(fp!=NULL)i++;fp=fopen("qthj.txt","wb");if(fp!=NULL)i++;if(i==3){printf("\n所有數(shù)據(jù)已經(jīng)刪除!!!!!!敲任意鍵繼續(xù)");getch();}gotocxxbegin;break;case5:break;default:printf("\n錯誤選取,請重新選?。?);gotocxxmm;}}//==============刪除函數(shù)接口===============voidhjdelete(structhj*headdd,structhj*ss){structhj*q;chard[5]="四川";if(headdd==ss){headdd=headdd->next;gotogogo;}q=headdd;while(q!=NULL){if(q->next->number==ss->number){break;}q=q->next;}q->next=ss->next;gogo:q=headdd;fp=fopen("hj.txt","wb");while(q!=NULL){fwrite(q,sizeof(structhj),1,fp);q=q->next;}fclose(fp);q=headdd;fp=fopen("schj.txt","wb");while(q!=NULL){if(strstr(q->address,d)!=NULL){fwrite(q,sizeof(structhj),1,fp);}q=q->next;}fclose(fp);q=headdd;fp=fopen("qthj.txt","wb");while(q!=NULL){if(strstr(q->address,d)==NULL){fwrite(q,sizeof(structhj),1,fp);}q=q->next;}fclose(fp);}//===============編輯函數(shù)接口==============voidhjedit(structhj*headd,structhj*pp){intn=0;structhj*p,*p1,*p2;chard[5]="四川";printf("\n輸入→學號=");scanf("%l
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋買賣合同解除協(xié)議書寫作技巧指導3篇
- 授權代加工合同范本3篇
- 房屋買賣合同貸款版解析3篇
- 新媒體代運營簡單合同范本3篇
- 擋墻施工合同協(xié)議3篇
- 持續(xù)發(fā)展承諾書3篇
- 教育行業(yè)環(huán)境科學家合同樣本3篇
- 擋土墻施工合同款項支付3篇
- 教育培訓機構行政主管合同3篇
- 新農(nóng)村建設提案3篇
- 加快急診中毒中心建設 推動中毒救治能力提升
- MOOC 設計史話-山東大學 中國大學慕課答案
- 北京市西城區(qū)2023-2024學年六年級上學期期末英語試題
- 《光伏發(fā)電工程工程量清單計價規(guī)范》
- 新概念英語第一冊1-72課測試題
- 廣東省廣州市2023年中考數(shù)學試題(附真題答案)
- 音樂行業(yè)商業(yè)計劃書
- 《供應商質(zhì)量會議》課件
- 高壓電纜安裝指導書
- 越劇團管理制度
- 2020山東春季高考數(shù)字媒體真題
評論
0/150
提交評論