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

📄 xuanke.cpp

📁 asp.net编写的一个选课系统.大小只有77kb.功能自己去看
💻 CPP
字号:
#include<stdlib.h>     
  #include<stdio.h>     
  struct   list{     
        int   num;     
        char   name[256];     
        int   china;     
        int   english;     
        int   math;     
        struct   list   *next;     
  };     
  typedef   struct   list   node;     
  typedef   node   *link;     
void  printf_list(link   head)     
  {     
      link   pointer;     
      pointer=head;     
      while(pointer!=NULL)     
      {     
        printf("number:%d\n",pointer->num);     
        printf("name:%s\n",pointer->name);     
        printf("china:%d\n",pointer->china);     
        printf("english:%d\n",pointer->english);     
        printf("math:%d\n",pointer->math);     
        pointer=pointer->next;     
      }     
      }     
  link   creat_list(link   head)     
  {     
        int   cnum;     
        char   cname[256];     
        int   cchina;     
        int   cenglish;     
        int   cmath;     
        link   pointer,new1;     
        int   i;     
        head=(link)malloc(sizeof(node));     
        if(head==NULL)     
            {   printf("memory   allocate   failure!!\n");     
                exit(0);}     
        else{     
            printf("please   input   number:");     
            scanf("%d",&cnum);     
            printf("please   input   name:");     
            scanf("%s",&cname);     
            printf("please   input   china:");     
            scanf("%d",&cchina);     
            printf("please   input   english:");     
            scanf("%d",&cenglish);     
            printf("please   input   math:");     
            scanf("%d",&cmath);     
            head->num=cnum;     
            for(i=0;i<256;i++)     
            {     
            head->name[i]=cname[i];     
              }     
            head->china=cchina;     
            head->english=cenglish;     
            head->math=cmath;     
            head->next=NULL;     
            pointer=head;     
        while(1)     
        {     
            new1=(link)malloc(sizeof(node));     
            if(new1==NULL){     
              printf("memory   allocate   failure!!\n");     
              exit(0);}     
              printf("please   input   number:");     
              scanf("%d",&cnum);     
                if(cnum==0){     
  break;         }     
              printf("please   input   name:");     
              scanf("%s",cname);     
              printf("please   input   china:");     
              scanf("%d",&cchina);     
              printf("please   input   english:");     
              scanf("%d",&cenglish);     
              printf("please   input   math:");     
              scanf("%d",&cmath);     
              new1->num=cnum;     
              for(i=0;i<256;i++){     
              new1->name[i]=cname[i];}     
              new1->china=cchina;     
              new1->english=cenglish;     
              new1->math=cmath;     
              new1->next=NULL;     
              pointer->next=new1;     
              pointer=new1;     
              }     
              }     
              return   head;     
  }     
void search_chengji(int   key1,link   head)     
  {     
        link   pointer;     
        pointer=head;     
        while(pointer!=NULL)     
        {     
          if(pointer->num==key1)     
          {     
          printf("number:%d\n",pointer->num);     
          printf("name:%s\n",pointer->name);     
          printf("china:%d\n",pointer->china);     
          printf("english:%d\n",pointer->english);     
          printf("math:%d\n",pointer->math);     
          }     
          pointer=pointer->next;     
        }     
  }     
  link   modify_chengji(link   head,int   key3)     
  {     
    
          link   pointer;     
          char   xname[256];     
          int   xchina;     
          int   xenglish;     
          int   xmath;     
          int   choose,i;     
          pointer=head;     
          printf("enter   0   exit   modefiy\n");     
          printf("enter   1   modefiy   name\n");     
          printf("enter   2   modefiy   china\n");     
          printf("enter   3   modefiy   english\n");     
          printf("enter   4   modefiy   math\n");     
          scanf("%d",&choose);     
          switch(choose)     
      {     
      case   1:     
          printf("please   input   name:");     
          scanf("%s",&xname);     
          break;     
      case   2:     
          printf("please   input   china:");     
          scanf("%d",&xchina);     
          break;     
      case   3:     
          printf("please   input   english:");     
          scanf("%d",&xenglish);     
          break;     
      case   4:     
          printf("please   input   math:");     
          scanf("%d",&xmath);     
          break;     
      }     
      while(1){     
          pointer=pointer->next;     
          if(pointer->num==key3)     
                {     
                if(choose==1)     
                {   for(i=0;i<256;i++)     
                {     
  pointer->name[i]=xname[i];     
  }     
  break;     
  }     
                else   if(choose==2)     
                {   pointer->china=xchina;     
                break;}     
                else   if(choose==3)     
                {   pointer->english=xenglish;     
              break;     
              }     
                else   if(choose==4)     
  {pointer->math=xmath;     
      break;}     
                }     
                }     
          return   head;     
  }     
  link   delete_chengji(link   head,int   key2)     
          {     
          link   pointer;     
          link   back;     
          pointer=head;     
          while(1)     
          {     
          if(head->num==key2)     
        {   head=pointer->next;     
            free(pointer);     
            break;     
            }     
            back=pointer;     
            pointer=pointer->next;     
          if(pointer->num==key2)     
          {     
            back->next=pointer->next;     
            free(pointer);     
            break;}     
            }     
        return   head;     
  }     
  link   insert_chengji(link   head,link   new1,int   key3)     
  {     
          link   pointer;     
          pointer=head;     
          while(1)     
          {     
          if(pointer==NULL){     
          new1->next=head;     
          head=new1;     
          break;}     
          if(pointer->num==key3){     
          new1->next=pointer->next;     
          pointer->next=new1;     
          break;}     
          pointer=pointer->next;     
          }     
    return   head;     
          }     
