⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 liu.c

📁 C语言学生成绩计算系统,新手来看看吧,大学课程设计
💻 C
字号:


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 150
int n=0,mscore[N],cscore[N],tscore[N];
char s[N][10];
long a[N];
void comeback()
 {
  void menu();
  system("cls");           /*清屏*/
  printf("                &&  the main memu  &&        \n");
  printf("        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("                   1.输入新的数据       \n");
  printf("                   2.增加新的数据       \n");
  printf("                   3.删除数据           \n");
  printf("                   4.学生成绩排序       \n");
  printf("                   5.成绩查询           \n");
  printf("                   6.退出               \n");
  printf("         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
  printf("                   made by 刘晓石 K通信051 学号240051928\n");
  printf("               Now input the order:");
  menu();
 }
   void menu()
 {
  void put();
  void increase();
  void delet();
  void order();
  void search();
  int a;
  scanf("%d",&a);
    switch(a)
   {
   case 1:new();break;
   case 2:increase();break;
   case 3:delet();break;
   case 4:order();break;
   case 5:search();break;
   case 6:;
   }
 }

  void put()
 {
    int i,y,m=1,j,x=0;
    for(i=0;i<N;i++)
    {
       system("cls");
       if(m) 
           printf("please input:\n");
       else
	   {
           printf("It have had the number\n");
            printf("Please input again:\n");
	   }
       printf("number:");
       scanf("%ld",&a[i]);
       for(j=0;j<n;j++)
	   {
           m=1;
           x=0;
           if(a[j]==a[i])
		   {  m=0;i--;x=1;
              break;
		   }
	   }
       if(x==1) 
          continue;
       else
	   {
            printf("name:");
			scanf("%s",&s[i]);
			printf("math score:");
			scanf("%d",&mscore[i]);
			printf("C score:");
			scanf("%d",&cscore[i]);
			tscore[i]=mscore[i]+cscore[i];
			n++;
		}
		printf("\t continue\'1\'\n");
		printf("\t quit\'0\':");
		scanf("%d",&y);
		if(y) continue;
		else break;
	}
   comeback();
 }


 void increase()
 {
  int i,m=1,y,j,x=0;
  for(i=n;i<N;i++)
  {
   system("cls");
   if(m) 
	  printf("pleace input the number:\n");
   else 
    { printf("the number chong hu.\n");
      printf("pleace input again:\n");
    }
   printf("number:");
   scanf("%ld",&a[i]);
   for(j=0;j<n;j++)
   {
    m=1;
    x=0;
    if(a[j]==a[i])
   {
    m=0;
    i--;
    x=1;
    break;
   }
  }
  if(x==1) continue;
  else
  {
   printf("input the name:");
   scanf("%s",&s[i]);
   printf("input the math score:");
   scanf("%d",&mscore[i]);
   printf("input the c score:");
   scanf("%d",&cscore[i]);
   tscore[i]=mscore[i]+cscore[i];
   n++;
  }
  printf("\t continue\'1\'\n");
  printf("\t quit\'0\':");
  scanf("%d",&y);
  if(y) continue;
  else break;
 }
  comeback();
 }
 void delete()
 {
  void jinxing(int *py);
  int y=1,*py;
  py=&y;
  while(*py==1)
  jinxing(py);
  comeback();
 }
 void jinxing(int *py)
 {
  int i,j;
  long b;
  system("cls");
  printf("please input the number:");
  scanf("%ld",&b);
  for(i=0;i<n;i++)
  {
   if(a[i]==b)
  {
   for(j=i;j<(n-1);j++)
   {
    a[j]=a[j+1];
    strcpy(s[j],s[j+1]);
    mscore[j]=mscore[j+1];
    cscore[j]=cscore[j+1];
    tscore[j]=tscore[j+1];
   }
   n--;
   break;
  }
 }
   if(i==n) printf("there is not the number.\n");
     printf("\t continue\'1\'\n");
  printf("\t quit\'0\':");
  scanf("%d",py);
 }
 void order()
 {
 void order1();
 void order2();
 void order3();
 void order4();
 int x,i,y;
 system("cls");
 printf("                 &&  排序  主程序 &&                \n");
 printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
 printf("\n");
 printf("            1.学生学号排序.                         \n");
 printf("            2.学生数学成绩排序.                     \n");
 printf("            3.学生C语言成绩排序.                    \n");
 printf("            4.学生总成绩排序.                       \n");
 printf("            5.退回主程序.                           \n");
 printf("\n");
 printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
 printf("               Now input the order:");
 scanf("%d",&x);
 switch(x)
 {
  case 1:order1();break;
  case 2:order2();break;
  case 3:order3();break;
  case 4:order4();break;
  case 5:comeback();break;
 }
 if(x!=5)
 {
  system("cls");
  printf("     number  name  math  c program    totalscore   \n");
  printf("---------------------------------------------------------\n");
  for(i=0;i<n;i++)
  printf("%6ld%12s%8d%15d%10d\n",a[i],s[i],mscore[i],cscore[i],tscore[i]);
  printf("\t come back\'1\':");
  scanf("%d",&y);
  if(y) order();
 }
}
void order1()
{
 void Order(int i,int j);
 int i,j;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   if(a[i]<a[j]) Order(i,j);
}
void order2()
{
 void Order(int i,int j);
 int i,j;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
  if(mscore[i]>mscore[j]) Order(i,j);
}
void order3()
{
 void Order(int i,int j);
 int i,j;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   if(cscore[i]>cscore[j]) Order(i,j);
}
void order4()
{
 void Order(int i,int j);
 int i,j;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   if(tscore[i]>tscore[j]) Order(i,j);
}
void Order(int i,int j)
{
 long b;
 int temp;
 char str[10];
 b=a[i];a[i]=a[j];a[j]=b;
 strcpy(str,s[i]);strcpy(s[i],s[j]);strcpy(s[j],str);
 temp=mscore[i];mscore[i]=mscore[j];mscore[j]=temp;
 temp=cscore[i];cscore[i]=cscore[j];cscore[j]=temp;
 temp=tscore[i];tscore[i]=tscore[j];tscore[j]=temp;
}
void search()
{
 void search1();
 void search2();
 void search3();
 void search4();
 void search5();
 int x;
 system("cls");
 printf("               &&   查询系统   &&         \n");
 printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
 printf("          1.输入学号                      \n");
 printf("          2.输入学生姓名                  \n");
 printf("          3.输入数学成绩                  \n");
 printf("          4.输入C语言成绩                 \n");
 printf("          5.输入总成绩                    \n");
 printf("          6.退回主程序                    \n");
 printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
 printf("             please input the order:");
 scanf("%d",&x);
 switch(x)
 {
  case 1:search1();break;
  case 2:search2();break;
  case 3:search3();break;
  case 4:search4();break;
  case 5:search5();break;
  case 6:comeback();break;
 }
}
void search1()
{
 void result(int i);
 long b;
 int i,x,y=1;
 system("cls");
 printf("please input the school number:");
 scanf("%ld",&b);
 for(i=0;i<n;i++)
  if(a[i]==b)
  {
   result(i);
   y=0;
  }
 if(y) printf("there is not the number.\n");
 printf("\t continue\'1\'.\n");
 printf("\t come back\'0\':");
 scanf("%d",&x);
 if(x) search1();
 else search();
}
void search2()
{
 void result(int i);
 char str[10];
 int i,x,y=1;
 system("cls");
 printf("please input the name:");
 scanf("%s",&str);
 strlwr(str);
 for(i=0;i<n;i++)
  {
   strlwr(s[i]);
   if(strcmp(str,s[i])==0)
   {
    result(i);
    y=0;
   }
  }
 if(y) printf("there is not the name\n");
 printf("\t continue\'1\'.\n");
 printf("\t quit\'0\':");
 scanf("%d",&x);
 if(x) search2();
 else search();
}
void search3()
{
 void cs(int h,int *pr);
 int sx,x,*pr;
 system("cls");
 printf("please input the c progran score:");
 scanf("%d",&sx);
 cs(sx,mscore);
 printf("\t continue\'1\'.\n");
 printf("\t quit\'0\':");
 scanf("%d",&x);
 if(x) search3();
 else search();
}

void search4()
{
 void cs(int h,int *pr);
 int csjs,x;
 system("cls");
 printf("please input the c progran score:");
 scanf("%d",&csjs);
 cs(csjs,cscore);
 printf("\t continue\'1\'.\n");
 printf("\t quit\'0\':");
 scanf("%d",&x);
 if(x) search4();
 else search();
}
void search5()
{
 void cs(int h,int *pr);
 int zcj,x;
 system("cls");
 printf("please input the totalscore :");
 scanf("%d",&zcj);
 cs(zcj,tscore);
 printf("\t continue\'1\'.\n");
 printf("\t quit\'0\':");
 scanf("%d",&x);
 if(x) search5();
 else search();
}
void cs(int h,int *pr)
{
 void result(int i);
 int i;
 system("cls");
 for(i=0;i<n;i++)
  if(*(pr+i)>=h)
   result(i);
 }
 void result(int i)
 {
  printf("     number    name   mathscore  c progran    totalscore   \n");
  printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
  printf("\n");
  printf("   %6ld%12s%8d%15d%10d   \n",a[i],s[i],mscore[i],cscore[i],tscore[i]);
 }
 void main()
 {
 comeback();
 }
 
  
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -