读取并更改C语言的结构体里面的数据

彩鸽咕咕咕 2018-10-30 08:22:38
要用到指针么......求教育...谢谢大佬们(,,•́.•̀,,)
...全文
694 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyunrui08 2018-12-11
  • 打赏
  • 举报
回复
借楼询问一下,为什么我的average是修改不了的。
wuyunrui08 2018-12-11
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
#define N 3
//定义结构体
typedef struct birth
{
int year;
int month;
int day;
}BIRTH;
typedef struct student
{
int studentID;
char Name[10];
char Sex[3];
BIRTH birthday;
double score[3];
double average;
int rank;
}STUDENT;
void menu(void);
void input_base(STUDENT *p,int n);
void output(STUDENT *p,int n);
void count_average(STUDENT *p,int n);
void rank(STUDENT *p,int n);
//主函数
int main(void)
{
int a;
STUDENT student_base[N];
STUDENT *p=student_base;
while(1)
{
menu();
scanf("%d",&a);
switch(a)
{
case 1:
printf("输入学生的基本信息以及三门课程的成绩。\n");
input_base(p,N);
break;
case 2:
printf("求出每个学和三门课程的平均分。\n");
count_average(p,N);
break;
case 3:
printf("对10名学和按照平均分进行排队。\n");
rank(p,N);
output(p,N);
break;
case 4:
printf("输出每门课程成绩最高的同学的基本信息。\n");
break;
case 5:
exit(0);
}
}
return 0;
}
void input_base(STUDENT *p,int n)
{
int i,j;
for(i=0;i<n;i++)
{
scanf("%d",&(p+i)->studentID);
scanf(" %s",(p+i)->Name);
scanf(" %s",(p+i)->Sex);
scanf("%d",&(p+i)->birthday.year);
scanf("%d",&(p+i)->birthday.month);
scanf("%d",&(p+i)->birthday.day);
for(j=0;j<3;j++)
{
scanf("%lf",&p->score[j]);
}
}
}
void output(STUDENT *p,int n)
{
int i,j;
for(i=0;i<n;i++)
{
printf("ID %d ",(p+i)->studentID);
printf("Name %s",(p+i)->Name);
printf("Sex %s",(p+i)->Sex);
printf("Birthday %-4d",(p+i)->birthday.year);
printf("%-3d",(p+i)->birthday.month);
printf("%-3d",(p+i)->birthday.day);
for(j=0;j<3;j++)
{
printf("score %d %4.3lf ",j,p->score[j]);
}
printf("average%-3lf",(p+i)->average);
printf("rank%-3d",(p+i)->rank);
printf("\n");
}
}
void count_average(STUDENT *p,int n)
{
int i,j;
double sum;
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
sum+=(p+i)->score[j];
p->average=sum/3;
printf("%d %s %4.2lf\n",(p+i)->studentID,(p+i)->Name,(p+i)->average);
}

}
棉猴 2018-11-01
  • 打赏
  • 举报
回复
有代码才好分析
自信男孩 2018-11-01
  • 打赏
  • 举报
回复
这个要具体分析了,建议贴出代码,以便更好的解决你的具体问题

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