| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 498 人关注过本帖
标题:求大神帮忙改,能用code。blocks运行就行了作业需求,急(您的善良将改变一 ...
只看楼主 加入收藏
那时明月
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
求大神帮忙改,能用code。blocks运行就行了作业需求,急(您的善良将改变一个孩子的一生)
#ifndef H_STUDENT_HH
#define H_STUDENT_HH

#include "stdio.h"
#include "string.h"
#include "malloc.h"


#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/
#define numsubs 5 /*学科数目*/
typedef struct message_student /*结构体定义*/
{
char number[6];
char name[20];
char sex[4];
float subject;
float score;
float average;
int index;
}student;


extern int numstus; /*学生数目*/
extern student *pointer; /*指向结构体数组*/
extern int lens;



int menu_select(); /*函数声明*/
int openfile(student stu[]);
int findrecord(student stud[]);
int writetotext(student stud[]);
void welcome();
void display1();
void showtable();
void sort(student stu[]);
void deleterecord(student stu[],int i);
void addrecord(student stud[]);
void display(student stud[],int n1,int n2);
void amendrecord(student stud[]);
void count(student stud[]);
void sortnum(student stud[]);
void sortnum2(student stud[]);
void sortname(student stud[]);
void sortname2(student stud[]);
void sortcount(student stud[]);
void sortcount2(student stud[]);
void statistic(student stud[]);
void display1();


#endif

//#include "head.h"
int menu_select()
{
char c;
printf("\n\n");
printf(" | 1. 增加学生记录 5.统计信息 |\n");
printf(" | 2. 查询学生记录 6.打开文件 |\n");
printf(" | 3. 修改学生记录 7.保存文件 |\n");
printf(" | 4. 学生纪录排序 8.显示记录 |\n");
printf(" | 0.退出系统 |\n");
printf("\n\n");
printf("请选择(0-8):");
c=getchar();
getchar();
return (c-'0');
}

//#include "head.h"
int findrecord(student stud[]) /*查找信息*/
{
char str[2];
int i,num;
if(numstus==0)
{
  printf("没有可被查找的记录\n");
  return -1;
}
else
{
  printf("以何种方式查找?\n1.学号\t2.姓名\t3.名次\n");
  gets(str);
  if(str[0]=='1') /*按学号查找*/
  {
   printf("请输入学号:");
   gets(str);
   for(i=0;i<=numstus;i++)
    if(strcmp(str,stud.number)==0)
    {
     display(stud,i,i);
     break;
    }
    else continue;
  }
  else if(str[0]=='2') /*按姓名查找*/
  {
   printf("请输入姓名:");
   gets(str);
   for(i=0;i<=numstus;i++)
    if(strcmp(str,stud.name)==0)
    {
     display(stud,i,i);
     break;
    }
    else continue;
  }
  else if(str[0]=='3') /*按名次查找*/
  {
   printf("请输入名次:");
   scanf("%d",&num);
   getchar();
   for(i=0;i<=numstus;i++)
    if(num==stud.index)
    {
     display(stud,i,i);
     break;
    }
    else continue;
  }
  if(i>numstus)
  {
   printf("没有查找所要的信息。\n");
   return -1;
  }
  return i;
}
}




//#include"head.h"
int openfile(student stu[])
{
int i=0,j;
FILE *fp;
char filename[20],str[2];
if(numstus!=0)
{
  printf("已经有记录存在,是否保存?(y/n)");
  gets(str);
  if(str[0]=='y'||str[0]=='Y')
   writetotext(stu);
}
printf("请输入文件名:");
gets(filename);
numstus=0;
if((fp=fopen(filename,"rb+"))==NULL)
{
  printf("无法打开该文件\n");
  return(-1);
}
fscanf(fp,"%d",&numstus);
fgetc(fp);
while(i<numstus)
{
  fscanf(fp,"%s",stu.number);
  fscanf(fp,"%s",stu.name);
  fscanf(fp,"%s",stu.sex);
  for(j=0;j<numsubs;j++)
   fscanf(fp,"%f",&stu.subject);
  fscanf(fp,"%f",&stu.score);
  fscanf(fp,"%f",&stu.average);
  fscanf(fp,"%d",&stu.index);
  i++;
}
fclose(fp);
printf("文件读取成功\n");
printf("是否显示纪录?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
  display(stu,0,numstus-1);
return(0);
}
//#include "head.h"
void sort(student stud[])
{
int i,j=0;
char str[5];
student *p;
p=stud;
if(numstus==0)
{
  printf("没有可供查询的记录!");
}
while(1)
{
  for(i=0;;i++)
  {
   printf(" 请输入查询方式:");
   printf("(直接输入回车则结束查询操作)\n");
   printf("1.按照学号\t");
   printf("2.按照姓名\t");
   printf("3.按照名次\n");
   gets(str);
   if(strlen(str)==0) break;
   if(str[0]=='1')
   {
    printf("请输入排序次序:\n");
    printf("1.升序排列\t");
    printf("2.降序排列\n");
    gets(str);
    if(str[0]=='1')
     sortnum2(p);
    else
     sortnum(p);
    display(stud,0,numstus-1);
   }
   else if(str[0]=='2')
   {
    printf("请输入排序次序:\n");
    printf("1.升序排列\t");
    printf("2.降序排列\n");
    gets(str);
    if(str[0]=='1')
     sortname2(p);
    else
     sortname(p);
    display(stud,0,numstus-1);
   }
   else if(str[0]=='3')
   {
    printf("请输入排序次序:\n");
    printf("1.升序排列\t");
    printf("2.降序排列\n");
    gets(str);
    if(str[0]=='1')
     sortcount2(p);
    else
     sortcount(p);
    display(stud,0,numstus-1);
   }
   else printf("请输入1~3");
   printf("是否退出排序?(y/n)");
   gets(str);
   if(str[0]=='y'||str[0]=='Y') break;
  }
  return;
}
}
void sortnum(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(strcmp(stud[j+1].number,stud.number)>0)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
void sortnum2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(strcmp(stud.number,stud[j+1].number)>0)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
void sortname(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(strcmp(stud[j+1].name,stud.name)>0)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
void sortname2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(strcmp(stud.name,stud[j+1].name)>0)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
void sortcount(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(stud[j+1].index>stud.index)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
void sortcount2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
  for(j=0;j<numstus-i-1;j++)
  {
   if(stud.index>stud[j+1].index)
   {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
    *(p+j+1)=temp;
   }
  }
}
//#include"head.h"
void statistic(student stud[]) /*新增功能,输出统计信息*/
{
int i,j=0,k=0;
char c1,str[2];
float average,sum=0;
if(numstus==0)
  printf("没有可被查找的记录\n");
else
{
  while(1)
  {
   printf("下面将统计考试成绩\n");
   printf("请选择你要统计哪科的成绩 1.A\t2.B\t3.C\t4.D\t5.E\n");
   c1=getchar();
   printf("\t一共有个%d记录\n",numstus); /*总共记录数*/
   switch(c1)
   {
   case '1':
    for(i=0;i<numstus;i++) /*循环输入判断*/
    {
     sum+=stud.subject[0];
     if(stud.subject[0]>stud.subject[0]) k=i;
     if(stud.subject[0]<stud.subject[0]) j=i;
    }
    average[0]=sum/numstus;
    printf("\t科目A的最高分:\n"); /*最高分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[0]);
    printf("\t科目A的最低分是:\n"); /*最低分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[0]);
    printf("\t科目A的平均分是 %5.2f\n",average[0]); /*平均分*/
    break;
   case '2':
    for(i=0;i<numstus;i++) /*循环输入判断*/
    {
     sum+=stud.subject[1];
     if(stud.subject[1]>stud.subject[1]) k=i;
     if(stud.subject[1]<stud.subject[1]) j=i;
    }
    average[1]=sum/numstus;
    printf("\t科目B的最高分:\n"); /*最高分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[1]);
    printf("\t科目B的最低分是:\n"); /*最低分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[1]);
    printf("\t科目B的平均分是 %5.2f\n",average[1]); /*平均分*/
    break;
   case '3':
    for(i=0;i<numstus;i++) /*循环输入判断*/
    {
     sum+=stud.subject[2];
     if(stud.subject[2]>stud.subject[2]) k=i;
     if(stud.subject[2]<stud.subject[2]) j=i;
    }
    average[2]=sum/numstus;
    printf("\t科目C的最高分:\n"); /*最高分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[2]);
    printf("\t科目C的最低分是:\n"); /*最低分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[2]);
    printf("\t科目C的平均分是 %5.2f\n",average[2]); /*平均分*/
    break;
   case '4':
    for(i=0;i<numstus;i++) /*循环输入判断*/
    {
     sum+=stud.subject[3];
     if(stud.subject[3]>stud.subject[3]) k=i;
     if(stud.subject[3]<stud.subject[3]) j=i;
    }
    average[3]=sum/numstus;
    printf("\t科目D的最高分:\n"); /*最高分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[3]);
    printf("\t科目D的最低分是:\n"); /*最低分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[3]);
    printf("\t科目D的平均分是 %5.2f\n",average[3]); /*平均分*/
    break;
   case '5':
    for(i=0;i<numstus;i++) /*循环输入判断*/
    {
     sum+=stud.subject[4];
     if(stud.subject[4]>stud.subject[4]) k=i;
     if(stud.subject[4]<stud.subject[4]) j=i;
    }
    average[4]=sum/numstus;
    printf("\t科目E的最高分:\n"); /*最高分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[4]);
    printf("\t科目E的最低分是:\n"); /*最低分*/
    printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud.number,stud.name,stud.subject[4]);
    printf("\t科目E的平均分是 %5.2f\n",average[4]); /*平均分*/
    break;
   default:printf("输入错误!请输入1~5之间的数\n");
   }
   sum=0;
   getchar();
   printf("是否继续进行统计?(y/n)");
   gets(str);
   if(str[0]=='y'||str[0]=='Y') ;
   else break;
  }
}
}


int writetotext(student stud[]) /*将所有记录写入文件*/
{
int i=0,j;
FILE *fp;
char filename[20];
printf("输入文件名称:");
gets(filename);
fp=fopen(filename,"w");
fprintf(fp,"%d\n",numstus);
while(i<numstus)
{
  fprintf(fp,"%s %s %s ",stud.number,stud.name,stud.sex);
  for(j=0;j<numsubs;j++)
   fprintf(fp,"%f ",stud.subject);
  fprintf(fp,"%f %f %d ",stud.score,stud.average,stud.index);
  i++;
}
fclose(fp);
printf("已成功存储!\n");
display(stud,0,numstus-1);
numstus=0;
return 0;
}


void welcome()
{
printf("\t*************************************************************\n");
printf("\t\t\t\t这是一个学生成绩管理系统\n\t\t\t\t 倾情奉献 欢迎使用!\n");
printf("\t*************************************************************\n");

}


void showtable()
{
printf("---------------------------------------------------------------------------------------\n");
printf("学号\t姓名\t性别\tA\tB\tC\tD\tE\t总分\t平均分\t名次\n");
printf("---------------------------------------------------------------------------------------\n");
}


void display(student stud[],int n1,int n2)
{
int i;
showtable(); /*显示表头*/
for(i=n1;i<=n2;i++)
  printf("%s\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\t\n",stud.number,stud.name,stud.sex,stud.subject[0],stud.subject[1],stud.subject[2],stud.subject[3],stud.subject[4],stud.score,stud.average,stud.index);
/*通过循环输出数据*/

}
void display1()
{
printf("\t\t本系统由计应精英一组亲情制作\n\n");
printf("\t\t制作人员列表: (按比划)\n");
printf("\t\t王庆斌\t\t\t张威\n\t\t李智\t\t\t周在峰\n\t\t杨凯\t\t\t胡杨\n");
printf("\n\n");
getchar();
}



#include<string.h>
void amendrecord(student stud[])
{
char str[5]; /*供用户输入*/
int i=-1,j;

if(numstus==0) /*没有记录返回*/
  printf("没有可供修改的记录!");
while(i<0)
{
  i=findrecord(stud);
  if(i>=0)
  {
   printf("要删除这个学生的信息吗?(y/n)");
   gets(str);
   if(str[0]=='y'||str[0]=='Y')
   {
    deleterecord(stud,i);
    count(stud);
   }
   else
   {
    printf("确定要修改这个学生的信息吗?(y/n)");
    gets(str);
    if(str[0]=='y'||str[0]=='Y')
    {
     
     printf("下面请重新输入学生的信息:\n");
     printf("请输入学号:");
     gets(stud.number);
     printf("请输入姓名:");
     gets(stud.name);
     printf("请输入性别(男/女 1/0):");
     gets(str);
     if(str[0]=='0')
      strcpy(stud.sex,"女");
     else
      strcpy(stud.sex,"男");
     stud.score=0;
     printf("请按顺序输入成绩:");
     for(j=0;j<numsubs;j++)
     {
      scanf("%f",&stud.subject);
      stud.score+=stud.subject;
     }
     getchar();
     stud.average=stud.score/numsubs;
    }
    count(stud);
   }
   display(stud,0,numstus-1);
  }
  printf("是否继续进行其他修改?(y/n)\n");
  gets(str);
  if(str[0]=='y'||str[0]=='Y')
   i=-1;
  else i=1;
}
}

void deleterecord(student stu[],int i) /*删除信息*/
{
int j;

while(i>=0)
{
  for(j=i;j<numstus;j++)
   stu=stu[j+1];
  numstus--;
  printf("删除成功!\n");
  
  
}
}

void count(student stud[])
{
int i,j;
for(i=0;i<numstus;i++)
{
  stud.index=1;
  for(j=0;j<numstus;j++)
   if(stud.score>stud.score)
    stud.index++;
}
}





void addrecord(student stud[])
{
int i=0,j,num;
char str[5];
if(numstus!=0)
{
  printf("已有记录存在是否覆盖?(y/n)\n");
  gets(str);
  if(str[0]=='Y'||str[0]=='y')
   i=0;
  else i=numstus;
}

printf("请输入增加的学生信息条目数:");
scanf("%d",&num);
if(i==0)
  numstus=num;
else numstus+=num;
if(numstus>lens)
{
  lens+=50;
  pointer=(student *)realloc(pointer,lens*LEN);
}
printf("请输入学生信息:\n");
for(;i<numstus;i++)
{
  getchar();
  printf("请输入学号:");
  gets(pointer.number);
  printf("请输入姓名:");
  gets(pointer.name);
  printf("请输入性别(男/女 1/0):");
  gets(pointer.sex);
  if(pointer.sex[0]=='0') strcpy(pointer.sex,"女");
  else strcpy(pointer.sex,"男");
  printf("请输入各科成绩:(按ABCDE的顺序):");
  stud.score=0;
  for(j=0;j<numsubs;j++)
  {
   scanf("%f",&stud.subject); /*计算总分*/
   stud.score+=stud.subject;
  }
  stud.average=stud.score/numsubs; /*计算平均分*/
}
count(stud); /*附名次*/
display(stud,0,numstus-1);
getchar();
}
int numstus;
int lens;
student *pointer;
void main()
{
int i=1;
char str[2];
lens=100;
pointer=(student *)malloc(lens*LEN); /*分配内存*/
numstus=0;
welcome(); /*欢迎界面*/
while(i>0)
{
  i=menu_select(); /*控制菜单*/
  switch(i)
  {
  case 1:addrecord(pointer);break; /*增加学生信息*/
  case 2:findrecord(pointer);break; /*查询学生信息*/
  case 3:amendrecord(pointer);break; /*修改学生信息*/
  case 4:sort(pointer);break; /*学生信息排序*/
  case 5:statistic(pointer);break; /*统计信息*/
  case 6:openfile(pointer);break; /*打开文件*/
  case 7:writetotext(pointer);break; /*保存文件*/
  case 8:display(pointer,0,numstus-1);break; /*显示记录*/
  case 0:
   if(numstus!=0) printf("是否保存当前记录?(y/n)");
   gets(str);
   if(str[0]=='y'||str[0]=='Y')
    writetotext(pointer);
   i=-1;break; /*退出系统*/
  default:printf("请输入数字0~8:\n");i=1; /*输入错误*/
  }
}
printf("\t\t欢迎再次使用本系统。\n\n");
display1();
}
搜索更多相关主题的帖子: average include number 结构体 元素 
2014-12-13 23:49
那时明月
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-13
收藏
得分:0 
呜呜呜,没人回。。。。
2014-12-13 23:56
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:4 
代码very长啊
2014-12-14 00:11
cwlmyjm
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2014-11-2
收藏
得分:4 
very long long long
2014-12-14 01:18
流逝
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2014-12-14
收藏
得分:4 
一百多个错。
2014-12-14 09:08
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:4 
what are you doing? why is it so long?

一片落叶掉进了回忆的流年。
2014-12-14 10:10
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:4 
我们的善良将助长一个孩子不劳而获的懒惰心理
2014-12-14 15:29
Allure陌殇
Rank: 2
等 级:论坛游民
帖 子:4
专家分:18
注 册:2014-12-4
收藏
得分:4 
看一下 没你的复杂  


/*该源码包括11个函数(包含main函数)*/
//student_new
//student_del
//student_edit
//score_input
//score_edit
//browser

//⑦page_title(main函数调用)
//⑧return_confirm(前五个函数调用)
//⑨search_id(第2/3/5个函数调用)
//⑩sort_it(browser函数调用)

//main(调用前七个函数)


/*学生成绩管理*/
/*Borland C下编译通过,调试过程中不要输入大数字*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int INDEX[32];

//结构体变量
struct STUDENT
{
    int id;
    int age;
    int chinese,math,english;
    char name[21];
}students[32];

void page_title(char *menu_item){
 printf(">>> 学 生 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);
}//

void return_confirm(void){
    printf("\n按任意键返回……\n");
    getch();
}//


void student_new(void){
    int n;
    page_title("录入学生基本信息");
    for(n=0;n<32;n++)
    if(students[n].id==0) break;
    printf("学号:");
    scanf("%d",&students[n].id);
    printf("姓名:");
    scanf("%s",&students[n].name);
    printf("年龄:");
    scanf("%d",&students[n].age);
    return_confirm();
}//①

int search_id(void){
    int n,i;
    printf("请输入学生学号:");
    scanf("%d",&i);
    for(n=0;n<32;n++)
    {
        if(students[n].id==i&&students[n].id!=0)
        {
            printf("学号:%d\n",students[n].id);
            printf("姓名:%s\n",students[n].name);
            printf("年龄:%d\n",students[n].age);
            return n;
        }
    }
    printf("\n输入错误或学号不存在.\n");
    return -1;
}//

void student_del(void){
    int n;
    page_title("注销学生基本信息");
    if((n=search_id())!=-1) students[n].id=0;
    printf("\n!该学生已注销.\n");
    return_confirm();
}//③

void student_edit(void){
    int n;
    page_title("编辑学生基本信息");
    if((n=search_id())!=-1)
    {
        printf("\n请重新输入新信息:\n学号:");
        scanf("%d",&students[n].id);
        printf("姓名:");
        scanf("%s",&students[n].name);
        printf("年龄:");
        scanf("%d",&students[n].age);
        }
    return_confirm();
}//②


void score_input(void){
    int s,n,t;
    page_title("录入成绩");
    printf("\n请用数字键选择科目\n1.语文 2.数学 3.英语\n");
    scanf("%d",&s);
    for(n=0;n<32;n++)
    {
        if(students[n].id!=0)
        {
            printf("学号:%d 姓名:%s 成绩:",students[n].id,students[n].name);
            scanf("%d",&t);
            switch(s)
            {
                case 1 : students[n].chinese=t;break;
                case 2 : students[n].math=t;break;
                case 3 : students[n].english=t;break;
            }
        }
    }
    return_confirm();
}//④

void score_edit(void){
    int n;
    page_title("修改成绩");
    if((n=search_id())!=-1)
    {
        printf("语文:%d 数学:%d 英语:%d\n",students[n].chinese,students[n].math,students[n].english);
        printf("\n请重新输入成绩:\n语文:");
        scanf("%d",&students[n].chinese);
        printf("数学:");
        scanf("%s",&students[n].math);
        printf("英语:");
        scanf("%d",&students[n].english);
    }
    return_confirm();
}//⑤

void sort_it(char nn){
    int n,m,p,x,t[32];
    for(n=0;n<32;n++)
    {
        switch(nn)
        {
            case '1' : t[n]=students[n].id;break;
            case '2' : t[n]=students[n].chinese;break;
            case '3' : t[n]=students[n].math;break;
            case '4' : t[n]=students[n].english;break;
            case '5' : t[n]=students[n].chinese+students[n].math+students[n].english;break;
        }
    }
    for(n=0;n<32;n++)
    {
        x=0;
        p=-1;
        for(m=0;m<32;m++)
        {
            if(t[m]>x)
            {
                x=t[m];
                p=m;
            }
        }
        t[p]=-1;
        INDEX[n]=p;
    }
}//

void browser(void){
    int n,x;
    char k;
    sort_it('1');
    while(1)
    {
        page_title("浏览");
        printf("按数字键选择排序方式或按 0 返回\n");
        printf("学号\t姓名\t年龄\t语文\t数学\t英语\t总分\n");
        for(n=0;n<32;n++)
        {
            if(INDEX[n]!=-1)
            {
                x=INDEX[n];
                printf("%d\t%s\t",students[x].id,students[x].name);
                printf("%d\t%d\t",students[x].age,students[x].chinese);
                printf("%d\t%d\t",students[x].math,students[x].english);
                printf("%d\n",students[x].chinese+students[x].math+students[x].english);
            }
        }
        k=getch();
        if(k<'6'&&k>'0') sort_it(k);
        else if(k=='0') break;
        else continue;
    }
}//⑥

void main(void){
    menu: page_title("操作选单");
    printf("请用数字键选择操作\n");
    printf("1.录入学生基本信息\n2.修改学生基本信息\n");
    printf("3.注销学生基本信息\n4.录入成绩\n5.修改成绩\n");
    printf("6.浏览...\n0.退出\n");
    switch(getch())
    {
        case '1' : student_new();break;
        case '2' : student_edit();break;
        case '3' : student_del();break;
        case '4' : score_input();break;
        case '5' : score_edit();break;
        case '6' : browser();break;
        case '0' : exit(0);
    }
}
2014-12-14 19:25
快速回复:求大神帮忙改,能用code。blocks运行就行了作业需求,急(您的善良将改 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030314 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved