C++

C language roll management system source code


C Language roll Management system, 1 copy for your reference, the specific content is as follows

#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 (" |  Please enter the option number (0-4) |\n");
 printf (" |---------------------------|\n");
 printf (" | 1---------- School grades  |\n");
 printf (" | 2---------- Statistical results  |\n");
 printf (" | 3---------- Dealing with one's status as a student  |\n");
 printf (" | 4---------- Display the data  |\n");
 printf (" | 0---------- Log out  |\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 Illegal option! \n",choose);
 }
 if(choose=='0')
  {
  printf("\n");
  printf(" Thank you for your use! \n");
  break;
  }
 printf("\n    Should I continue to choose (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 (" |  Please enter the option number (0-4)  |\n");
 printf (" |-----------------------------------|\n");
 printf (" | 1---------- Sort by student number   |\n");
 printf (" | 2---------- Calculate the average score and sort it  |\n");
 printf (" | 3---------- Statistical fraction segment   |\n");
 printf (" | 4---------- return    |\n");
 printf (" | 0---------- Log out   |\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 Illegal option! \n",choose);
 }
 if(choose=='0')
  {
  printf("\n");
  printf(" Thank you for your use! \n");
  break;
  }
 printf("\n    Should I continue to choose (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 (" |  Please enter the option number (0-4)   |\n");
 printf (" |---------------------------------------|\n");
 printf (" | 1---------- Generate and print the make-up exam notice  |\n");
 printf (" | 2---------- Generate and print the drop-out notice  |\n");
 printf (" | 3---------- Generate and print the new roster   |\n");
 printf (" | 4---------- return    |\n");
 printf (" | 0---------- Log out    |\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 Illegal option! \n",choose);
 }
 if(choose=='0')
  {
  printf("\n");
  printf(" Thank you for your use! \n");
  break;
  }
 printf("\n    Should I continue to choose (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(" Failed to open file! \n");
 return;
 }
 system("cls");
 printf(" Note: Please keep all the digits when entering your student id 1 To be out of position 0 A filling. For example, the maximum student number is 1000 Are all keep 4 A significant digit. ");
 printf("\n  Please enter the first 1 A record: \n");
 printf("  Student id ( with # The end of the input ):");
 do
 {
 gets(temp.num);
 }while(strcmp(temp.num,"")==0);
 printf("  The name ( with # The end of the input ):");
 gets(temp.name);
 printf("  Please enter the   The high number of   English   physical   programming   philosophy  5 Set of results ( with # The end of the input ): ");
 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   Please enter the first %d A record :\n",i);
 printf("   Student id ( with # The end of the input ):");
 do
 {
  gets(temp.num);
 }while(strcmp(temp.num,"")==0);
  printf("  The name ( with # The end of the input ):");
 gets(temp.name);
 printf("  Please enter the   The high number of   English   physical   programming   philosophy  5 Set of results  ( with # The end of the input ): ");
 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  Failed to open file !\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 No.  %10s classmate ",temp[k].num,temp[k].name);
 for(m=0;m<5;m++)
 {
  printf("%5d points ",temp[k].grade[m]);
 }
 printf("\n");
 }
 if(n==0)printf("\n  There is no record in the file! \n");
 else printf("\n   In the file %d A record ",n);

 fq=fopen("d:\\std.dat","w");
 if(fq==NULL)
 {
 printf(" Failed to open file! \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(" Calculation completed   Stored in the d:\std.dat Among the documents, please check ");
}
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(" Failed to open file! \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(" Failed to open file! \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(" Calculation completed   Stored in the d:\sort.dat Among the documents, please check ");
}

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(" Failed to open file! \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(" The number of students in each course and section \n");
 printf("________________________________________________________\n");
 printf(" |90 Points above  | 80~89 points  | 70~79 points  | 60~69 points  | 60 The following  \n");
 printf("--------------------------------------------------------\n");
 printf(" The high number of _____%d________%d_________%d________%d_________%d___\n",b[0],c[0],d[0],e[0],f[0]);
 printf("__________________________________________________\n");
 printf(" English _____%d________%d_________%d________%d_________%d___\n",b[1],c[1],d[1],e[1],f[1]);
 printf("__________________________________________________\n");
 printf(" physical _____%d________%d_________%d________%d_________%d___\n",b[2],c[2],d[2],e[2],f[2]);
 printf("__________________________________________________\n");
 printf(" programming _____%d________%d_________%d________%d_________%d___\n",b[3],c[3],d[3],e[3],f[3]);
 printf("__________________________________________________\n");
 printf(" philosophy _____%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(" Failed to open file! \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  There is no record in the file! \n");
 else printf("\n  The files are all together %d A record! ",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(" Failed to open file! \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(" Student id %10s  The name %10s \n",temp[i].num,temp[i].name);
 if(temp[i].grade[0]<60)
  printf("%10s Your advanced degree is %6d A make-up examination is required , please 2011 years 2 month 26 The morning of 9 Point at the teaching building 5023 The classroom has a make-up examination \n",temp[i].name,temp[i].grade[0]);

 if(temp[i].grade[1]<60)
  printf("%10s Your score in English is %6d A make-up examination is required , please 2011 years 2 month 27 The morning of 9 Point at the teaching building 5023 The classroom has a make-up examination \n",temp[i].name,temp[i].grade[1]);

 if(temp[i].grade[2]<60)
  printf("%10s Your physics score is %6d A make-up examination is required , please 2011 years 2 month 28 The morning of 9 Point at the teaching building 5023 The classroom has a make-up examination \n",temp[i].name,temp[i].grade[2]);

 if(temp[i].grade[3]<60)
  printf("%10s Your programming score is %6d A make-up examination is required , please 2011 years 2 month 26 On the afternoon 3 Point at the teaching building 5023 The classroom has a make-up examination \n",temp[i].name,temp[i].grade[3]);

 if(temp[i].grade[4]<60)
  printf("%10s Your marks for Mazur are %6d A make-up examination is required , please 2011 years 2 month 28 On the afternoon 3 Point at the teaching building 5023 The classroom has a make-up examination \n",temp[i].name,temp[i].grade[4]);
 }
 }
 for(e=0;e<n;e++)
 {
 if(s[e]!=0)
 {
  printf("\n");
  printf(" The above students need make-up examination! ");
 }
 else
 {
  printf("\n");
  printf(" No students need make-up exams! ");
 }
 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(" Failed to open file! \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(" Student id %10s  The name %10s  Because you failed the subject for %d The door (more than 3 ), so I quit school. \n",temp[i].num,temp[i].name,s[i]);
  if (temp[i].grade[0]<60)
   printf("%15s Your advanced degree is %6d To fail. \n",temp[i].name,temp[i].grade[0]);

  if (temp[i].grade[1]<60)
   printf("%15s Your score in English is %6d To fail. \n",temp[i].name,temp[i].grade[1]);

  if (temp[i].grade[2]<60)
   printf("%15s Your physics score is %6d To fail. \n",temp[i].name,temp[i].grade[2]);

  if (temp[i].grade[3]<60)
   printf("%15s Your programming score is %6d To fail. \n",temp[i].name,temp[i].grade[3]);

  if (temp[i].grade[4]<60)
   printf("%15s Your marks for Mazur are %6d To fail. \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(" Failed to open file! \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(" After the removal of a dropped out student, the student roster is: ");
 printf("\n");
 for(p=0;p<n-1;p++)
 {
  printf("\n");
  printf("%10s No.  %10s points  ",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(" Failed to open file! \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(" Calculation completed   Stored in the d:\next.dat Among the documents, please check ");
}
main()
{
 myprint1();
 }

If you have time to sort out what you have learned, review the old and learn the new.

For more information, please pay attention to the topic management System Development.