欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C語言學(xué)籍管理系統(tǒng)源代碼

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

C語言學(xué)籍管理系統(tǒng),整理一份,供大家參考,具體內(nèi)容如下

#include <stdio.h> 
#include <conio.h> 
#include <stdlib.h> 
#define N 100 
void mycreat(); 
void mynewcreat(); 
void mydisplay(); 
void myretake(); 
void myselect(); 
void mynumsort(); 
void mysort(); 
void myprint1(); 
void myprint2(); 
void myprint3(); 
void myfenduan(); 
struct student 
{ 
 char name[10]; 
 int grade[5]; 
 double ave; 
 char num[10]; 
  
}; 
void myprint1() 
{ 
 char choose='\0',yes_no='\0'; 
 do 
 { 
  system("cls"); 
  printf ("  |---------------------------|\n"); 
  printf ("  | 請輸入選項(xiàng)編號(hào)(0-4)  |\n"); 
  printf ("  |---------------------------|\n"); 
  printf ("  | 1----------錄入成績  |\n"); 
  printf ("  | 2----------統(tǒng)計(jì)成績  |\n"); 
  printf ("  | 3----------處理學(xué)籍  |\n"); 
  printf ("  | 4----------顯示數(shù)據(jù)  |\n"); 
  printf ("  | 0----------退出系統(tǒng)  |\n"); 
  printf ("  |---------------------------|\n"); 
  printf("      "); 
  choose=getche(); 
  switch(choose) 
  { case '1':mycreat(); break;  
   case '2':myprint2(); break;  
   case '3':myprint3(); break;  
   case '4':mydisplay(); break;  
   case '0':break; 
   default :printf("\n      %c為非法選項(xiàng)!\n",choose); 
  } 
  if(choose=='0') 
   {  
   printf("\n"); 
   printf("感謝您的使用!\n"); 
   break; 
   } 
  printf("\n      要繼續(xù)選擇嗎(Y/N)?\n"); 
  do 
  { yes_no=getch( ); 
  } while(yes_no!='Y' && yes_no!='y'&& yes_no!='N' && yes_no!='n'); 
  } while(yes_no=='Y' || yes_no=='y'); 
} 
 
 
void myprint2() 
{ 
 char choose='\0',yes_no='\0'; 
 do 
 { 
  system("cls"); 
  printf ("  |-----------------------------------|\n"); 
  printf ("  | 請輸入選項(xiàng)編號(hào)(0-4)    |\n"); 
  printf ("  |-----------------------------------|\n"); 
  printf ("  | 1----------按學(xué)號(hào)排序   |\n"); 
  printf ("  | 2----------計(jì)算平均分并排序  |\n"); 
  printf ("  | 3----------統(tǒng)計(jì)分?jǐn)?shù)段   |\n"); 
  printf ("  | 4----------返回     |\n"); 
  printf ("  | 0----------退出系統(tǒng)    |\n"); 
  printf ("  |-----------------------------------|\n"); 
  printf("      "); 
  choose=getche(); 
  switch(choose) 
  { case '1':mynumsort(); break;   
   case '2':mysort(); break;  
   case '3':myfenduan(); break;   
   case '4':myprint1(); break;  
   case '0':break; 
   default :printf("\n      %c為非法選項(xiàng)!\n",choose); 
  } 
  if(choose=='0') 
   {  
   printf("\n"); 
   printf("感謝您的使用!\n"); 
   break; 
   } 
  printf("\n      要繼續(xù)選擇嗎(Y/N)?\n"); 
  do 
  { yes_no=getch( ); 
  } while(yes_no!='Y' && yes_no!='y'&& yes_no!='N' && yes_no!='n'); 
  } while(yes_no=='Y' || yes_no=='y'); 
} 
 
