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

📄 к+

📁 实现用C语言编程
💻
字号:
#include"stdio.h"
#include"stddef.h"
#include"stddef.h"
#include"string.h"
#define MAX 10
typedef struct student{
     char name[MAX];
     int num[MAX];
     char sex[MAX];
     int chinese;
     int mathematic;
     int english;
     int computer;
     struct student *next;
    }stu;
stu *head;
void print()
    {
        system("cls");
        printf("\t\t\tScore Manage System\n");
        printf("<1>Enter Record\t");
        printf("<2>Display\t");
        printf("<3>Insert\t");
        printf("<4>Quest\t");
        printf("<5>Update\t");
        printf("<6>Save\t");
        printf("<7>Fresh\t");
        printf("<8>Chinese Average\t");
        printf("<9>Math Average\t");
        printf("<10>English Average\t");
        printf("<11>Computer Average\t");
        printf("<12>Quit\t\n");
         }

void cin(stu *p1)
 { printf("Enter name:\n");
    scanf("%s",&p1->name);
   printf("Enter num:\n");
     scanf("%d",&p1->num);
    printf("Enter sex:\n");
     scanf("%s",&p1->sex);
   printf("Enter score:\n");
   printf("Enter chinese:\n");
     scanf("%d",&p1->chinese);
  printf("Enter math:\n");
    scanf("%d",&p1->mathematic);
  printf("Enter English:\n");
   scanf("%d",&p1->english);
  printf("Enter Computer:\n");
   scanf("%d",&p1->computer);
  }
 stu *cindata()
 {  stu *p1,*p2;
   int i=1;
  char ch;
  p1=(stu *)malloc(sizeof(stu));
    head=p1;
  while(i)
    {
       cin(p1);
    printf("Do you Want to Continue?yes or no");
     ch=getchar();
      ch=getchar();
    if(ch=='n'||ch=='N')
      { i=0;
  p1->next=NULL;
       }
    else
      { p2=p1;
        p1=(stu *)malloc(sizeof(stu));
        p2->next=p1;
      }
     }
    return(p1->next);
}


 void lookdata(stu *p1)
 {
     while(p1!=NULL)
       { printf("Num:%d\t",p1->num);
         printf("Name:%s\t",p1->name);
         printf("Sex:%s\t",p1->sex);
         printf("\n");
  printf("Chinese:%d\t",p1->chinese);
         printf("Math:%d\t",p1->mathematic);
         printf("English:%d\t",p1->english);
  printf("Computer:%d\t",p1->computer);
         printf("\n");
         p1=p1->next;
        }

   }
 


void insert(stu *p2)
 { stu *p1,*p3;
    char ch;
    int i=1;
    p3=(stu *)malloc(sizeof(stu));
    p1=p2;
    while(i)
   {  cin(p3);
      printf("Enter again?yes or no");
       ch=getchar();
       ch=getchar();
         if(ch=='n'||ch=='N')
           {i=0;
       p3->next=NULL;
           }
         else
          { while(p1!=NULL)
              p1=p1->next;
              p3=(stu *)malloc(sizeof(stu));
              p1->next=p3;
          }
     }

 }



find(stu *p2)
 { char name[20];
   int b=0;
   printf("Enter the name of the student you want to find:");
   scanf("%s",name);
   while(p2!=NULL)
     {if(strcmp(name,p2->name)==0)
        {
          printf("The data you want has be found\n");
          printf(" Name:%s\t",p2->name);
          printf("Num:%d\t",p2->num);
   printf("sex%s\t",p2->sex);
          printf("\n");
   printf("Chinese:%d\t",p2->chinese);
   printf("Math:%d\t",p2->mathematic);
   printf("English:%d\t",p2->english);
   printf("Computer:%d\t",p2->computer);
          printf("\n");

          b=1;
        }
       else if(b==0)
          printf("对不起,没有找到你要找的数据");
          p2=p2->next;
     }
          
   if(b==1)
          {
            print();
            printf("Find one\n");}
    else
            {print();
             printf("Not find\n");

            }
}


