c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)以及基本信息系統(tǒng)_第1頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)以及基本信息系統(tǒng)_第2頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)以及基本信息系統(tǒng)_第3頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)以及基本信息系統(tǒng)_第4頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)以及基本信息系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、#include #include #include struct student long num; char name12; char phone11; char city12; char postal6; struct student *next ; ;long num1,numm;char name112,namee12,phone111,city112,cityy12,postal16; typedef struct student *stu;FILE *fp;int n,i=0,w;char ch;int code () long a; printf(tt請(qǐng)輸入密碼:(你還有2次機(jī)

2、會(huì))); scanf(%d,&a); if(a=123) printf(輕敲任意鍵繼續(xù));getch(); return 1; else printf(tt請(qǐng)重新輸入密碼:(還有1次機(jī)會(huì))); scanf(%d,&a); if(a=123) printf(輕敲回車(chē)鍵繼續(xù)); return 1; else return 0; int menu() printf(+-請(qǐng)選擇:-+n); printf(+-1.錄入個(gè)人通訊信息:-+n); printf(+-2.查找個(gè)人通訊信息:-+n); printf(+-3.刪除個(gè)人通訊信息:-+n); printf(+-4.更改個(gè)人通訊信息:-+n); pri

3、ntf(+-5.添加個(gè)人通訊信息:-+n); printf(+-6.顯示功能:+n); printf(+-7.將已寫(xiě)的數(shù)據(jù)存入文件中-+n); printf(+-8.讀出已經(jīng)存儲(chǔ)的文件信息-+n); printf(+-0.退出客戶(hù)端-+n); scanf(%s,&ch); return ch; /第1個(gè)功能的實(shí)現(xiàn): struct student *p() struct student *head,*p1,*p2; n=0; p1=p2=(stu)malloc(sizeof(struct student ); head=NULL; system(cls); printf(以學(xué)號(hào)為000結(jié)束。n)

4、; while(1) printf(請(qǐng)輸入學(xué)生的基本信息:學(xué)號(hào)、姓名、電話(huà)、城市、郵編n); scanf(%d,&p1-num); if(p1-num=000) break; scanf(%s %s %s %s,p1-name,p1-phone,p1-city,p1-postal); n=n+1; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(stu)malloc(sizeof(struct student ); p2-next=NULL; return (head);/第2個(gè)查找的功能的實(shí)現(xiàn): void s(stu head);void s1(st

5、u head)/1、用學(xué)號(hào)來(lái)查找信息。 stu p1; int j=0; p1=(stu)malloc(sizeof(struct student ); printf(請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):n); scanf(%ld,&num1); p1=head; while(p1!=NULL) if(p1-num=num1) j=1; printf(學(xué)號(hào):%d 姓名:%s 電話(huà):%s 城市:%s 郵編:%sn,p1-num,p1-name,p1-phone,p1-city,p1-postal); break;p1=p1-next; if(j=0)printf(沒(méi)有找到你要查找學(xué)生的信息。n); else

6、printf(這是你要查找學(xué)生的信息:n); system(pause); s(head); void s2(stu head) stu p1; int j=0; p1=(stu)malloc(sizeof(struct student); printf(請(qǐng)輸入要查找學(xué)生的姓名:n); scanf(%s,name1); p1=head; while(p1!=NULL) if(strcmp(p1-name,name1)=0) j=1; printf(學(xué)號(hào):%d 姓名:%s 電話(huà):%s 城市:%s 郵編:%sn,p1-num,p1-name,p1-phone,p1-city,p1-postal);

7、p1=p1-next; if(j=0)printf(sorry 沒(méi)有找到你要查找學(xué)生的信息。n); elseprintf(你看,這是你想要的信息嗎?n); system(pause); s(head); void s3(stu head) stu p1; int j=0; p1=(stu)malloc(sizeof(struct student ); printf(請(qǐng)輸入要查找學(xué)生的城市:n); scanf(%s,city1); p1=head; while(p1!=NULL) if(strcmp(p1-city,city1)=0) j=1;printf(學(xué)號(hào):%d 姓名:%s 電話(huà):%s 城

8、市:%s 郵編:%sn,p1-num,p1-name,p1-phone,p1-city,p1-postal); p1=p1-next; if(j=0) printf(sorry 沒(méi)有找到你要查找學(xué)生的信息n); else printf(這是你要查找學(xué)生的信息嗎?n); system(pause); s(head); void s(stu head) system(cls); printf(*請(qǐng)輸入你想查找的方式*n); printf(* 1.以學(xué)號(hào)查找 *n); printf(* 2.以姓名查找 *n); printf(* 3.以城市查找 *n); printf(* 4.返回 *n); sca

9、nf(%d,&w); switch(w) case 1:s1(head);break; case 2:s2(head);break; case 3:s3(head);break; case 4:menu();break; default:printf(你的輸入有錯(cuò),請(qǐng)重新輸入n);system(pause);s(head); /用學(xué)生學(xué)號(hào)方尺刪除:stu delet(stu head); void delete1(stu head) stu p1,p2; int j=0; p2=p1=(stu )malloc(sizeof(struct student); printf(請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)

10、:n); scanf(%d,&num1); p2=p1=head; if(head-num=num1&head!=NULL) head=head-next; free(p1); i-; j=1; else p1=head-next; if(p1!=NULL) while(p1-num!=num1) p2=p1; p1=p1-next; p2-next=p1-next; free(p1); i-; j=1; if(j=0) printf(此通訊信息不存在,刪除的失敗!n); else printf(刪除成功!n); system(pause); delet(head);/*用學(xué)生姓名的方尺查找*

11、/ void delete2(stu head)stu p1,p2;int j=0; printf(請(qǐng)輸入要?jiǎng)h除學(xué)生的姓名:n); scanf(%s,name1); p2=p1=head; if(head!=NULL&(strcmp(head-name,name1)=0) head=head-next; free(p1); i-; j=1; else p1=head-next; if (p1!=NULL) while(p1!=NULL&(strcmp(p1-name,name1)!=0) p2=p1; p1=p1-next; p2-next=p1-next; free(p1); j=1; i-

12、; if(j=0) printf(此學(xué)生不存在,刪除的失敗!n);elseprintf(刪除成功!n); system(pause); delet(head); stu delet(stu head) system(cls); printf(*請(qǐng)輸入你想刪除的方式*n); printf(* 1.以學(xué)號(hào)查找 *n); printf(* 2.以姓名查找 *n); printf(* 3.返回 *n); scanf(%d,&w); switch(w) case 1:delete1(head);break; case 2:delete2(head);break; case 3:menu();return

13、 head; default:printf(你的輸入有錯(cuò),請(qǐng)重新輸入n);system(pause);delet(head); /*實(shí)現(xiàn)第5個(gè)功能,添加信息功能。 */ stu add(stu head); /1、按學(xué)號(hào)添加 void add1(stu head) struct student *p1,*p,*p2; int j=0; p1=p2=(stu )malloc(sizeof(struct student ); p=(stu )malloc(sizeof(struct student ); printf(請(qǐng)輸入你要添加學(xué)生的位置:n); printf(如果想放在頭,請(qǐng)輸入0, 否則請(qǐng)

14、輸入要添加前一個(gè)學(xué)生的學(xué)號(hào):n); scanf(%d,&numm); printf(請(qǐng)輸入要添加學(xué)生的信息:n); scanf(%d %s %s %s %s,&num1,name1,phone1,city1,postal1); if(numm=0) p1=head; p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1); strcpy(p-postal,postal1); head=p; p-next=p1; i+; j=1; else p1=head; p2=p1-next; if(p1!

15、=NULL) while(p1-num!=numm) p1=p2; p2=p1-next; p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1); strcpy(p-postal,postal1); p1-next=p; p-next=p2; i+; j=1; if(j=0) printf(你要添加的位置不存在,添加失敗!n);else printf(添加成功!n); system(pause); add(head); /2、按姓名(適用于按姓名字母排序)void add2(stu head

16、) struct student *p1,*p,*p2; int j=0; p1=p2=(stu )malloc(sizeof(struct student ); p=(stu )malloc(sizeof(struct student ); printf(請(qǐng)輸入你要添加學(xué)生的位置:n); printf(如果想放在頭,請(qǐng)輸入h, 否則請(qǐng)輸入要添加前一個(gè)學(xué)生的姓名:n); scanf(%s,namee); printf(請(qǐng)輸入要添加學(xué)生的信息:n); scanf(%d%s%s%s%s,&num1,name1,phone1,city1,postal1); if(namee0=h) p1=head;

17、 p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1); strcpy(p-postal,postal1); head=p; p-next=p1; i+; j=1; else p1=head; p2=p1-next;if(p1!=NULL)while(strcmp(p1-name,namee)!=0) p1=p2; p2=p1-next; p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1

18、); strcpy(p-postal,postal1); p1-next=p; p-next=p2; i+; j=1; if(j=0) printf(你要添加的位置不存在,添加失敗!n); else printf(添加成功!n); system(pause); add(head); /3、按城市void add3(stu head) struct student *p1,*p,*p2; int j=0; p1=p2=(stu )malloc(sizeof(struct student ); p=(stu )malloc(sizeof(struct student ); printf(請(qǐng)輸入你要

19、添加學(xué)生的位置:n); printf(如果想放在頭,請(qǐng)輸入h, 否則請(qǐng)輸入要添加前一個(gè)學(xué)生的城市:n); scanf(%s,cityy); printf(請(qǐng)輸入要添加學(xué)生的信息:n); scanf(%d%s%s%s%s,&num1,name1,phone1,city1,postal1); if(cityy0=h) p1=head; p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1); strcpy(p-postal,postal1); head=p; p-next=p1; i+; j=1;

20、 else p1=head; p2=p1-next;if(p1!=NULL)while(strcmp(p1-city,cityy)!=0) p1=p2; p2=p1-next; p-num=num1; strcpy(p-name,name1); strcpy(p-phone,phone1); strcpy(p-city,city1); strcpy(p-postal,postal1); p1-next=p; p-next=p2; i+; j=1; if(j=0)printf(你要添加的位置不存在,你的操作失敗!n); elseprintf(恭喜你,添加成功!n); system(pause);

21、 add(head); stu add(stu head) system(cls); printf(*請(qǐng)輸入你想添加的方式*n); printf(* 1.以學(xué)號(hào)添加 *n); printf(* 2.以姓名添加 *n); printf(* 3.以城市添加 *n); printf(* 4.返回 *n); scanf(%d,&w); switch(w) case 1:add1(head);break; case 2:add2(head);break; case 3:add3(head);break; case 4:menu();return head; default:printf(選擇有錯(cuò),請(qǐng)重新

22、選擇n);system(pause);add(head); /更改內(nèi)容:/學(xué)號(hào)更改;/以姓名更改;stu modify(stu head);void modify1(stu head) struct student *p1; int j=0; p1=(stu )malloc(sizeof(struct student ); printf(請(qǐng)輸入你要更改學(xué)生的學(xué)號(hào):n); scanf(%d,&numm); printf(請(qǐng)輸入要更改學(xué)生的信息:n); scanf(%d%s%s%s%s,&num1,name1,phone1,city1,postal1); p1=head; if(head-num=

23、numm) head-num=num1; strcpy(head-name,name1); strcpy(head-phone,phone1); strcpy(head-city,city1); strcpy(head-postal,postal1); j=1; else p1=head-next; if(p1!=NULL) while(p1-num!=numm) p1=p1-next; p1-num=num1; strcpy(p1-name,name1); strcpy(p1-phone,phone1); strcpy(p1-city,city1); strcpy(p1-postal,pos

24、tal1); j=1; if(j=0) printf(沒(méi)有找到你要更改的學(xué)生,更改失??!n);else printf(更改成功!n);system(pause); modify(head); void modify2(stu head) struct student *p1; int j=0; p1=(stu )malloc(sizeof(struct student ); printf(請(qǐng)輸入你要更改學(xué)生的姓名:n); scanf(%s,namee); printf(請(qǐng)輸入要更改學(xué)生的信息:n); scanf(%d%s%s%s%s,&num1,name1,phone1,city1,posta

25、l1); p1=head; if(strcmp(head-name,namee)=0) head-num=num1; strcpy(head-name,name1); strcpy(head-phone,phone1); strcpy(head-city,city1); strcpy(head-postal,postal1); j=1; else p1=head-next; if(p1!=NULL) while(strcmp(p1-name,namee)!=0) p1=p1-next; p1-num=num1; strcpy(p1-name,name1); strcpy(p1-phone,ph

26、one1); strcpy(p1-city,city1); strcpy(p1-postal,postal1); j=1; if(j=0) printf(沒(méi)有找到你要更改的學(xué)生,更改失??!n);else printf(更改成功!n);system(pause); modify(head); stu modify(stu head) system(cls); printf(*請(qǐng)輸入你想更改的方式*n); printf(* 1.以學(xué)號(hào)更改 *n); printf(* 2.以姓名更改 *n); printf(* 3.返回 *n); scanf(%d,&w); switch(w) case 1:mod

27、ify1(head);break; case 2:modify2(head);break; case 3:menu();return head; default:printf(選擇有錯(cuò),請(qǐng)重新選擇n);system(pause);modify(head); void display(stu head) stu p; printf(n這里有%d個(gè)學(xué)生的信息:n,n+i); p=head; while(p!=NULL) printf(%d %s %s %s %sn,p-num,p-name,p-phone,p-city,p-postal); p=p-next; void write_file(stu p)/6.保存信息,寫(xiě)入文件 FILE *fp= fopen(王欣欣.txt,wb);/b system(cls);while(p) fwrite(p,sizeof(struct student),1,fp);/把p指向的內(nèi)存中的東西復(fù)制到磁盤(pán)里

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論