亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 學(xué)生成績(jī)管理程序鏈表.txt

?? 學(xué)生成績(jī)管理系統(tǒng)
?? TXT
字號(hào):
學(xué)生成績(jī)管理程序(鏈表)--作者:慕容飛雪  
 
#include "stdio.h" 
#include "stdlib.h" 
#include "string.h" 
int shoudsave=0; // 
struct student 
{ 
char num[10];//學(xué)號(hào) 
char name[20]; 
char sex[4]; 
int cgrade; 
int mgrade; 
int egrade; 
int totle; 
int ave; 
char neartime[10];//最近更新時(shí)間 
}; 

typedef struct node 
{ 
struct student data; 
struct node *next; 
}Node,*Link; 

void menu() 
{ 
printf("********************************************************************************"); 
printf("\t1輸入學(xué)生資料\t\t\t\t\t2刪除學(xué)生資料\n"); 
printf("\t3查詢學(xué)生資料\t\t\t\t\t4修改學(xué)生資料\n"); 
printf("\t5顯示學(xué)生資料\t\t\t\t\t6統(tǒng)計(jì)學(xué)生成績(jī)\n"); 
printf("\t7排序?qū)W生成績(jī)\t\t\t\t\t8保存學(xué)生資料\n"); 
printf("\t9獲取幫助信息\t\t\t\t\t0退出系統(tǒng)\n"); 
printf("********************************************************************************\n"); 
} 

void printstart() 
{ 
printf("-----------------------------------------------------------------------\n"); 
} 
void Wrong() 
{ 
printf("\n=====>提示:輸入錯(cuò)誤!\n"); 
} 

void Nofind() 
{ 
printf("\n=====>提示:沒(méi)有找到該學(xué)生!\n"); 
} 

void printc() // 本函數(shù)用于輸出中文 
{ 
printf(" 學(xué)號(hào)\t  姓名   性別 英語(yǔ)成績(jī) 數(shù)學(xué)成績(jī) C語(yǔ)言成績(jī)  總分 平均分\n"); 
} 

void printe(Node *p)//本函數(shù)用于輸出英文 
{ 
printf("%-12s%s\t%s\t%d\t%d\t%d\t  %d\t %d\n",p->data.num,p->data.name,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave); 
} 

Node* Locate(Link l,char findmess[],char nameornum[]) //該函數(shù)用于定位連表中符合要求的接點(diǎn),并返回該指針 
{ 
Node *r; 
if(strcmp(nameornum,"num")==0) //按學(xué)號(hào)查詢 
{ 
 r=l->next; 
 while(r!=NULL) 
 { 
  if(strcmp(r->data.num,findmess)==0) 
  return r; 
  r=r->next; 
 } 
} 
else if(strcmp(nameornum,"name")==0) //按姓名查詢 
{ 
 r=l->next; 
 while(r!=NULL) 
 { 
  if(strcmp(r->data.name,findmess)==0) 
  return r; 
  r=r->next; 
 } 
} 
return 0; 
} 

void Add(Link l) //增加學(xué)生 
{ 
Node *p,*r,*s; 
char num[10]; 
r=l; 
s=l->next; 
while(r->next!=NULL) 
 r=r->next; //將指針置于最末尾 
while(1) 
{ 
 printf("請(qǐng)你輸入學(xué)號(hào)(以'0'返回上一級(jí)菜單:)"); 
 scanf("%s",num); 
 if(strcmp(num,"0")==0) 
  break; 
 while(s) 
 { 
  if(strcmp(s->data.num,num)==0) 
  { 
  printf("=====>提示:學(xué)號(hào)為'%s'的學(xué)生已經(jīng)存在,若要修改請(qǐng)你選擇'4 修改'!\n",num); 
  printstart(); 
  printc(); 
  printe(s); 
  printstart(); 
  printf("\n"); 
  return; 
  } 
  s=s->next; 
 } 
  
 p=(Node *)malloc(sizeof(Node)); 
  
 strcpy(p->data.num,num); 
 printf("請(qǐng)你輸入姓名:"); 
 scanf("%s",p->data.name); 
 getchar(); 
 printf("請(qǐng)你輸入性別:"); 
 scanf("%s",p->data.sex); 
 getchar(); 
 printf("請(qǐng)你輸入c語(yǔ)言成績(jī):"); 
 scanf("%d",&p->data.cgrade); 
 getchar(); 
 printf("請(qǐng)你輸入數(shù)學(xué)成績(jī):"); 
 scanf("%d",&p->data.mgrade); 
 getchar(); 
 printf("請(qǐng)你輸入英語(yǔ)成績(jī):"); 
 scanf("%d",&p->data.egrade); 
 getchar(); 
 p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; 
 p->data.ave=p->data.totle / 3; 
 //信息輸入已經(jīng)完成 
 p->next=NULL; 
 r->next=p; 
 r=p; 
 shoudsave=1; 
  
} 
} 

