/* *************************************************
2.1.用结构体定义10个学生基本信息
学号,姓名,身高,体重,爱好,C语言,英语,高代 平均成绩
1 张三 ...
2 李四 ...
3 王麻子 ...
... ... ...
要求:用函数,指针,数组,文件操作
1)编写函数从键盘上输入学生信息
int input(StudenType *p,int n);
p为StudenType结构类型指针,n为学生个数
2)以上学生信息存入文件中
int save(StudenType *p,int n, char *fileName);
fileName为存储的路径和文件名 如:D:\\data.txt
************************************************* */
#include
#include
struct StudenType
{
int num; //定义学生学号
char *name; //定义学生姓名
char *hobby; //定义学生爱好
int hight; //定义学生身高
int weight; //定义学生体重
float C_score; //定义学生C语言成绩
float English_score; //定义学生英语成绩
float Math_score; //定义学生高代成绩
float ave; //定义学生三科的平均成绩
}stu[10]={
{1,"张三"},
{2,"李四"},
{3,"王麻子"},
{4,"张飞"},
{5,"雨季"},
{6,"陈凯"},
{7,"杨光"},
{8,"刘辉"},
{9,"成城"},
{10,"蒋兰"}
};
int say(struct StudenType *p,int n)
{
for(p=stu;p
return 0;
}
int input(struct StudenType *p,int n)
{
printf("学号\t姓名\t爱好\t身高\t体重\tC语言\t英语\t高代\n");
for(;p
printf("%d\t%s\t",p->num,p->name);
scanf("%s %d %d %f %f %f",&(p->hobby),&(p->hight),&(p->weight),&(p->C_score),&(p->English_score),&(p->Math_score));
}
say(p,10);
return 0;
}
int save(struct StudenType *p,int n, char *fileName)
{
FILE *fp;
int i;
fp=fopen(fileName,"w");
for(i=0;i
return 0;
}
int main(void)
{
int i;
input(stu,10);
printf("\n学号\t姓名\t爱好\t身高\t体重\tC语言\t英语\t高代\t平均\n");
for(i=0;i<10;i++)
{
printf("%d\t%s\t%s\t%d\t%d\t",stu[i].num,stu[i].name,stu[i].hobby,stu[i].hight,stu[i].weight);
printf("%g\t%g\t%g\t%g\t",stu[i].C_score,stu[i].English_score,stu[i].Math_score,stu[i].ave);
}
printf("\n");
save(stu,10,"D:\\data.txt");
return 0;
}