版權(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#include malloc 。h#include string 。h include stdlib.h define null 0 #define len sizeof(struct student )struct student char name 20; long int num; char sex 4;int age; char address30 ;double tele_num;char aihao20; struct student next; ;/定義一個(gè)結(jié)構(gòu)題int total_num = 0;/學(xué)生總數(shù)struct student *he
2、ad = null; void welcome (); /歡迎界面void mainmenu (); /主界面void record (); /記錄數(shù)據(jù)void insert ( struct student *stu) ; /插入數(shù)據(jù)void display (struct student *stu); /顯示一個(gè)學(xué)生的信息void displayall (); / 顯示所有學(xué)生的信息void query_by_num (); /按學(xué)號(hào)查詢(xún)學(xué)生信息void readdata (); / 讀取文件里學(xué)生的信息void writedata (); /向文件寫(xiě)入學(xué)生信息void freeall (
3、) ; /清空鏈表內(nèi)容void del () ; /刪除學(xué)生信息void change (); /更改學(xué)生信息void devise (struct student *p); /選擇更改內(nèi)容int main (void) welcome () ;/顯示主菜單mainmenu ( ); return 0 ; /顯示歡迎信息void welcome ()printf (+- - - - -+n); printf (|n” ); printf (” 歡迎使用網(wǎng)絡(luò)工程學(xué)院信息安全092班學(xué)生信息管理系統(tǒng)|n ” ); printf (| |n); printf (+- - - - -n” ); /系統(tǒng)
4、主菜單void mainmenu () int choice; choice = -1; readdata () ; printf (n 溫馨提示:為保證您的操作得到保存,請(qǐng)按正常順序退出系統(tǒng)_n ) ;do printf ( ” nnn ” ); printf ( ” ttt- - - - - -n) ;printf (” ttt+ 信息安全 092 班學(xué)生信息管理系統(tǒng)|n) ;printf (” ttt- - - - - - n” ) ;printf (ttt+ 1- 錄入學(xué)生信息n) ;printf (ttt+ 2- 瀏覽學(xué)生信息n ) ;printf (” ttt+ 3 查詢(xún)學(xué)生信息|
5、n); printf (ttt+ 4 -刪除學(xué)生信息 n” ); printf (” ttt+ 5- 修改學(xué)生信息n);printf ( ” ttt+ 0- 退出系統(tǒng)n); printf (ttt+* * * * * * * *n); printf (” ttt - - - - - -n” ); printf (” 請(qǐng)輸入您的選擇:) ;scanf ( ” %d , choice); switch (choice ) case 0: writedata () ;freeall () ; exit (0); case 1: record () ; break; case 2 :displayal
6、l (); break ;case 3: query_by_num (); break; case 4 :del ( ) ;break ;case 5 :change () ; break; default :printf (” n 無(wú)效選項(xiàng) !” ); break; while (choice != 0); /錄入學(xué)生信息void record ()struct student *p0;p0 = (struct student *) malloc(len ) ;printf (” 請(qǐng)輸入學(xué)生的姓名:” ) ; scanf (%s,p0 name ) ;printf (” 請(qǐng)輸入學(xué)生的學(xué)號(hào):”
7、 ) ; scanf ( ” %ld” , p0num) ;printf ( ” 請(qǐng)輸入學(xué)生的性別:) ;scanf (%s,p0-sex ); printf (” 請(qǐng)輸入學(xué)生的年齡:); scanf ( ” d” ,p0-age) ;printf (” 請(qǐng)輸入學(xué)生的地址:) ; scanf ( ” s,p0- address) ;printf (” 請(qǐng)輸入學(xué)生的電話:); scanf ( lf” ,&p0-tele_num); printf (” 請(qǐng)輸入學(xué)生的愛(ài)好:” );scanf ( s,p0- aihao) ;insert (p0);printf ( ” 該學(xué)生的信息為:n”
8、);printf (- - - - - - - - - - - -n); printf (姓名 t 學(xué)號(hào) tt 年齡 t 性別 t 地址 tt 電話 tt 愛(ài)好 n” ); display (p0); void insert (struct student stu) struct student p0, *p1 , p2;p1 = head; p0 = stu; if (head = null) head = p0 ;p0-next = null; else while ((p0num p1num) (p1-next != null) p2 = p1; p1 = p1 next; if (p0
9、num num) if (head = p1) head = p0 ;else p2next = p0 ;p0next = p1 ; else p1 next = p0 ;p0 next = null; total_num+; void display (struct student *p) printf (” st%ldt dt%st stt%.0ft%sn ” , pname, p num, p age , p- sex ,p-address, p tele_num , p-aihao); /瀏覽學(xué)生信息void displayall ()struct student *p;printf
10、( 學(xué)生總數(shù): dn” , total_num ) ; p = head ;if (head != null) printf(n 姓名 t 學(xué)號(hào) tt 年齡 t 性別 t 地址 tt 電話 tt 愛(ài)好 n” );printf(- - - - - - - - - - - - -n);do display (p); p = p next ; while(p != null); printf (n) ; /按學(xué)號(hào)查詢(xún)學(xué)生信息void query_by_num () int num ;struct student p1;printf ( ” 請(qǐng)輸入學(xué)生的學(xué)號(hào):); scanf( ld, &nu
11、m); if(head=null)printf (無(wú)學(xué)生記錄! n) ;return ;p1 = head ;while (num!=p1-num p1 next !=null )p1 = p1- next ;if (num = p1-num) printf ( ” 姓名 t 學(xué)號(hào) tt 年齡 t 性別 t 地址 tt 電話 tt 愛(ài)好 n” ); printf (- - - - - - - - - - - n) ;display (p1 ); else printf ( ” 沒(méi)有該學(xué)生記錄,請(qǐng)核對(duì)! ” ); /寫(xiě)入文件void writedata ()file fp;/文件指針struct
12、 student p; fp = fopen(1.txt” , ” w);if (!fp) printf (” 文件打開(kāi)錯(cuò)誤 !); return ; fprintf (fp,dn, total_num ); for(p = head ; p!= null; p= pnext) fprintf(fp,” st%ldt%st%dtst%.0ft%sn ” , pname, p- num , psex, p-age, p address , p-tele_num , p-aihao ); fclose (fp); void freeall () struct student *p1, *p2; p
13、1 = p2=head; while ( p1) p2=p1-next ;free (p1) ;p1 = p2 ; /讀取文件void readdata () file fp;/文件指針struct student p1, *p2 ;fp = fopen (1。txt, r ” ); if (!fp) printf (” 文件打開(kāi)錯(cuò)誤!); return ;fscanf (fp,” %dn, &total_num);head = p1 = p2 = (struct student *)malloc(len ); fscanf (fp,%st%ldt stdt%st%lft sn” ,
14、p1 name , p1-num, p1- sex ,&p1 age, p1 address, &p1- tele_num , p1 aihao) ;while( !feof (fp))p1 = (struct student ) malloc(len ); fscanf(fp,%st%ldt st dt st lft%sn ” ,p1name, &p1- num, p1 sex, &p1- age, p1-address, p1tele_num, p1-aihao ); p2- next = p1 ;p2 = p1 ; p2- next = null ;fcl
15、ose(fp); /刪除學(xué)生信息void del ()struct student *p1, *p2; long int num ;if (head = null) printf (” 無(wú)學(xué)生記錄!n);return; printf( 請(qǐng)輸入您要?jiǎng)h除的學(xué)生的學(xué)號(hào):);scanf( ” %ld ” , &num ) ;p1 = head; while (num != p1 num & p1- next != null) p2 = p1 ;p1 = p1-next;if( num = p1-num) if(p1 = head )head = p1 next; else p2 nex
16、t = p1 next ;free(p1 ); total_num -; else printf ( 沒(méi)有該學(xué)生記錄,請(qǐng)核對(duì)!n” ); /修改學(xué)生信息void change () struct student p1, p2; long int num ;if (head = null)printf (無(wú)學(xué)生記錄!n” ) ; return; printf ( 請(qǐng)輸入您要修改的學(xué)生的學(xué)號(hào):);scanf (ld” , &num); p1 = head; while (num != p1 num & p1next != null )p2 = p1 ;p1 = p1 next ;
17、if( num = p1- num)devise (p1); else printf( 沒(méi)有該學(xué)生記錄,請(qǐng)核對(duì)!n) ;void devise (struct student p)int choice ;choice = -1 ;do printf ( ” 請(qǐng)選擇您要修改的學(xué)生的信息內(nèi)容:n” );printf( ” +- - - -+n” ) ;printf( ” | 姓名請(qǐng)按1 |n ) ;printf ( | 學(xué)號(hào)請(qǐng)按2 |n) ;printf( 性別請(qǐng)按 3 |n ) ;printf (” | 年齡請(qǐng)按4 |n ” );printf ( 地址請(qǐng)按5 |n); printf( 電話請(qǐng)按
18、6 n” ); printf( 愛(ài)好請(qǐng)按7 n);printf (| 取消請(qǐng)按0 |n ); printf ( ” + - - -+n) ;printf ( ” 請(qǐng)輸入您的選擇:); scanf (d” , choice) ;switch (choice )case 0: return; case 1: printf (請(qǐng)輸入新姓名:); scanf( ” s” , pname ) ; break ;case 2 :printf( 請(qǐng)輸入新學(xué)號(hào):” ) ;scanf( ” %d, pnum) ;break ;case 3 :printf (” 請(qǐng)輸入新性別:” ) ;scanf ( ” %s, p sex ) ;break ;case 4: print
溫馨提示
- 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íng)業(yè)稅課件》課件
- 《統(tǒng)計(jì)調(diào)查技能模塊》課件
- 《認(rèn)識(shí)寶島臺(tái)灣》課件
- 《王老吉的市場(chǎng)營(yíng)銷(xiāo)》課件
- 《網(wǎng)頁(yè)設(shè)計(jì)與鑒賞》課件
- 2025年中考語(yǔ)文文言文總復(fù)習(xí)-教師版-專(zhuān)題01:文言文閱讀之理解實(shí)詞含義(講義)
- 鞋業(yè)生產(chǎn)線采購(gòu)招標(biāo)合同三篇
- 教育機(jī)構(gòu)話務(wù)員工作總結(jié)
- 藥品醫(yī)療器械銷(xiāo)售心得分享
- 兒童感染科護(hù)理工作總結(jié)
- 理解詞語(yǔ)句子的方法PPT
- 作文開(kāi)頭與結(jié)尾PPT課件ppt(共42張PPT)
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)提高消毒棉簽開(kāi)啟時(shí)間標(biāo)注的執(zhí)行率品管圈成果匯報(bào)
- 云南面向東南亞、南亞區(qū)域物流系統(tǒng)優(yōu)化研究的開(kāi)題報(bào)告
- 高效課堂教學(xué)流程和課堂常規(guī)公開(kāi)課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 《新媒體營(yíng)銷(xiāo)與策劃》考試復(fù)習(xí)題庫(kù)(含答案)
- 浙江寧波廣播電視集團(tuán)發(fā)射中心招考聘用筆試參考題庫(kù)答案解析
- 2024年航天知識(shí)總結(jié)
- 公立醫(yī)院章程范本(中國(guó)醫(yī)院協(xié)會(huì)2019版)
- 江蘇小高考(物理化學(xué)生物)真題及答案
- 垃圾開(kāi)挖清運(yùn)方案
評(píng)論
0/150
提交評(píng)論