void Qur(Link l) //查詢學(xué)生 
{ 
int sel; 
char findmess[20]; 
Node *p; 

  if(!l->next) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以查詢!\n"); 
 return; 
} 
printf("\n=====>1按學(xué)號(hào)查找\n=====>2按姓名查找\n"); 
scanf("%d",&sel); 
if(sel==1)//學(xué)號(hào) 
{ 
 printf("請(qǐng)你輸入要查找的學(xué)號(hào):"); 
 scanf("%s",findmess); 
 p=Locate(l,findmess,"num"); 
 if(p) 
 { 
  printf("\t\t\t\t查找結(jié)果\n"); 
  printstart(); 
  printc(); 
  printe(p); 
  printstart(); 
 } 
 else 
  Nofind(); 
} 
else if(sel==2) //姓名 
{ 
 printf("請(qǐng)你輸入要查找的姓名:"); 
 scanf("%s",findmess); 
 p=Locate(l,findmess,"name"); 
 if(p) 
 { 
  printf("\t\t\t\t查找結(jié)果\n"); 
  printstart(); 
  printc(); 
  printe(p); 
  printstart(); 
 } 
 else 
  Nofind(); 
} 
else 
 Wrong(); 
  
} 

void Del(Link l) //刪除 
{ 
int sel; 
Node *p,*r; 
char findmess[20]; 
if(!l->next) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以刪除!\n"); 
 return; 
} 
printf("\n=====>1按學(xué)號(hào)刪除\n=====>2按姓名刪除\n"); 
scanf("%d",&sel); 
if(sel==1) 
{ 
 printf("請(qǐng)你輸入要?jiǎng)h除的學(xué)號(hào):"); 
 scanf("%s",findmess); 
 p=Locate(l,findmess,"num"); 
 if(p) 
 { 
  r=l; 
  while(r->next!=p) 
  r=r->next; 
  r->next=p->next; 
  free(p); 
  printf("\n=====>提示:該學(xué)生已經(jīng)成功刪除!\n"); 
  shoudsave=1; 
 } 
 else 
  Nofind(); 
} 
else if(sel==2) 
{ 
 printf("請(qǐng)你輸入要?jiǎng)h除的姓名:"); 
 scanf("%s",findmess); 
 p=Locate(l,findmess,"name"); 
 if(p) 
 { 
  r=l; 
  while(r->next!=p) 
  r=r->next; 
  r->next=p->next; 
  free(p); 
  printf("\n=====>提示:該學(xué)生已經(jīng)成功刪除!\n"); 
  shoudsave=1; 
 } 
 else 
  Nofind(); 
} 
else 
 Wrong(); 
} 

void Modify(Link l) 
{ 
Node *p; 
char findmess[20]; 
if(!l->next) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以修改!\n"); 
 return; 
} 
printf("請(qǐng)你輸入要修改的學(xué)生學(xué)號(hào):"); 
scanf("%s",findmess); 
p=Locate(l,findmess,"num"); 
if(p) 
{ 
printf("請(qǐng)你輸入新學(xué)號(hào)(原來(lái)是%s):",p->data.num); 
 scanf("%s",p->data.num); 
printf("請(qǐng)你輸入新姓名(原來(lái)是%s):",p->data.name); 
 scanf("%s",p->data.name); 
 getchar(); 
 printf("請(qǐng)你輸入新性別(原來(lái)是%s):",p->data.sex); 
 scanf("%s",p->data.sex); 
 printf("請(qǐng)你輸入新的c語(yǔ)言成績(jī)(原來(lái)是%d分):",p->data.cgrade); 
 scanf("%d",&p->data.cgrade); 
 getchar(); 
 printf("請(qǐng)你輸入新的數(shù)學(xué)成績(jī)(原來(lái)是%d分):",p->data.mgrade); 
 scanf("%d",&p->data.mgrade); 
 getchar(); 
 printf("請(qǐng)你輸入新的英語(yǔ)成績(jī)(原來(lái)是%d分):",p->data.egrade); 
 scanf("%d",&p->data.egrade); 
 p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; 
 p->data.ave=p->data.totle/3; 
 printf("\n=====>提示:資料修改成功!\n"); 
 shoudsave=1; 
} 
else 
 Nofind(); 

} 

