版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、include<stdio。h>includedos.h#define N sizeof(struct STH)#define GESHI "%10ld%10s-5s-4d/2d/-4d%-12s12s%sn”#define PRINTF ”學(xué)號(hào) 姓名 性別 生 日 系別 班級(jí)
2、 家庭住址n"struct STH* readfile();/*聲明/int insert(struct STH*);int n=0;struct dt int year; /全局變量*/ int month; int
3、 day;struct STH long num; /*學(xué)號(hào)不能以0開(kāi)頭/ char name9; char sex5; struct dt birth; char xi20;
4、160; char ban20; char add30; struct STH* next;head;/輸入模塊/input_message() char ch; int flag=1; do if(insert(head)!=0)
5、60; n+; /*計(jì)數(shù)/ else printf(”n有相同的的學(xué)號(hào)!”);
6、60; printf(”n是否繼續(xù)?(y/n)"); getchar(); scanf(”c”,&ch); if(ch=y|ch=Y')
7、160; printf(”n繼續(xù)!”); getch(); flag=1;/標(biāo)志程序不結(jié)束/ else
8、160; flag=0; while(flag=1); save_message(); printf(”按任意鍵繼續(xù)。."); getch();/insert()模塊/ /被輸入和插
9、入模塊所調(diào)用*/int insert(struct STH*h) struct STH p,*p0; p=(struct STH)malloc(N); printf(”n請(qǐng)輸入學(xué)號(hào):”); scanf("ld”,pnum); printf(”n請(qǐng)輸入姓名:"); scanf("s",pname); prin
10、tf(”n請(qǐng)輸入性別:”); getchar(); /*取走上一個(gè)留下來(lái)得n/ scanf(”s",p-sex); printf("n請(qǐng)輸入生日(年月日,用回車(chē)隔開(kāi)):n”); scanf(”%dd%d",pbirth。year,pbirth。month,p>birth。day); printf(”n請(qǐng)輸入系別:"
11、;); scanf(”%s”,p-xi); printf(”n請(qǐng)輸入班級(jí):”); scanf("s”,pban); printf(”n請(qǐng)輸入家庭住址:"); scanf(”%s",p>add); pnext=NULL; if(*h=NULL)
12、0; *h=p; return 1; p0=h; if(p0>num>pnum) p-next=p0; *h=p; &
13、#160; return 1; while(p0next!=NULL&p0next-nump>num) p0=p0next; if(p0next=NULL) p0-next=p;
14、0; return 1; else if(p0nextnum=pnum) free(p); /有相同數(shù)據(jù)輸入失敗*/ return 0;
15、160; else p-next=p0next; p0-next=p; return 1; /*讀文件模塊/
16、0; /讀文件模塊中創(chuàng)建了一個(gè)新的鏈表,其返回值為新鏈表的頭指針*/struct STH readfile() FILE *fp; struct STH *p,*p0; char ch; int i;
17、160; if((fp=fopen(”STH。txt”,”r")=NULL) printf("n不能讀取文件!n"); return NULL; &
18、#160; /*注意要該/ head=p=p0=(struct STH *)malloc(N); fscanf(fp,”d”,n);
19、 fscanf(fp,”%c",ch); /為了使學(xué)號(hào)和信息個(gè)數(shù)分開(kāi)加入一個(gè)/ fscanf(fp,”%ldssddd%s%ss", pnum,p>name,p->sex,p-birth.year,pbirth。month,&p-birth.day,p-xi,pban,p->add); p>next=NUL
20、L; i=1; /*如果只有一個(gè)數(shù)時(shí)跳出/ if(n!=1) do &
21、#160; p=(struct STH )malloc(N); fscanf(fp,”ldssddd%sss”, pnum,pname,p->sex,pbirth.year,pbirth。month,p>birth。day,p-xi,p-&
22、gt;ban,p>add); p0->next=p; p0=p; i+; while(in); &
23、#160; p0next=NULL; fclose(fp); return head;/插入模塊/insert_message() struct STH p; int flag=1; char ch; head=readfile(); do
24、; if(insert(&head)!=0) n+; save_message();
25、 printf(”); /計(jì)數(shù)*/ else
26、 printf(”n添加失敗!n有相同的的學(xué)號(hào)!”); save_message(); getch(); &
27、#160; printf("n是否繼續(xù)?(y/n)”); getchar(); ch=getchar(); if(ch='y'ch='Y)
28、60; printf("n繼續(xù)!"); flag=1;/標(biāo)志程序不結(jié)束/ else
29、160; flag=0; while(flag=1); printf(”n按任意鍵繼續(xù)。."); getch();/*修改模塊/renew_message() struct STH *p; int i,flag=1; long num; p=head=readfile(); if(head
30、=NULL) printf(”讀文件有誤!”); getch(); else printf(”n請(qǐng)按輸入要修改的學(xué)生的學(xué)號(hào):");
31、; scanf("ld",num); for(i=0;in;i+) if(pnum=num)
32、160; pnum=num; printf("n已找到要%ld號(hào)學(xué)生的信息!n”,num);
33、60; printf(”原姓名為s 要修改為:n",pname); scanf("s",p->name); printf("原性別為s 要修改為:n”,p-sex);
34、160; scanf(”s”,psex); printf("原生日為d/d/%d 要修改為:n",pbirth。year,p>birth.month,p-birth.day); &
35、#160; scanf("%d%d%d",&p>birth.year,&p>birth。month,p>birth.day); printf(”原系別為%s 要修改為:n”,pxi); &
36、#160; scanf(”%s”,pxi); printf(”原班級(jí)為%s 要修改為:n”,p>ban);
37、0; scanf(”s”,pban); printf(”原家庭住址為%s 要修改為:n",padd); scanf("%s”,p-add);
38、0; printf(”你所更改后的信息為:n”); printf(PRINTF); printf(GESHI,
39、; pnum,p->name,psex,p->birth.year,p>birth。month,pbirth.day,pxi,pban,padd); &
40、#160; printf("n按任意鍵退出!n”); getch(); flag=1;
41、 break; else p=pnext;
42、160; if(flag!=1) printf("無(wú)此人信息!n"); else save_message();
43、; getch(); /刪除模塊*/delete_message() int flag; long num; char ch; struct STH*p,*p0; p0=p=head=readfile(); if(head=NULL)
44、160; printf(”文件讀取出錯(cuò)!”); getch(); else printf(”請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):n”); scanf(”ld”,&num);
45、0; if(p0>num=num) head=p0-next; free(p0);
46、60; flag=1; n-; /*學(xué)生數(shù)減一/ p=p0next; while(p!=NULL)
47、0; if(p>num=num) p0>next=p-next;
48、160; free(p); flag=1; n;
49、 else p0=p;
50、; p=pnext; if(p>next=NULL)
51、; flag=0; if(flag=1) printf("n永久刪除ld號(hào)學(xué)生的信息?(y/n)”,num); getchar();
52、 ch=getchar(); if(ch=y'|ch='Y') save_message(); &
53、#160; else printf(”n撤消刪除!”); &
54、#160; getch(); else printf(”n刪除失敗!”);
55、60; getch(); /查詢模塊*/inquire_message() int i,flag=0; long num; struct STH p; p=head=readfile(); if(head=NULL) printf(”文件讀取出錯(cuò)!")
56、; getch(); else printf("請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào):n"); scanf("%ld",num);
57、0; for(i=0;in;i+) if(p->num=num)
58、; printf(”n信息已找到:n”); getch(); clrscr();
59、160; printf(”*FOUND*n"); printf(”-nn”); printf(PRINTF);
60、 printf(GESHI, pnum,pname,psex,p->birth。year,p-birth.month,p>birth.day,pxi,p-ban,p-add);
61、160; printf("n-n"); printf("*END*n”); flag=1;break;
62、 else p=p-next; &
63、#160; if(flag=0) printf(”n無(wú)此人信息!”); else printf(”n顯示完畢!按任意鍵返回主菜單。.?!保?#160;
64、160; getch(); /顯示模塊/output_message() int i=0; struct STHp; p=head=readfile(); if(head=NULL) printf(”文件讀取出錯(cuò)!”);
65、60; getch(); else clrscr(); printf(”n*STUDENT*n”); printf(”-n"); printf
66、(PRINTF); while(in) printf(GESHI, p
67、num,pname,p->sex,p-birth.year,p>birth。month,p->birth.day,p-xi,pban,padd); p=pnext; i+;
68、 printf(”-n”); printf(”*END*n”); printf("n顯示完畢!n共d條信息。n按任意鍵返回主菜單.。.?!?n); getch(); /存檔模塊/save_message() FILE fp;
69、60; int i; struct STH*p; p=head; if(fp=fopen(”STH。txt","w”)=NULL) printf(”讀文件錯(cuò)誤!!”); exit(0);
70、60; fprintf(fp,”%d",n); fprintf(fp,"c”,'/);
71、60; /注意要該/ for(i=0;in;i+) fprintf(fp,”ld s s %d d %d s %s s ”,
72、60; p->num,pname,p-sex,pbirth。year,p>birth。month,p>birth。day,p>xi,p->ban,padd); p=pnext; fclose(fp); printf("n信
73、息已經(jīng)保存在STH。txt文件中!"); getch(); /主函數(shù)*/void main(void) int choice; char ch; FILE *fp; struct date d; getdate(&d); if((fp=fopen("STH。txt”,"r”)=NUL
74、L) fp=fopen("STH。txt”,”w”); fprintf(fp,”d”,0); fclose(fp); else &
75、#160; fscanf(fp,”d”,n); fclose(fp); clrscr(); printf(”制作人:通工0501 李藝凡”); printf("nnn"); printf("
76、60; * n”); printf(” 歡迎進(jìn)入學(xué)生戶籍系統(tǒng)
77、 nn"); printf(” 1 創(chuàng)建記錄n"); printf("
78、0; 2 添加記錄n"); printf(” 3 查找記錄n”); printf(” &
79、#160; 4 刪除記錄n”); printf(" 5 修改記錄n"); printf(”
80、; 6 顯示全部信息n"); printf(" 0 退出程序n”);
81、0; printf(” * n”); printf(”
82、60; d年%d月%d日”,d.da_year,d.da_mon,d。da_day); printf(" n 請(qǐng)選擇(0-6):"); scanf(”%d”,&ch
83、oice); if(n=0) /記錄為空時(shí)不讓其進(jìn)行其他操作/ while(choice<0|choice>1) printf(”記錄為空,
84、無(wú)法操作此項(xiàng)!"); printf(”請(qǐng)重新輸入:(0或1)n"); scanf(”d",choice); else
85、60; while(choice0|choice6) printf(”輸入有誤!n 請(qǐng)重新輸入:n”); scanf(”d”,choice);
86、; do switch(choice) case 1:input_message();break; &
87、#160; case 2:insert_message();break; case 3:inquire_message();break; case 4:delete_message();break;
88、60; case 5:renew_message();break; case 6:output_message();break; case 0:break;
89、 printf(”n按任意鍵返回主菜單!"); getchar(); ch=y'; if(ch=Y'|ch='y) clrscr(); printf(”制作人:通工0501
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航運(yùn)行業(yè)保安工作總結(jié)
- 北京市安全管理工作總結(jié)
- 銀行工作總結(jié)團(tuán)結(jié)合作追求卓越
- 2023-2024學(xué)年北京市101中學(xué)高一(下)期中語(yǔ)文試卷
- 家具行業(yè)招聘成功案例
- 娛樂(lè)設(shè)施行業(yè)推廣計(jì)劃總結(jié)
- 醫(yī)療話務(wù)員工作總結(jié)
- 醫(yī)學(xué)美容診所前臺(tái)工作總結(jié)
- 2024年認(rèn)識(shí)安全標(biāo)志的教案
- 涼亭制定安裝協(xié)議書(shū)(2篇)
- 2025年首都機(jī)場(chǎng)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 中國(guó)珠寶市場(chǎng)發(fā)展報(bào)告(2019-2024)(中英)-中國(guó)珠寶玉石首飾行業(yè)協(xié)會(huì)
- 2024年陜西省安全員《A證》考試題庫(kù)及答案
- 2024版新能源汽車(chē)購(gòu)置補(bǔ)貼及服務(wù)保障合同3篇
- 2024-2025學(xué)年華東師大新版八年級(jí)上冊(cè)數(shù)學(xué)期末復(fù)習(xí)試卷(含詳解)
- 《praat使用入門(mén)》課件
- 醫(yī)藥銷(xiāo)售主管市場(chǎng)規(guī)劃
- 測(cè)量應(yīng)急管理方案
- 2024-2025學(xué)年深圳市初三適應(yīng)性考試模擬試卷語(yǔ)文試卷
- DB22JT 147-2015 巖土工程勘察技術(shù)規(guī)程
- 杵針療法課件
評(píng)論
0/150
提交評(píng)論