c语言填空题救救孩子吧!

有五个学生,每个学生有三门课的成绩,从键盘上输入学生的学号,姓名,三门课成绩,把它们存放到磁盘文件中,并从该文件中能读出显示。
#include<stdio.h>
#include<stdlib.h>
#define stu struct student
stu
{
long num[20];
char name[20];
float sc1;
float sc2;
float sc3;
}s[5];
void save()
{
FILE *fp;
int i;
if((fp=fopen("e:\\student.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<5;i++)
{
if(fwrite(&s[i],sizeof(stu),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
void load()
{

}
void main()
{
int i;
for(i=0;i<5;i++)
scanf("%s%s%f%f%f",s[i].num,s[i].name,&s[i].sc1,&s[i].sc2,&s[i].sc3);
save();
load();
}
要求:1)上述程序文件名E4-11.C的文件,存放在E盘根目录下;
2)数据文件的文件名为student.dat,存放在E盘根目录下;
3)save函数是实现将学生数据结构体数组存放到student.dat文件中;
4)load函数实现从student.dat文件读出学生数据,将其补充完整;
5)load函数外的语句不允许任何修改。

第1个回答  2020-07-05
FILE *fp;

int i;
if((fp=fopen("e:\\student.dat","rb"))==NULL)
{
printf("cannot open file\n");
return;
}
for (i=0; i<5; ++i)

{
if (fread(&s[i],sizeof(stu),1,fp) != 1)

{
printf("File Read Error.");
}
}
fclose(fp);

说实话,就是把文件打开模式换一下,写换成读,提示信息改一下不就好了嘛(本回答被提问者采纳
第2个回答  2020-07-06
void load()
{
FILE *fp;
int i;
if((fp=fopen("student.dat","r"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<5;i++)
{
fread(&s[i],sizeof(stu),1,fp);
printf("%s %s %f %f %f\n",s[i].num,s[i].name,s[i].sc1,s[i].sc2,s[i].sc3);
}
fclose(fp);
}
你不会是川轻化的吧。。

用C语言编写程序输出一个短句"Welcome to you!"救救孩子吧
{ char buf[]="welcome to you";printf("%s\\n",buf);return 0;}

...9且不是偶数的个整数,并按照从大到小的顺序输出,救救孩子吧...
include <stdio.h>#include <conio.h>int main (void) { int i;for (i=100; i>0; i--)if (i%9==0 && i%2!=0) \/* 能被9整除但不能被2整除 *\/printf ("%d\\t", i);putchar ('\\n'); getch (); \/*屏幕暂留*\/return 0;} ...

一道c语言题,救救孩子吧
i=1,3,5 时候都是x+5;i=2,4的时候x-3 ;i=5中x+5后=10,然后i+1=6发现x=10满足停止

c语言程序,求帮忙做一下,救救孩子?
把输入的数据保存到一个数组中,并且求出这五个成绩的总和÷5就求得平均成绩,然后因为这个平均成绩是一个实数,所以在判断是否指定的同学成绩等于平均成绩时需要使用求差再取绝对值,判断其是否小于一个很小的数的方法,避免直接比较两个实数是否相等。具体的程序代码和运行情况如下图。include <stdio.h...

...x1,x2,x3...)的平均数,结果保留两位小数!!!救救孩子!!!
include<stdio.h>int main(){int i,x,n,s=0;printf("请输入几个整数:");scanf("%d",&n);for(i=0; i<n; i++){scanf("%d",&x);s+=x;}printf("%.2f\\n",(double)s\/n);return 0;}程序是经过运行测试的。准确无误。

...missing';' before'code'怎么解决,救救孩子吧!
你的代码里,某一行代码没有写 ; 句尾符。程序进行语法编译时报错。

c语言编程题,做了一天了,有两题实在不会,老师只教了一点点,让我们自学...
六题,看函数名就知道了。写完才注意到你需要用C语言,但我写的是C++。我也懒得改了,你自己改一下吧,只要把输入输出语句换成C语言的格式就可以了。

c语言有一个错误 我找不出来?
看来程序并没有问题。其实程序可以大大简化(如图),因为else的作用,所以简化掉的条件其实已经满足,所以没必要再写了。只是你的程序文件名中含有多个空格,强烈建议在文件名中不要包含空格。请直接删除空格(或改为下划线if_else...),更改文件名后再重新编译、运行程序。

C语言编程,输入x( x<0.97),求如下多项式的值,到|Sn-Sn-1|<0.000001...
double S = 1;double dS = 1;int n = 1;do { dS = 1;for (int e = 0; e < n; e++) dS = dS * (0.5 - e) * x \/ (e + 1) ;S = S + dS;n++;} while ((dS > 0.000001) || (dS < -0.000001));

c语言根据参数year,month,day显示是星期几的函数两个铅笔处具体是什么意...
第一个是计算闰年数,第二个计算当前是周几的相关函数

相似回答