void Disp(Link l) 
{ 
int count=0; 
Node *p; 
p=l->next; 

if(!p) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以顯示!\n"); 
 return; 
} 
printf("\t\t\t\t顯示結(jié)果\n"); 
printstart(); 
printc(); 
printf("\n"); 
while(p) 
{ 
 printe(p); 
 p=p->next; 
} 
printstart(); 
printf("\n"); 
} 

void Tongji(Link l) 
{ 
Node *pm,*pe,*pc,*pt,*pa; //用于指向分?jǐn)?shù)最高的接點(diǎn) 
Node *r=l->next; 
if(!r) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以統(tǒng)計(jì)!\n"); 
 return ; 
} 
pm=pe=pc=pt=pa=r; 
while(r!=NULL) 
{ 
 if(r->data.cgrade>=pc->data.cgrade) 
  pc=r; 
 if(r->data.mgrade>=pm->data.mgrade) 
  pm=r; 
 if(r->data.egrade>=pe->data.egrade) 
  pe=r; 
 if(r->data.totle>=pt->data.totle) 
  pt=r; 
 if(r->data.ave>=pa->data.ave) 
  pa=r; 
r=r->next; 
} 
printf("------------------------------統(tǒng)計(jì)結(jié)果--------------------------------\n"); 
printf("總分最高者:\t%s %d分\n",pt->data.name,pt->data.totle); 
printf("平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave); 

  printf("英語(yǔ)最高者:\t%s %d分\n",pe->data.name,pe->data.egrade); 
printf("數(shù)學(xué)最高者:\t%s %d分\n",pm->data.name,pm->data.mgrade); 
printf("c語(yǔ)言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade); 
  printstart(); 
} 

void Sort(Link l) 
{ 
Link ll; 
Node *p,*rr,*s; 

ll=(Link)malloc(sizeof(Node)); //用于做新的連表 
ll->next=NULL; 

if(l->next==NULL) 
{ 
 printf("\n=====>提示:沒(méi)有資料可以排序!\n"); 
 return ; 
} 
p=l->next; 
while(p) 
{ 
 s=(Node*)malloc(sizeof(Node)); //新建接點(diǎn)用于保存信息 
 s->data=p->data; 
 s->next=NULL; 

 rr=ll; 
 while(rr->next!=NULL && rr->next->data.totle>=p->data.totle) 
  rr=rr->next; 
 if(rr->next==NULL) 
  rr->next=s; 
 else 
 { 
  s->next=rr->next; 
  rr->next=s; 
 } 
 p=p->next; 
} 
free(l); 
l->next=ll->next; 
printf("\n=====>提示:排序已經(jīng)完成!\n"); 
} 

void Save(Link l) 
{ 
FILE* fp; 
Node *p; 
int flag=1,count=0; 
fp=fopen("c:\\student","wb"); 
if(fp==NULL) 
{ 
 printf("\n=====>提示:重新打開(kāi)文件時(shí)發(fā)生錯(cuò)誤!\n"); 
 exit(1); 
} 
p=l->next; 

while(p) 
{ 
 if(fwrite(p,sizeof(Node),1,fp)==1) 
 {  
  p=p->next; 
  count++; 
 } 
 else 
 { 
  flag=0; 
  break; 
 } 
} 
if(flag) 
{ 
 printf("\n=====>提示:文件保存成功.(有%d條記錄已經(jīng)保存.)\n",count); 
 shoudsave=0; 
} 
fclose(fp); 
} 

void main() 
{ 
Link l;//連表 
FILE *fp; //文件指針 
int sel; 
char ch; 
char jian; 

int count=0; 
Node *p,*r; 
printf("\t\t\t\t學(xué)生成績(jī)管理系統(tǒng)\n\t\t\t\t-------01軟件學(xué)院 吳海松(200155304)\n"); 
l=(Node*)malloc(sizeof(Node)); 
l->next=NULL; 
r=l; 

fp=fopen("C:\\student","rb"); 
if(fp==NULL) 
{ 
 printf("\n=====>提示:文件還不存在,是否創(chuàng)建?(y/n)\n"); 
 scanf("%c",&jian); 
 if(jian=='y'||jian=='Y') 
 fp=fopen("C:\\student","wb"); 
 else 
 exit(0); 
} 
printf("\n=====>提示:文件已經(jīng)打開(kāi),正在導(dǎo)入記錄......\n"); 

while(!feof(fp)) 
{ 
 p=(Node*)malloc(sizeof(Node)); 
 if(fread(p,sizeof(Node),1,fp)) //將文件的內(nèi)容放入接點(diǎn)中 
 { 
  p->next=NULL; 
  r->next=p; 
  r=p; //將該接點(diǎn)掛入連中 
  count++; 
 } 
} 

fclose(fp); //關(guān)閉文件 
printf("\n=====>提示:記錄導(dǎo)入完畢,共導(dǎo)入%d條記錄.\n",count); 

while(1) 
{ 
 menu(); 
 printf("請(qǐng)你選擇操作:"); 
 scanf("%d",&sel); 

 if(sel==0) 
 { 
  if(shoudsave==1) 
  { getchar(); 
  printf("\n=====>提示:資料已經(jīng)改動(dòng),是否將改動(dòng)保存到文件中(y/n)?\n"); 
  scanf("%c",&ch); 
  if(ch=='y'||ch=='Y') 
   Save(l); 
  } 
  printf("\n=====>提示:你已經(jīng)退出系統(tǒng),再見(jiàn)!\n"); 
  break; 
 } 
 switch(sel) 
 { 
 case 1:Add(l);break; //增加學(xué)生 
 case 2:Del(l);break;//刪除學(xué)生 
 case 3:Qur(l);break;//查詢學(xué)生 
 case 4:Modify(l);break;//修改學(xué)生 
 case 5:Disp(l);break;//顯示學(xué)生 
 case 6:Tongji(l);break;//統(tǒng)計(jì)學(xué)生 
 case 7:Sort(l);break;//排序?qū)W生 
 case 8:Save(l);break;//保存學(xué)生 
 case 9:printf("\t\t\t==========幫助信息==========\n");break; 
 default: Wrong();getchar();break; 
 } 
} 
} 
//  
 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费三级在线| 欧美午夜电影网| 一级特黄大欧美久久久| 日韩免费性生活视频播放| 91精品国产综合久久久久| www.成人在线| 国产真实乱偷精品视频免| 亚洲成人先锋电影| 中文字幕制服丝袜一区二区三区 | 久久久久亚洲蜜桃| 欧美日韩一级片在线观看| 成人激情视频网站| 精品在线播放免费| 首页国产欧美日韩丝袜| 中文字幕一区二区在线播放 | 欧美男生操女生| 一本大道av伊人久久综合| 国产精品一区二区在线播放 | 色一情一乱一乱一91av| 国产.欧美.日韩| 久久精品噜噜噜成人88aⅴ| 亚洲国产精品自拍| 樱桃视频在线观看一区| 亚洲欧美自拍偷拍色图| 国产欧美精品在线观看| 久久久久久影视| 亚洲精品在线观| 欧美r级在线观看| 欧美一级国产精品| 日韩视频在线观看一区二区| 宅男噜噜噜66一区二区66| 欧美亚洲国产一区在线观看网站| 91亚洲精华国产精华精华液| 不卡av电影在线播放| 粉嫩久久99精品久久久久久夜| 精品一二三四区| 精品在线亚洲视频| 国产精品888| 国产91清纯白嫩初高中在线观看| 国产久卡久卡久卡久卡视频精品| 国产一区二区三区久久悠悠色av | 国产成人日日夜夜| 国产一级精品在线| 国产精品一区三区| 成人一区二区视频| 91免费国产视频网站| 91精彩视频在线| 久久亚洲精精品中文字幕早川悠里 | 久久久久久9999| 国产区在线观看成人精品| 国产精品久久久一区麻豆最新章节| 国产调教视频一区| 亚洲欧洲www| 亚洲人xxxx| 午夜天堂影视香蕉久久| 日本亚洲视频在线| 国产一区二区精品久久| 成人性生交大片免费看中文网站| av一区二区久久| 在线免费一区三区| 日韩三级高清在线| 国产偷国产偷精品高清尤物| 亚洲视频一二区| 五月天中文字幕一区二区| 久久精品国产999大香线蕉| 国产高清视频一区| 色香色香欲天天天影视综合网| 美女视频黄久久| 精品日韩在线观看| 欧美日韩亚洲综合一区| 久久久久国色av免费看影院| 欧美日韩aaaaa| 在线视频国内一区二区| 国产蜜臀av在线一区二区三区| 日韩电影免费一区| 欧美在线色视频| 国产精品国产自产拍在线| 精品一区二区免费| 欧美一级理论片| 亚洲国产精品一区二区久久恐怖片 | 久久青草国产手机看片福利盒子 | 91片黄在线观看| 久久久精品综合| 久久99精品久久久久久| 欧美日韩二区三区| 亚洲永久精品国产| 一本久道中文字幕精品亚洲嫩| 国产精品系列在线| 国产成人av影院| 26uuu精品一区二区| 裸体健美xxxx欧美裸体表演| 欧美久久一区二区| 午夜精品久久一牛影视| 在线观看日韩电影| 一区二区三区在线视频免费 | 国产精品福利一区| 国产不卡视频一区二区三区| 久久亚洲一区二区三区四区| 精品一区二区影视| 精品人在线二区三区| 麻豆视频观看网址久久| 日韩一级免费观看| 免费成人在线播放| 欧美va亚洲va| 国产精一品亚洲二区在线视频| 久久嫩草精品久久久久| 国产精品99久| 中文字幕亚洲一区二区av在线| jlzzjlzz欧美大全| 亚洲精品国产高清久久伦理二区| 91浏览器在线视频| 一级做a爱片久久| 欧美日韩在线播| 日韩成人av影视| 精品国产乱码久久久久久老虎 | 国产91在线观看| 国产精品理论片在线观看| 91尤物视频在线观看| 亚洲一区二区在线观看视频| 欧美日韩情趣电影| 美女视频免费一区| 国产无一区二区| 91久久免费观看| 日韩高清在线电影| 亚洲精品在线一区二区| 成人在线综合网站| 亚洲精品一二三四区| 欧美精品日日鲁夜夜添| 九色综合国产一区二区三区| 国产色产综合色产在线视频 | 久久久久99精品国产片| av一区二区久久| 香蕉影视欧美成人| 久久婷婷综合激情| 一本大道久久a久久精品综合| 肉色丝袜一区二区| 国产色产综合产在线视频| 色噜噜狠狠一区二区三区果冻| 首页亚洲欧美制服丝腿| 久久精品视频一区| 一本色道久久综合亚洲aⅴ蜜桃| 日本中文在线一区| 中文字幕欧美国产| 欧美日本一区二区在线观看| 国产乱人伦偷精品视频不卡 | 亚洲国产精品欧美一二99 | 裸体在线国模精品偷拍| 国产欧美一区二区三区在线老狼| 色综合一个色综合亚洲| 久久99精品国产.久久久久 | 午夜激情一区二区| 久久久99久久| 欧美区视频在线观看| 国产精品99久久不卡二区| 亚洲午夜国产一区99re久久| 精品国产凹凸成av人导航| 99视频有精品| 久久精品国产亚洲高清剧情介绍 | 色先锋aa成人| 韩国理伦片一区二区三区在线播放| 亚洲色欲色欲www在线观看| 日韩欧美国产不卡| 日本韩国一区二区三区| 国产成人啪午夜精品网站男同| 亚洲.国产.中文慕字在线| 国产精品每日更新| 欧美成人精品高清在线播放| 欧美亚洲国产怡红院影院| 国产不卡一区视频| 美女脱光内衣内裤视频久久网站| 夜夜嗨av一区二区三区中文字幕| 国产天堂亚洲国产碰碰| 日韩欧美在线综合网| 欧美撒尿777hd撒尿| av电影在线观看完整版一区二区| 精品在线视频一区| 日韩精品一卡二卡三卡四卡无卡| 最近中文字幕一区二区三区| 久久精品一区二区三区四区| 欧美一区2区视频在线观看| 欧洲国内综合视频| 99精品久久只有精品| 国产高清视频一区| 精品一区二区三区香蕉蜜桃| 五月婷婷另类国产| 一区二区成人在线| 亚洲免费观看高清完整版在线观看熊 | 成人午夜视频福利| 国产真实乱子伦精品视频| 日本aⅴ精品一区二区三区| 亚洲一区二区黄色| 亚洲另类中文字| 亚洲女厕所小便bbb| 中文字幕中文在线不卡住| 欧美国产精品v| 久久嫩草精品久久久久| 欧美精品一区二区三区很污很色的 | 亚洲人午夜精品天堂一二香蕉| 欧美经典一区二区三区| 国产女人18毛片水真多成人如厕 |