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

📄 chengxu.c

📁 一个小型的学生成绩管理程序 有输入 输出 查询 统计 修改等功能 作课程论文用
💻 C
字号:
#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; 
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,new; 
   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) 
   { 
     new=(link)malloc(sizeof(node)); 
     if(new==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); 
      new->num=cnum; 
      for(i=0;i<256;i++){ 
      new->name[i]=cname[i];} 
      new->china=cchina; 
      new->english=cenglish; 
      new->math=cmath; 
      new->next=NULL; 
      pointer->next=new; 
      pointer=new; 
      } 
      } 
      return head; 
} 
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 new,int key3) 
{ 
    link pointer; 
    pointer=head; 
    while(1) 
    { 
    if(pointer==NULL){ 
    new->next=head; 
    head=new; 
    break;} 
    if(pointer->num==key3){ 
    new->next=pointer->next; 
    pointer->next=new; 
    break;} 
    pointer=pointer->next; 
    } 
 return head; 
    } 
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); 
} 
main() 
{ 
 for(;;) 
 { 
 link head; 
 link new; 
 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){ 
     new=(link)malloc(sizeof(node)); 
     printf("please input number:"); 
     scanf("%d",&new->num); 
     if(new->num==0){ 
 break;} 
     printf("please input name:"); 
     scanf("%s",&new->name); 
     printf("please input china:"); 
     scanf("%d",&new->china); 
     printf("please input english:"); 
     scanf("%d",&new->english); 
     printf("please input math:"); 
     scanf("%d",&new->math); 
     printf("please input the data number for insert:"); 
     scanf("%d",&keynum); 
     head=insert_chengji(head,new,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 + -