我正在读一本书,但我想不通,试试看:(它是非英语的,所以我翻译了它)
编写一个程序,要求有 n 个学生,选择 n 个学生(以动态方式),名字是 10 个字符,并记下 5 个字符
从上面的选择中创建一个文本文件 note.txt 并附加连字符以达到 10 个字符(对于名称)。
然后读取文件并从中(仅)计算总数。然后显示注释不大于 10 的人的姓名和注释。
您必须实现 3 个函数:createStudent、createFile 和 readFile,并且不能使用全局变量。
语法:名称必须声明为 char nom[10+1](即 James,然后将添加 5 个连字符以获得 10 个字符)=> james----- 并注意:char[5+1](即15.00 或 07.50)
Tips : 要将note从文本格式转换为float格式,可以使用atof函数
我创建了 createStudent 和 createFile 函数。它们运行良好,但我无法弄清楚最后一部分(readFile 函数)。
我的文本文件有这个形状:Bart------ 04.50 Lisa------ 18.00 Homer----- 03.00
void readFile(int n){
FILE* file = NULL;
double temp= 0.0, average= 0.0;
double *total = (double*)malloc(n*sizeof(double));
int position = 0;
char information[5+1]="";
file = fopen("c:\\myFile.txt","r");
fseek(file,10,SEEK_SET);
while(fgetc(file) != EOF)
{
fscanf(file,"%5s",&information);
temp = atof(information);
total[position]= temp;
position++;
fflush(stdin);
fseek(file,11,SEEK_CUR);
}
fclose(file);
for(int compteur=0;compteur<2;compteur++)
{
moyenne += totalNote[compteur];
}
它可以编译但不起作用,我不知道为什么:(我觉得 C 语言与 java 或 c# 相比实在是太让人头疼了
你能给我一些灯吗?