c語言課程設(shè)計(jì)程序電子版本_第1頁
c語言課程設(shè)計(jì)程序電子版本_第2頁
c語言課程設(shè)計(jì)程序電子版本_第3頁
c語言課程設(shè)計(jì)程序電子版本_第4頁
c語言課程設(shè)計(jì)程序電子版本_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。c語言課程設(shè)計(jì)程序-#include#include#includestructs/定義一個(gè)s的結(jié)構(gòu)體charnum12;charname15;charsex15;charbirthday15;charaddress10;charposition10;charmoney10;typedefstructnode/聲明了一個(gè)structnode類型structsdata;structnode*next;/定義1個(gè)structnode類型的指針,它可以指向相應(yīng)類型的變量。Node;voidAdd(Node*s

2、tudent)/自定義函數(shù)Node*p,*r,*s;charn12;r=student;s=student-next;while(r-next!=NULL)/這個(gè)循環(huán)的作用是使r為最后一個(gè)結(jié)點(diǎn)r=r-next;/將指針置于最末尾while(1)printf(*輸入0返回主菜單!n);printf(n請你輸入學(xué)號號:);scanf(%s,n);if(strcmp(n,0)=0)break;p=(Node*)malloc(sizeof(Node);/申請sizeof(Node)大小的空間printf(n請輸入姓名:);scanf(%s,&);printf(n請輸入性別:);s

3、canf(%s,&p-data.sex);printf(n請輸入出生年月:);scanf(%s,&p-data.birthday);printf(n請輸入籍貫:);scanf(%s,&p-data.address);printf(n請輸入政治面貌:);scanf(%s,&p-data.position);printf(n請輸入家庭收入:);scanf(%s,&p-data.money);printf(提示:已經(jīng)完成一條記錄的添加。n);p-next=NULL;r-next=p;r=p;voidchange(Node*student)Node*p;charfind20;if(!student-n

4、ext)printf(n*沒有資料可以修改!n);fflush(stdin);getchar();return;printf(請輸入要修改的學(xué)號:);scanf(%s,find);p=student-next;while(p!=NULL)if(strcmp(p-data.num,find)=0)break;p=p-next;if(p!=NULL)intx;while(1)printf(完成修改請輸入0n輸入任意數(shù)再進(jìn)行修改:);scanf(%d,&x);if(x=0)break;printf(請輸入新學(xué)號(原來是%s):,p-data.num);scanf(%s,p-data.num);pri

5、ntf(請輸入新學(xué)生姓名(原來是%s):,);scanf(%s,);printf(請輸入新學(xué)生性別(原來是%s):,p-data.sex);scanf(%s,p-data.sex);printf(請輸入新出生年月(原來是%s):,p-data.birthday);scanf(%s,p-data.birthday);printf(請輸入新學(xué)生籍貫(原來是%s):,p-data.address);scanf(%s,p-data.address);printf(請輸入新政治面貌(原來是%s):,p-data.position);scanf(%s,p-dat

6、a.position);printf(請輸入新家庭收入(原來是%s):,p-data.money);scanf(%s,p-data.money);printf(n*該項(xiàng)記錄資料已經(jīng)成功修改!n);fflush(stdin);getchar();elseprintf(n*你要修改的信息不存在!n);fflush(stdin);getchar();voidDisp(Node*student)Node*p;p=student-next;if(!p)printf(n*沒有記錄可以顯示!n);getchar();return;printf(tttt顯示結(jié)果n);printf(學(xué)號學(xué)生姓名性別學(xué)生生日學(xué)生

7、籍貫政治面貌家庭收入n);while(p)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);p=p-next;getchar();getchar();voidTongji(Node*student)Node*p;intsel;intflag2=0,ha=0;charfind20;p=student-next;if(!student-next)printf(n*資料數(shù)為零!

8、n);getchar();return;printf(*n*0退出n*1按學(xué)號統(tǒng)計(jì)n*2按學(xué)生姓名統(tǒng)計(jì)n);scanf(%d,&sel);if(sel=1)printf(n輸入你要統(tǒng)計(jì)分類的學(xué)號:);scanf(%s,find);while(p)if(strcmp(p-data.num,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(學(xué)號學(xué)生姓名學(xué)生性別學(xué)生生日學(xué)生籍貫政治面貌家庭收入n);printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,,p-data.sex,p-data.

9、birthday,p-data.address,p-data.position,p-data.money);ha=flag2;elseif(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);ha=flag2;p=p-next;if(flag2)printf(n*按學(xué)生號%s統(tǒng)計(jì)分類的有%d條記錄:*nn,find,flag2);elseprintf(n按學(xué)

10、號%s統(tǒng)計(jì)的結(jié)果為0個(gè)nn,find);elseif(sel=2)printf(n輸入你要統(tǒng)計(jì)分類的學(xué)姓名:);scanf(%s,find);while(p)if(strcmp(,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(學(xué)號學(xué)生姓名學(xué)生性別學(xué)生生日政治面貌政治面貌家庭收入n);printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-d

11、ata.money);ha=flag2;elseif(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);ha=flag2;p=p-next;if(flag2)printf(nnn共查找到%d條記錄:nn,flag2);elseprintf(n按學(xué)生姓名%s統(tǒng)計(jì)分類的結(jié)果為0個(gè)nn,find);elseif(sel=0)return;fflush(stdin

12、);getchar();voidsave(Node*student)intn;Node*p;FILE*fp;/定義指向FILE類型文件的指針變量printf(需要保存文件嗎?(按1保存,按0不保存));scanf(%d,&n);if(n=1)if(student-next=NULL)printf(無記錄);elsep=student-next;if(fp=fopen(學(xué)生信息.txt,wb)=NULL)/打開輸出文件,并使fp指向此文件printf(無法打開文件n);while(p!=NULL)fprintf(fp,%s%s%s%s%s%s%s,&p-data.num,&

13、,&p-data.sex,&p-data.birthday,&p-data.address,&p-data.position,&p-data.money);p=p-next;fclose(fp);/關(guān)閉文件fflush(stdin);getchar();voiddismiss(Node*student)Node*p,*r;charfind20;if(!student-next)printf(n*沒有資料可以顯示!n);fflush(stdin);getchar();return;printf(n*請輸入您要刪除的學(xué)號!n);scanf(%s,find);p=student-next;while

14、(p!=NULL)if(strcmp(p-data.num,find)=0)break;p=p-next;if(!p)printf(n*找不到您想刪除的學(xué)號!n);elser=student;while(r-next!=p)r=r-next;r-next=r-next-next;/刪除節(jié)點(diǎn)getchar();voidmain()inta;Node*student;Node*p;student=(Node*)malloc(sizeof(Node);/通過malloc申請sizeof(Node)大小的一段連續(xù)內(nèi)存空間,student-next=NULL;/指向的下一個(gè)結(jié)點(diǎn)p=student;while(1)printf(n);printf(tttt學(xué)生信息管理系統(tǒng)n);printf(nt*);printf(nt1、添加記錄n);printf(nt2、修改記錄n);printf(nt3、瀏覽記錄n);printf(nt4、分類查找記錄n);printf(nt5、刪除記錄n);printf(nt0、退出n);printf(nn輸入序號:);scanf(%d,&a);switch(a)/選擇結(jié)構(gòu)case0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論