void caverage(stu *p2)
 {  stu *p1;
    int i;
    float max=0.0,min=200.0;
    float sum=0.0,aver=0;
    p1=p2;
    if(p1==NULL)
     printf("not data!");
    else
      for(i=0;p1!=NULL;i++,p1=p1->next)
        sum+=p1->chinese;
          aver/=i;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(max<p1->chinese)
             max=p1->chinese;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(min<p1->chinese)
     min=p1->chinese;
      printf("Chinese Average:%f",aver);
      printf("Chinese Max:%f",max);
      printf("Chinese Min:%f",min);
 }




 void maverage(stu *p2)
 {  stu *p1;
    int i;
    float max=0.0,min=200.0;
    float sum=0.0,aver=0;
    p1=p2;
    if(p1==NULL)
     printf("not data!");
    else
      for(i=0;p1!=NULL;i++,p1=p1->next)
        sum+=p1->mathematic;
          aver/=i;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(max<p1->mathematic)
             max=p1->mathematic;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(min<p1->mathematic)
     min=p1->mathematic;
      printf("Math Average:%f",aver);
      printf("Math Max:%f",max);
      printf("Math Min:%f",min);
 }


 void eaverage(stu *p2)
 {  stu *p1;
    int i;
   float max=0.0,min=200.0;
    float sum=0.0,aver=0;
    p1=p2;
    if(p1==NULL)
     printf("not data!");
    else
      for(i=0;p1!=NULL;i++,p1=p1->next)
        sum+=p1->english;
          aver/=i;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(max<p1->english)
             max=p1->english;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(min<p1->english)
     min=p1->english;
      printf("English avergre:%f",aver);
      printf("English Max:%f",max);
      printf("English Min:%f",min);
 }


void comaverage(stu *p2)
 {  stu *p1;
    int i;
  float max=0.0,min=200.0;
    float sum=0.0,aver=0;
    p1=p2;
    if(p1==NULL)
     printf("not data!");
    else
      for(i=0;p1!=NULL;i++,p1=p1->next)
        sum+=p1->computer;
          aver/=i;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(max<p1->computer)
             max=p1->computer;
 for(i=0;p1!=NULL;i++,p1=p1->next)
          if(min<p1->computer)
     min=p1->computer;
      printf("Computer Averger:%f",aver);
      printf("Computer Max:%f",max);
      printf("Computer Min:%f",min);
 }


    update(stu *p2)
 {
  char name[10];
  int b=0;
  printf("Enter The Name");
  scanf("%s",name);

  while(p2!=NULL)
    {if(strcmp(name,p2->name)==0)
      {
          printf("Find you data\n");
          scanf("Name:%s",p2->name);
          scanf("Num:%s",p2->num);
          scanf("Sex:%s",p2->sex);
          scanf("Chinese:%d",p2->chinese);
          scanf("Math:%d",p2->mathematic);
          scanf("english:%d",p2->english);
          scanf("Computer:%d",p2->computer);
          printf("Success!");

          b=1;}
     else if(b==0)
          printf("Sorry not Find data!");
          p2=p2->next;}
        if(b==0)
        {print();
         printf("Sorry not Find data!");
         }
        else
        {
         print();
         printf("Finish!");
            }
  }



 save(stu *p2)
  {
    FILE *fp;
    char file[10];
    printf("Enter file name");
    scanf("%s",file);
    fp=fopen(file,"w");
    while(p2!=NULL)
    {
        fprintf(fp,"%s",p2->name);
        fprintf(fp,"%s",p2->num);
        fprintf(fp,"%s",p2->sex);
        fprintf(fp,"%d",p2->chinese);
 fprintf(fp,"%d",p2->mathematic);
        fprintf(fp,"%d",p2->english);
        fprintf(fp,"%d",p2->computer);
        p2=p2->next;
    }
        fclose(fp);
 }


char password[7]="123456";


void main()
{  int choice;
   stu *p2;
   char s[8];
   int flag=0,i;
   int n=3;
  do{ printf("Enter password:\n");
      scanf("%s",s);
     if(!strcmp(s,password))
      { printf("PASS\n\n\n");
        flag=1;
       break;
      }
    else{
       printf("Error Enter again:\n");
        n--;
        }
       }
      while(n>0);
  if(!flag)
  {printf("you have Enter 3 times!");
    exit(0);
  }


   printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");
   printf("\t\tWelcom to the Mis\n");
   printf("Author:-----\tClass:------\tNum:------\n");
   printf("Adress:HG\n");
   printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
   printf("\t\tEnter OP:\n");
   printf("\n\n\n\n");
   printf("==============\t\t==============\n");
   printf("==============\t\t==============\n");
   printf("\t\tEnter the MIS yes or no\n");

   scanf("%d",&choice);
    if(choice=='n'||choice=='N')
        exit(1);

 print();
  while(1)
  {
  printf("Enter choice:");
   scanf("%d",&i);
        if(i<1||i>8)
         {
   printf("Enter num from 1 to 8:\n");
          exit(1);
        }

  switch(i)
  { case 1:
      p2=cindata();
       break;
       case 2:
          lookdata(head);
           break;
       case 3:
         insert(p2);
          break;
       case 4:
          find(head);
          break;
       case 5:
          update(head);
          break;
       case 6:
          save(head);
          break;
       case 7:
          print();
          break;
       case 8:
          caverage(head);
          break;
       case 9:
          maverage(head);
          break;
       case 10:
          eaverage(head);
          break;
       case 11:
  comaverage(head);
           break;
       case 12:
            ;
       case 13:
           exit(1);
           break;
                                                  
  }
  scanf("%d",&i);
}



}

⌨️ 快捷键说明

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