void  pingjufen(link   head)     
  {     
    link   pointer;     
    int   pchina,ppchina;     
    int   penglish,ppenglish;     
    int   pmath,ppmath;     
    int   count;     
    pchina=0;     
    penglish=0;     
    pmath=0;     
    count=0;     
    pointer=head;     
    while(1)     
    {     
      pchina=pchina+pointer->china;     
      penglish=penglish+pointer->english;     
      pmath=pmath+pointer->math;     
      count=++count;     
      if(pointer->next==NULL)     
      {     
      break;     
      }     
      pointer=pointer->next;     
  }     
      ppchina=pchina/count;     
      ppenglish=penglish/count;     
      ppmath=pmath/count;     
    printf("china   ping   jun   fen:%d\n",ppchina);     
    printf("english   ping   jun   fen:%d\n",ppenglish);     
    printf("math   ping   jun   fen:%d\n",ppmath);     
  }     
void main()     
  {     
    for(;;)     
    {     
    link   head;     
    link   new1;     
    int   key;     
    int   keynum;     
    printf("0>exit   the   programm.\n");     
    printf("1>create   list.\n");     
    printf("2>search   chengji.\n");     
    printf("3>modify   chengji.\n");     
    printf("4>delete   chengji.\n");     
    printf("5>add   chengji.\n");     
    printf("6>pingjunfeng.\n");     
    printf("7>print   chengji.\n");     
    scanf("%d",&key);     
    switch(key){     
            case     0:     
            exit(0);     
            case   1:     
          head=creat_list(head);     
          if(head!=NULL)     
          {   printf_list(head);}     
            break;     
            case     2:     
            printf("please   input   0   Exit.\n");     
            printf("please   input   number   for   search:");     
            scanf("%d",&keynum);     
            if(keynum==0){     
  break;             }     
            search_chengji(keynum,head);     
            break;     
            case     3:     
            printf("please   input   number   for   modify:");     
            scanf("%d",&keynum);     
          head=modify_chengji(head,keynum);     
            if(head!=NULL)     
              {     
                printf_list(head);     
                }     
            break;     
            case     4:     
            printf("please   input   0   exit\n");     
            printf("please   input   number   for   delete:");     
            scanf("%d",&keynum);     
              if(keynum==0){     
  break;           }     
          head=delete_chengji(head,keynum);     
            break;     
            case     5:     
            if(head!=NULL){     
            new1=(link)malloc(sizeof(node));     
            printf("please   input   number:");     
            scanf("%d",&new1->num);     
            if(new1->num==0){     
    break;}     
            printf("please   input   name:");     
            scanf("%s",&new1->name);     
            printf("please   input   china:");     
            scanf("%d",&new1->china);     
            printf("please   input   english:");     
            scanf("%d",&new1->english);     
            printf("please   input   math:");     
            scanf("%d",&new1->math);     
            printf("please   input   the   data   number   for   insert:");     
            scanf("%d",&keynum);     
            head=insert_chengji(head,new1,keynum);     
            if(head!=NULL)   {     
              printf_list(head);}      
            }     
            break;     
            case   6:     
            pingjufen(head);     
            break;     
            case   7:     
            printf_list(head);     
            break;     
            }     
            }     
    }     

⌨️ 快捷键说明

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