void myprint3() 
{ 
 char choose='\0',yes_no='\0'; 
 do 
 { 
  system("cls"); 
  printf ("  |---------------------------------------|\n"); 
  printf ("  | 請輸入選項(xiàng)編號(hào)(0-4)     |\n"); 
  printf ("  |---------------------------------------|\n"); 
  printf ("  | 1----------生成并打印補(bǔ)考通知單  |\n"); 
  printf ("  | 2----------生成并打印退學(xué)通知單  |\n"); 
  printf ("  | 3----------生成并打印新名冊   |\n"); 
  printf ("  | 4----------返回      |\n"); 
  printf ("  | 0----------退出系統(tǒng)     |\n"); 
  printf ("  |---------------------------------------|\n"); 
  printf("      "); 
  choose=getche(); 
  switch(choose) 
  { case '1':myretake(); break;  
   case '2':myselect(); break;  
   case '3':mynewcreat(); break;  
   case '4':myprint1(); break;  
   case '0':break; 
   default :printf("\n      %c為非法選項(xiàng)!\n",choose); 
  } 
  if(choose=='0') 
   {  
   printf("\n"); 
   printf("感謝您的使用!\n"); 
   break; 
   } 
  printf("\n      要繼續(xù)選擇嗎(Y/N)?\n"); 
  do 
  { yes_no=getch( ); 
  } while(yes_no!='Y' && yes_no!='y'&& yes_no!='N' && yes_no!='n'); 
  } while(yes_no=='Y' || yes_no=='y'); 
} 
 
void mycreat() 
{ 
 int i=1,j=0; 
 struct student temp={0}; 
 FILE*fp=NULL; 
 fp=fopen("d:\\yuan.dat","w"); 
 if(fp==NULL) 
 { 
  printf("打開文件失敗!\n"); 
  return; 
 } 
 system("cls"); 
 printf("注意:輸入學(xué)號(hào)時(shí)請將所有位數(shù)保持一致不足位用0補(bǔ)齊。例如最大學(xué)號(hào)為1000則均保持4位有效數(shù)字。"); 
 printf("\n  請輸入第1個(gè)記錄:\n"); 
 printf("  學(xué)號(hào)(用#結(jié)束輸入):"); 
 do 
 { 
  gets(temp.num); 
 }while(strcmp(temp.num,"")==0); 
 printf("  姓名(用#結(jié)束輸入):"); 
 gets(temp.name); 
 printf(" 請輸入 高數(shù) 英語 物理 編程 馬哲 5組成績(用#結(jié)束輸入): "); 
 for(j=0;j<=4;j++) 
 { 
  scanf("%d",&temp.grade[j]); 
 } 
 
 while(temp.num[0]!='#'&&temp.name[0]!='#'&&temp.grade[0]!='#') 
 { 
  fprintf(fp,"%23s%15s",temp.num,temp.name); 
  for(j=0;j<=4;j++) 
  { 
   fprintf(fp,"%5d",temp.grade[j]); 
  } 
  fprintf(fp,"\n"); 
  i++; 
  printf("\n   請輸入第%d個(gè)記錄:\n",i); 
  printf("   學(xué)號(hào)(用#結(jié)束輸入):"); 
  do 
  { 
   gets(temp.num); 
  }while(strcmp(temp.num,"")==0); 
   printf("  姓名(用#結(jié)束輸入):"); 
  gets(temp.name); 
  printf(" 請輸入 高數(shù) 英語 物理 編程 馬哲 5組成績 (用#結(jié)束輸入): "); 
  for(j=0;j<=4;j++) 
  { 
   scanf("%8d",&temp.grade[j]); 
  } 
 
 } 
 fclose(fp); 
} 
void mynumsort() 
{ 
 int i=0,j=0,k=0,n=0,grade=0,num=0,m=0,ww; 
 struct student temp[N]={0}; 
 struct student a; 
 FILE *fp=NULL; 
 FILE *fq=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("\n  打開文件失敗!\n"); 
  return; 
 
 } 
 system("cls"); 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
 printf("n=%d",n); 
 fclose(fp); 
 printf("\n"); 
 for(i=0; i<n; i++)     
 { k=i; 
  for(j=k+1; j<n; j++) 
   if(strcmp(temp[k].num,temp[j].num)>0) 
    k=j; 
  a=temp[i]; 
  temp[i]=temp[k]; 
  temp[k]=a; 
 } 
 for(k=0;k<n;k++) 
 { 
  printf("%10s號(hào) %10s同學(xué)",temp[k].num,temp[k].name); 
  for(m=0;m<5;m++) 
  { 
   printf("%5d分",temp[k].grade[m]); 
  } 
  printf("\n"); 
 } 
 if(n==0)printf("\n  文件中無記錄!\n"); 
 else printf("\n   文件中有%d個(gè)記錄",n); 
 
 fq=fopen("d:\\std.dat","w"); 
 if(fq==NULL) 
 { 
  printf("打開文件失?。n"); 
  exit(0); 
 } 
 for(i=0;i<n;i++) 
 { 
  fprintf(fq,"%23s%15s",temp[i].num,temp[i].name); 
  for(j=0;j<5;j++) 
  { 
   fprintf(fq,"%2d",temp[i].grade[j]); 
  } 
  fprintf(fq,"\n"); 
 } 
 fclose(fq); 
 printf("計(jì)算已完成 保存在d:\std.dat文件當(dāng)中,請查驗(yàn)"); 
} 
void mysort() 
{ 
 struct student temp[N]={0},a[N]={0}; 
 int i=0,j=0,n=0,ww=0; 
 FILE*fp=NULL; 
 FILE*fq=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失敗!\n"); 
  exit(0); 
 } 
 system("cls"); 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
 
 for(i=0;i<n;i++) 
 { 
  for(j=0;j<5;j++) 
  { 
   temp[i].ave=temp[i].ave+temp[i].grade[j]; 
  } 
  temp[i].ave=temp[i].ave/5; 
   
 } 
 for(i=0;i<n;i++) 
 { 
  if(temp[i].ave<temp[i+1].ave) 
  { 
   a[i]=temp[i]; 
   temp[i]=temp[i+1]; 
   temp[i+1]=a[i]; 
  } 
 } 
 fq=fopen("d:\\sort.dat","w"); 
 if(fq==NULL) 
 { 
  printf("打開文件失?。n"); 
  exit(0); 
 } 
 for(i=0;i<n;i++) 
 { 
  fprintf(fq,"%23s%15s%10.2f",temp[i].num,temp[i].name,temp[i].ave ); 
 
  for(j=0;j<5;j++) 
  { 
   fprintf(fq,"%2d",temp[i].grade[j]); 
  } 
  fprintf(fq,"\n"); 
 } 
 
 fclose(fq); 
 printf("計(jì)算已完成 保存在d:\sort.dat文件當(dāng)中,請查驗(yàn)"); 
} 
 
