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

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論