#include"stdio.h"
#include"string.h"
//声明学员结构
struct Student
{
int flag;
char xuehao[10];
char name[10];
float score[3];
}stu[50]={0};
void paixu(Student stu[]);
//添加学员信息
Student Add()
{
Student stu;
stu.flag=1;
printf("学号:");
scanf("%s",stu.xuehao);
printf("姓名:");
scanf("%s",stu.name);
printf("三门成绩:\n");
printf("成绩1: ");
scanf("%f",&stu.score[0]);
printf("成绩2: ");
scanf("%f",&stu.score[1]);
printf("成绩3: ");
scanf("%f",&stu.score[2]);
return stu;
}
//计算平均成绩
float pingjun(Student stu)
{
return (stu.score[0]+stu.score[1]+stu.score[2])/3;
}
//显示学员信息
void display(Student stu[50])
{
printf("flag\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for(int i=0;i<50;i++)
{
if(stu[i].flag==0)continue;
printf("%d\t",stu[i].flag);
printf("%s\t",stu[i].xuehao);
printf("%s\t",stu[i].name);
printf("%-6.2f\t%-6.2f\t%-6.2f\t",stu[i].score[0],stu[i].score[1],stu[i].score[2]);
printf("%-6.2f\t\n",pingjun(stu[i]));
}
}
/*
void display1(Student *stu)
{
printf("flag\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
paixu(stu);
for(int i=0;i<50;i++)
{
if(stu[i].flag==0)continue;
printf("%d\t",stu[i].flag);
printf("%s\t",stu[i].xuehao);
printf("%s\t",stu[i].name);
printf("%-6.2f\t%-6.2f\t%-6.2f\t",stu[i].score[0],stu[i].score[1],stu[i].score[2]);
printf("%-6.2f\t\n",pingjun(stu[i]));
}
}
*/
//删除某学员
void Delete(Student *stu)
{
stu->flag=0;
}
//排序学员组
void paixu(Student stu[])
{
\\要求按平均成绩排序~~
}
//插入学员
/*
void insert( Student stu[])
{
}
*/
void main()
{
int count=0;
int i=0;
printf("请输入学员信息:");
char c;
c='y';
do{
stu[i++]=Add();
printf("还要继续输入吗?<y or n>");
fflush(stdin);
c=getchar();
count++;
}while(c=='y'||c=='Y');
printf("排序前的学员成绩如下:\n");
display(stu);
printf("排序后的学员成绩如下:\n");
do{
printf("是否要插入新学员?<y or n>");
fflush(stdin);
c=getchar();
stu[i++]=Add();
}while(c=='y'||c=='Y');
printf("插入新学员后学员的信息如下:\n");
do{
printf("是否要删除某学员?<y or n>");
fflush(stdin);
c=getchar();
Delete(stu);
count++;
}while(c=='y'||c=='Y');
printf("删除后学员的信息如下:");
}
帮忙补一下2个函数,不知道怎么写了~~
[此贴子已经被作者于2006-9-14 17:29:45编辑过]