void myfenduan() 
{  
 int i=0,j=0,n=0,ww; 
 int b[N]={0},c[N]={0},d[N]={0},e[N]={0},f[N]={0}; 
 struct student temp[N]={0}; 
 FILE*fp=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失敗!\n"); 
  return; 
 } 
 system("cls"); 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
 for(i=0;i<n;i++) 
 { 
  for(j=0;j<5;j++) 
   { 
    if(temp[i].grade[j]>=90) 
     b[j]=b[j]+1; 
    else if(temp[i].grade[j]>=80) 
     c[j]=c[j]+1; 
    else if(temp[i].grade[j]>=70) 
     d[j]=d[j]+1; 
    else if(temp[i].grade[j]>=60) 
     e[j]=e[j]+1; 
    else f[j]=f[j]+1; 
   } 
 } 
 printf("各門課、各分?jǐn)?shù)段學(xué)生的人數(shù)\n"); 
 printf("________________________________________________________\n"); 
 printf("  |90分以上 | 80~89分 | 70~79分 | 60~69分 | 60分以下 \n"); 
 printf("--------------------------------------------------------\n"); 
 printf("高數(shù)_____%d________%d_________%d________%d_________%d___\n",b[0],c[0],d[0],e[0],f[0]); 
 printf("__________________________________________________\n"); 
 printf("英語_____%d________%d_________%d________%d_________%d___\n",b[1],c[1],d[1],e[1],f[1]); 
 printf("__________________________________________________\n"); 
 printf("物理_____%d________%d_________%d________%d_________%d___\n",b[2],c[2],d[2],e[2],f[2]); 
 printf("__________________________________________________\n"); 
 printf("編程_____%d________%d_________%d________%d_________%d___\n",b[3],c[3],d[3],e[3],f[3]); 
 printf("__________________________________________________\n"); 
 printf("馬哲_____%d________%d_________%d________%d_________%d___\n",b[4],c[4],d[4],e[4],f[4]); 
 printf("__________________________________________________\n"); 
 fclose(fp); 
} 
void mydisplay() 
{ int n=0,j=0,k=0,m=0,ww; 
 struct student temp[N]={0}; 
 FILE*fp=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失?。n"); 
  return; 
 } 
 system("cls"); 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
 for(k=0;k<n;k++) 
 { 
  printf("%23s %15s ",temp[k].num,temp[k].name); 
  
  for(m=0;m<5;m++) 
  { 
   printf("%d ",temp[k].grade[m]); 
  } 
  printf("\n"); 
 } 
 if(n==0)printf("\n 文件中無記錄!\n"); 
 else printf("\n  文件中共有%d個(gè)記錄!",n); 
 fclose(fp); 
} 
  
