用c语言编写一个程序实现学员成绩
#include
#include
#define n 20
int static index=0;
struct student
{
int num;
char name[n];
float chengji[3];
float ave;
}str[n];
pa(int a,int b)
{
int x=0,i;
if(a!=0)
{
for(i=0;i0;i++,a--)
{
x=1;
}
}
else
if(str[a]。 num>0)
x=1;
return x;
}
void shuru(struct student *p)
{
int i,j=0;
float *q;
char...全部
#include
#include
#define n 20
int static index=0;
struct student
{
int num;
char name[n];
float chengji[3];
float ave;
}str[n];
pa(int a,int b)
{
int x=0,i;
if(a!=0)
{
for(i=0;i0;i++,a--)
{
x=1;
}
}
else
if(str[a]。
num>0)
x=1;
return x;
}
void shuru(struct student *p)
{
int i,j=0;
float *q;
char continflag;
do{
q=str[j]。
chengji;
printf("请输入学生信息:\n");
printf("学号:");
fflush(stdin);
scanf("%d",&str[j]。num);
if(pa(j,str[j]。
num))
{printf("姓名:");
fflush(stdin);
gets(str[j]。name);
//getchar();
printf("三门成绩:\n");
for(i=0;ichengji;qchengji+3;q++)
{
sum=sum+*q;
}
return sum/3;
}*/
void display(struct student *p)
{
//struct student *q;
//float *q;
float sum=0;
int i;
//q=p;
printf("排序前的信息是:\n");
printf("学号\t姓名\t平均成绩\n");
//for(;qname);
printf("三门成绩:\n");
for(i=0;iave=(str[index-1]。
chengji[1]+str[index-1]。chengji[2]+str[index-1]。chengji[3])/3;
p++;
}
else
printf("学号输入错误请从新输入!\n");
}
shanchu(struct student *p,int a)
{
int i;
for(i=0;i num==a)
{
for(;i num==a)
{
printf("请选择修改项目。\n");
printf("1。修改姓名\n2。修改成绩\n");
scanf("%d",&j);
switch(j)
{
case 1:
{
printf("姓名:");
fflush(stdin);
scanf("%d",str[a-1]。
name);
break;
}
case 2:
{
printf("三门成绩:\n");
for(i=0;i<3;i++)
{
printf("成绩%d: ",i+1);
scanf("%f",&str[a-1]。
chengji[i]);
}
break;
}
}
}
}
}
void main()
{
int i;
//struct student *a;
char continflag;
//a=str;
shuru(str);
printf("%d",index);
display(str);
pandisplay(str);
printf("是否插入信息(Y or N)");
fflush(stdin);
continflag=getchar();
while(continflag == 'Y' || continflag == 'y')
{
charu(str);
pandisplay(str);
printf("是否再次插入信息(Y or N)");
fflush(stdin);
continflag=getchar();
}
pandisplay(str);
printf("是否删除信息(Y or N)");
fflush(stdin);
continflag=getchar();
while(continflag == 'Y' || continflag == 'y')
{
printf("请输入要删除信息的学号:");
fflush(stdin);
scanf("%d",&i);
shanchu(str,i);
pandisplay(str);
printf("是否再次删除信息(Y or N)");
fflush(stdin);
continflag=getchar();
}
printf("是否修改信息(Y or N)");
fflush(stdin);
continflag=getchar();
while(continflag == 'Y' || continflag == 'y')
{
printf("请输入要修改信息的学号:");
fflush(stdin);
scanf("%d",&i);
xiugai(str,i);
printf("是否再次修改信息(Y or N)");
fflush(stdin);
continflag=getchar();
}
display(str);
}。
收起