设计一个学生类Cstudent,该类包括学生学号、姓名以及数学、英语、c语言成绩等数据成员;
设计一个学生类Cstudent,该类包括学生学号、姓名以及数学、英语、c语言成绩等数据成员;包括设置学生每门课成绩的函数setScore;计算三门课程平均成绩的函数ave...
设计一个学生类Cstudent,该类包括学生学号、姓名以及数学、英语、c语言成绩等数据成员;
包括设置学生每门课成绩的函数setScore;计算三门课程平均成绩的函数average;计算三门课程总 成绩的函数sum;显示学生数据信息的函数print。应包括构造函数。编写主函数,完成对类的使用。 展开
包括设置学生每门课成绩的函数setScore;计算三门课程平均成绩的函数average;计算三门课程总 成绩的函数sum;显示学生数据信息的函数print。应包括构造函数。编写主函数,完成对类的使用。 展开
展开全部
void print(struct student *);
void input(struct student *);
struct student
{
int num;
char name[20];
int score[3];
}stu[10];
struct student *p;
void main()
{
p = stu;
input(p);
print(p);
system("pause");
}
void input(struct student *p)
{
int i = 0, j;
for(p = stu; p < stu + 2; p++, i++)
{
printf("请输入第%d个人的学号:", i + 1);
scanf("%d",&p->num);
printf("请输入第%d个人的姓名:", i + 1);
scanf("%s",&p->name);
for(j = 0; j < 3; j++)
{
printf("请输入他第%d门课的成绩:", j + 1);
scanf("%d",&p->score[j]);
}
}
p = stu;
}
void print(struct student *p)
{
int num, j;
float avg, sum = 0;
struct student *q;
num = p->score[0];
for(q = p; q < p + 2; q++)
{
for(j = 0; j < 3; j++)
{
if(q->score[j] > num)
num = q->score[j];
sum += q->score[j];
}
}
avg = sum / 3 * 2;
printf("%f\t%d\n", avg, num); //找出最大的一个然后比较,找到最大的那个所在的哪一个stu[i],然后输出这个组的所有数据就搞定···
for(q = p; q < p + 2; q++)
{
for(j = 0; j < 3; j++)
if(q->score[j] == num)
{
printf("%d\t%s\n",q->num, q->name);
for(j = 0; j < 3; j++)
printf("%d\t",q->score[j]);
printf("\n");
break;
}
}
}
void input(struct student *);
struct student
{
int num;
char name[20];
int score[3];
}stu[10];
struct student *p;
void main()
{
p = stu;
input(p);
print(p);
system("pause");
}
void input(struct student *p)
{
int i = 0, j;
for(p = stu; p < stu + 2; p++, i++)
{
printf("请输入第%d个人的学号:", i + 1);
scanf("%d",&p->num);
printf("请输入第%d个人的姓名:", i + 1);
scanf("%s",&p->name);
for(j = 0; j < 3; j++)
{
printf("请输入他第%d门课的成绩:", j + 1);
scanf("%d",&p->score[j]);
}
}
p = stu;
}
void print(struct student *p)
{
int num, j;
float avg, sum = 0;
struct student *q;
num = p->score[0];
for(q = p; q < p + 2; q++)
{
for(j = 0; j < 3; j++)
{
if(q->score[j] > num)
num = q->score[j];
sum += q->score[j];
}
}
avg = sum / 3 * 2;
printf("%f\t%d\n", avg, num); //找出最大的一个然后比较,找到最大的那个所在的哪一个stu[i],然后输出这个组的所有数据就搞定···
for(q = p; q < p + 2; q++)
{
for(j = 0; j < 3; j++)
if(q->score[j] == num)
{
printf("%d\t%s\n",q->num, q->name);
for(j = 0; j < 3; j++)
printf("%d\t",q->score[j]);
printf("\n");
break;
}
}
}
追问
c++写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询