结构体 将数据存入文件
题目是输入是个学生的姓名和成绩 按照成绩排序 算平均值 然后存入文件下面是代码开头的一部分
带“****”的一行 devcpp报错“unknown type name'student'”.
student 我定义的是结构体
希望大神可以帮忙看看为什么报错。
#include <stdio.h>
struct student
{
char name;
float mathScore;
};
void input(student score[],int n);//录入学生信息 ****
void sort(student score[],int n);//按数学成绩排序
void aver(student score[],int n);//学生的数学成绩平均分
void createFile(FILE *fp);//创建存储数据的文件
void save(student score[],int n,FILE *fp)
const int n=10;//输入10个数 struct student score[] 赚小钱 发表于 2021-3-29 21:11
struct student score[]
改完以后还是有问题
expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 全部代码
#include <stdio.h>
struct Date
{
int year,month,day;
};
struct student
{
char name;
float mathScore;
};
void input(student score[],int n);//录入学生信息
void sort(student score[],int n);//按数学成绩排序
void aver(student score[],int n);//学生的数学成绩平均分
void createFile(FILE *fp);//创建存储数据的文件
void save(student score[],int n,FILE *fp)
const int n=10;//输入10个数
int main()
{
FILE *fp;
student str;
input(str,n);
sort(str,n);
output(str,n);
createFile(fp);
save(str,n,fp);
}
void input(student score[],int n)
{
int i;
struct student score;
for(i=0;i<10;i++)//从键盘输入10个学生的姓名和分数
scanf("%s%f",&score.name,&score.mathScore);
}
void sort(student score[],int n)
{
int j;
struct student t;
for(i=0;i<9;i++)
{
for(j=9;j>i;j--)
{
if(score.mathScore>score.mathScore)
{
t=score;
score=score;
score=t;
}
}
}
}
void aver(student score[],int n)
{
float aver,sum=0;
for(i=0;i<10;i++)
{
sum=sum+score.mathScore;
}
aver=sum/10;
}
void createFile(FILE *fp)
{
fp=fopen("student score","w");
if(!fp)
{
printf("file open faile!");
exit(0);
}
fprintf(fp,"%s %s","姓名","成绩");
fclose(fp);
printf("File created successfully!\n");
}
void save(student score[],int n;FILE *fp)
{
fp=fopen("student score","a");
if(!fp)
{
printf("file open faile!");
exit(0);
}
for(i=0;i<10;i++)
{fprintf("%s\t%.2f\n",score.name,score.mathScore);}
fprintf("the average score=%.2f\n",aver);
fclose(fp);
printf("data save successfully!\n");
}
你这错误实在是太多了
1.fprintf参数错误,
2.main函数中的fp在未初始化的状态下直接将其当做参数传递给函数
3.结构体要么定义的时候加typedef,要么声明变量的时候加入sturct
4.for循环中用到的i变量在函数中未声明
5.exit(0),使用这个函数必须包含头文件stdlib.h
6.用#define N 10 代替 const int N = 10;
7.ouput函数功能没有实现
页:
[1]