void myretake() 
{ 
 int i=0,e=0,j=0,n=0,s[5]={0},ww; 
 struct student temp[N]={0}; 
 FILE*fp=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失??!\n"); 
  return; 
 } 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
 for (i=0;i<n;i++) 
 { 
  for(j=0;j<5;j++) 
  { 
   if(temp[i].grade[j]<60) 
   s[i]++; 
  } 
   
  if(s[i]>=1 && s[i]<=3) 
  { printf("\n"); 
   printf("學(xué)號(hào)%10s 姓名%10s \n",temp[i].num,temp[i].name); 
  if(temp[i].grade[0]<60) 
   printf("%10s您的高數(shù)成績?yōu)?6d,需要補(bǔ)考,請于2011年2月26日上午9點(diǎn)在教學(xué)樓5023教室進(jìn)行補(bǔ)考考試\n",temp[i].name,temp[i].grade[0]); 
   
  if(temp[i].grade[1]<60) 
   printf("%10s您的英語成績?yōu)?6d,需要補(bǔ)考,請于2011年2月27日上午9點(diǎn)在教學(xué)樓5023教室進(jìn)行補(bǔ)考考試\n",temp[i].name,temp[i].grade[1]); 
   
  if(temp[i].grade[2]<60) 
   printf("%10s您的物理成績?yōu)?6d,需要補(bǔ)考,請于2011年2月28日上午9點(diǎn)在教學(xué)樓5023教室進(jìn)行補(bǔ)考考試\n",temp[i].name,temp[i].grade[2]); 
   
  if(temp[i].grade[3]<60) 
   printf("%10s您的編程成績?yōu)?6d,需要補(bǔ)考,請于2011年2月26日下午3點(diǎn)在教學(xué)樓5023教室進(jìn)行補(bǔ)考考試\n",temp[i].name,temp[i].grade[3]); 
   
  if(temp[i].grade[4]<60) 
   printf("%10s您的馬哲成績?yōu)?6d,需要補(bǔ)考,請于2011年2月28日下午3點(diǎn)在教學(xué)樓5023教室進(jìn)行補(bǔ)考考試\n",temp[i].name,temp[i].grade[4]); 
  } 
 } 
 for(e=0;e<n;e++) 
 { 
  if(s[e]!=0) 
  { 
   printf("\n"); 
   printf("以上學(xué)生需要補(bǔ)考!"); 
  } 
  else 
  { 
   printf("\n"); 
   printf("沒有學(xué)生需要補(bǔ)考!"); 
  } 
  break; 
 } 
} 
void myselect() 
{ 
 int i=0,k=0,s[5]={0},n=0,j=0,ww; 
 struct student temp[N]={0}; 
 FILE*fp=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失敗!\n"); 
  return; 
 } 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
   
  for(j=0;j<5;j++) 
   { 
    ww=fscanf(fp,"%d",&temp[n].grade[j]); 
    if(ww==-1) break; 
  } 
  n++; 
 } 
  for(i=0;i<n-1;i++) 
  { 
    
   for(k=0;k<5;k++) 
    { 
    if (temp[i].grade[k]<60) 
     s[i]=s[i]+1; 
    }   
   if(s[i]>3) 
   { 
    printf("\n"); 
    printf("學(xué)號(hào)%10s 姓名%10s 由于您不及格的科目為%d門(多于3門),因此退學(xué)。\n",temp[i].num,temp[i].name,s[i]); 
    if (temp[i].grade[0]<60) 
     printf("%15s您的高數(shù)成績?yōu)?6d,為不及格。\n",temp[i].name,temp[i].grade[0]); 
      
    if (temp[i].grade[1]<60) 
     printf("%15s您的英語成績?yōu)?6d,為不及格。\n",temp[i].name,temp[i].grade[1]); 
      
    if (temp[i].grade[2]<60) 
     printf("%15s您的物理成績?yōu)?6d,為不及格。\n",temp[i].name,temp[i].grade[2]); 
      
    if (temp[i].grade[3]<60) 
     printf("%15s您的編程成績?yōu)?6d,為不及格。\n",temp[i].name,temp[i].grade[3]); 
      
    if (temp[i].grade[4]<60) 
     printf("%15s您的馬哲成績?yōu)?6d,為不及格。\n",temp[i].name,temp[i].grade[4]); 
      
   } 
  } 
} 
 
