學生成績管理系統(tǒng)代碼c語言編寫_第1頁
學生成績管理系統(tǒng)代碼c語言編寫_第2頁
學生成績管理系統(tǒng)代碼c語言編寫_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學生管理系統(tǒng)/* Note:Your choice is C IDE */#include "stdio.h"#include "stdlib.h"#include "string.h" typedef struct student / 定義學生char name10;int number;char sex2;int math;int eglish;int clanguge;int average; student;typedef struct unit / 定義接點student date; struct unit * next;

2、unit;unit * build() / 建立鏈表并返回指針unit *p;if (p =(unit * )malloc( sizeof (unit) =NULL) printf( "=>初始化失??! ");return 0;else p-> next =NULL;p-> date . number=0; / 頭結(jié)點存放學生人數(shù) printf( " 初始化成功! n" );return p;void add(unit * head) / 增加學生unit *p,*q;int m,n =0; q=head-> next;p=(un

3、it * )malloc( sizeof (unit); printf( "=> 請輸入新生姓名! n" );gets(p -> date . name);fflush(stdin);printf( "=> 請輸入學號! n" );while (n =0)scanf( "%d", &m);fflush(stdin);if (q =NULL) n=1;while (q)if (q -> date . number=m)n" );printf( "=> 你輸入的學號與已有同學的學號

4、相同,請重新輸入! q =head-> next;break ;elseq =q-> next;if (q =NULL) n=1;p-> date . number=m;printf( "=>請輸入性別! n" );gets(p -> date . sex);fflush(stdin);printf( "=> 請輸入數(shù)學成績 n" ); scanf( "%d", &m);fflush(stdin);p-> date . math=m;printf( "=> 請輸入英語成

5、績 n" );scanf( "%d", &m);fflush(stdin);p-> date . eglish =m;printf("=>請輸入c語言成績 n" );scanf( "%d", &m);fflush(stdin); p-> date . clanguge =m;p-> date . average =(p -> date . math+p-> date . eglish +p-> date . clanguge); q=head-> next;he

6、ad-> next =p;p-> next =q;head-> date . number+;void deletion(unit* head) / 刪除一名學生unit * p=head-> next, * q=head;char N10;printf( "=> 請輸入你想刪除的學生姓名! n" ); gets(N);fflush(stdin);if (p =NULL)printf( "=> 系統(tǒng)無學生可刪除! n" );while (p)if (strcmp(p -> date . name,N)=0)q-&

7、gt; next =p-> next;head-> date . number- ;printf( "=>刪除%s成功! n" ,p -> date . name); free(p);break ;elsep=p-> next;q=q-> next;if (p =NULL)printf( "=>你要刪除的學生不存在 , 刪除失?。?n" ); int display(unit* head) / 顯示學生信息unit * p=head-> next;int m,n =0;char N10;if (p =NUL

8、L)printf( "=> 系統(tǒng)無學生! n" );return 0;while (n =0)*n" printf( printf( 菜單 n" );printf();按學號查找 t4. 返回主"=> 請選擇你的操作! n" );"=>ttt1. 顯示所有 t2. 按姓名查找 nttt3.scanf( "%d", &m);fflush(stdin); switch (m)case 1:printf( "n=> 該系統(tǒng)擁有 %d名學生! nn" ,head

9、 -> date . number); p =head-> next;printf( "t 姓名t 學號t 性別 t 數(shù)學t 英語tc 語言t 綜合nn" );while (p) printf( "t%st%dt%st%dt%dt%dt%dn" ,p -> date . name,p-> date . number,p-> dat e. sex,p -> date . math,p-> date . eglish,p ->date . clanguge,p -> date . average); p=

10、p-> next;break ;case 2:printf( "=> 請輸入查找姓名! n" );gets(N);fflush(stdin);p =head-> next;while (p)if (strcmp(p -> date . name,N)=0)printf( "t 姓名t 學號t 性別t 數(shù)學 t 英語 tc 語言 t 綜合n" );printf( "t%st%dt%st%dt%dt%dt%dn" ,p -> date . name,p-> date . number,p-> da

11、t e. sex,p -> date . math,p-> date . eglish,p ->date . clanguge,p -> date . average); break ;elsep=p-> next;if (p =NULL)printf( "=>你要查的學生不存在! ");break ;case 3: printf("=> 請輸入查找學號! n" );scanf( "%d", &m);fflush(stdin);p =head-> next;while (p)if

12、 (p -> date . number=m)printf( "t 姓名t 學號t 性別t 數(shù)學 t 英語 tc 語言 t 綜合n" );printf( "t%st%dt%st%dt%dt%dt%dn" ,p -> date . name,p-> date . number,p-> dat e. sex,p -> date . math,p-> date . eglish,p ->date . clanguge,p -> date . average);break ; elsep=p-> next;i

13、f (p =NULL)printf( "=> 你要查的學生不存在! n" ); break ;case 4:n =1; break ;return 1;int range(unit * head) / 排序unit * p=head, * q=head-> next; int n,i,m =head-> date . number;printf();*n"printf( "ttt1. 按學號 t2. 按成績 nn" ); printf( "=>請選擇操作! n ");scanf( "%d&q

14、uot;, &n);fflush(stdin);if (q =NULL) printf( "=> 無學生可排序! n" );return 0;switch (n)case 2: for (i =0;i <m;i +)/ 按總分排序 p=head;q =head-> next;while (q -> next) if (q -> date . average) <(q -> next ->date . average) p-> next =q-> next;p=p-> next; q-> next

15、 =p-> next;p-> next =q; elsep=p-> next;q =q-> next; break ;case 1: for (i =0;i <=m;i +)/ 按學號排序 p=head;q =head-> next; while (q -> next) if (q -> date . number)>(q -> next -> date . number) p-> next =q-> next; p=p-> next;q-> next =p-> next; p-> next

16、=q; else p=p-> next;q =q-> next;printf( returnvoid menu()printf( "n *n""=排序成功! n" ); 1; break ;主菜單);printf(nttt5.printf("ttt1. 新建系統(tǒng) t2. 添加學生 nttt3.刪除學生 t4. 查看信息排列順序 t6. 讀取信息 nttt7. 保存信息 t8. 退出系統(tǒng) n" ); "=請選擇你的操作! n" ); intsave(unit * head) / 保存FILE *fp;un

17、it *p;學生" , "wb+" ) =NULL)p =head;if (fp =fopen(printf( "=>保存失?。?"); return 0;while (p) fwrite( &(p -> date), sizeof (student),1,fp); p =p-> next;printf( "=>保存成功! "); fclose(fp);return 1;unit * read() / 讀入系統(tǒng)學生信息int i;unit *p,*q, * head;FILE *fp;if (

18、head =(unit * )malloc( sizeof (unit) =NULL) printf( "=>開辟空間失敗! ");exit(1);elsehead-> next =NULL;head-> date . number=0; / 頭結(jié)點存放學生人數(shù) q=head;if (fp =fopen(學生", "rb" ) =NULL) printf( "=> 系統(tǒng)無學生! n" ); return 0;fread( &(q -> date), sizeof (student),1,

19、fp);for (i =0;i <head-> date . number;i +) if (p =(unit * )malloc( sizeof (unit) =NULL) printf( "=>讀值失??! ");exit(1);fread( &(p -> date), sizeof (student),1,fp); p -> next =q-> next;q -> next =p; fclose(fp); return head;void main()int m=0,n, i;unithead;printf(*nn);printf( "ttt* 歡迎使用學生成績管理系統(tǒng) * n" ); printf( &qu

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論