void mynewcreat() 
{ 
 int i=0,k=0,s[5]={0},z[5]={0},v=0,n=0,m=0,j=0,p=0,c=0,ww; 
 struct student temp[N]={0}; 
 FILE*fp=NULL; 
 FILE*fq=NULL; 
 fp=fopen("d:\\yuan.dat","r"); 
 if(fp==NULL) 
 { 
  printf("打開文件失??!\n"); 
  return; 
 } 
 while(feof(fp)==0) 
 { 
  ww=fscanf(fp,"%23s%15s",temp[n].num,temp[n].name); 
  if(ww==-1) break; 
  for(j=0;j<5;j++) 
  { 
   fscanf(fp,"%d",&temp[n].grade[j]); 
    
  } 
  n++; 
 } 
  while(i<=n) 
  { 
   for(k=0;k<5;k++) 
   { 
    if (temp[i].grade[k]<60) 
    s[i]=s[i]+1; 
   } 
    
   for(v=0;v<5;v++) 
   { 
    if(temp[i].grade[v]==0) 
     z[i]++; 
   } 
   if(z[i]==5) 
   { 
    break; 
   } 
   if(s[i]<=3) 
   { 
    i++; 
   } 
   if(s[i]>3) 
   { 
    for(c=i;c<=n;c++) 
    { 
     temp[c]=temp[c+1]; 
    } 
    s[i]=0; 
   } 
  }    
  printf("\n"); 
  printf("刪除已退學(xué)的學(xué)生后,學(xué)生名冊為:"); 
  printf("\n"); 
  for(p=0;p<n-1;p++) 
  { 
   printf("\n"); 
   printf("%10s號(hào) %10s分 ",temp[p].num,temp[p].name); 
   for(m=0;m<5;m++) 
    { 
     printf("%d ",temp[p].grade[m]); 
    } 
   printf("\n"); 
  } 
 fq=fopen("d:\\next.dat","w"); 
 if(fq==NULL) 
 { 
  printf("打開文件失??!\n"); 
  exit(0); 
 } 
 for(i=0;i<n;i++) 
 { 
  fprintf(fq,"%23s%15s",temp[i].num,temp[i].name); 
  for(j=0;j<5;j++) 
  { 
   fprintf(fq,"%2d",temp[i].grade[j]); 
  } 
  fprintf(fq,"\n"); 
 } 
fclose(fq); 
 printf("計(jì)算已完成 保存在d:\next.dat文件當(dāng)中,請查驗(yàn)"); 
} 
main() 
{ 
 myprint1();  
 } 

有時(shí)間整理整理學(xué)過的,溫故知新。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

上一篇:C++設(shè)計(jì)模式之策略模式(Strategy)

欄    目:C語言

下一篇:C++設(shè)計(jì)模式之模板方法模式(TemplateMethod)

本文標(biāo)題:C語言學(xué)籍管理系統(tǒng)源代碼

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/830.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有