首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学牛数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学牛数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中
admin
2015-11-24
44
问题
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学牛数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其他学生数据指定不变;若找不到,则不做任何操作。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 5
typedef struct student{
long Sno;
char name[10];
float Score[3];
}STU;
vold fun(char*filename,long sno)
( FILE*fp;
STU n;
int i;
fp=fopen(filename,“rb+”);
/**********found***********/
while(!feof(
【1】
))
(fread(&n,sizeof(STU),1,fp);
/**********found***********/
if(n.sno
【2】
sno)break;
}
if(!feof(fp))
{ for(i=0;i<3;i++)
n.8coEe
+=3;
/**********found***********/
fseek(
【3】
,一(long)sizeof
(STU),SEEK CUR);
fwrite(&n,sizeof(STU),1,fp);
}
fclose(fp),
}
main()
{ STU t[N]={{10001,“NaChao”,91,92,77},{10002,“CaoKai”,75,60,88},(10003,“LiSi”,85,70,78},{10004,“FangFang”,90,82,87},{10005,“ZhangSan”,95,80,88}},ss[N];
int i,j;
FILE*fp;
fp=fopen(“student.dat”,“wb”);
fwrite(t,sizeof(STU),N,fp);
fclose(fp);
printf(“\nThe original data:\n”),
fp=fopen(“student.dat”,“rb”);
fread(ss,sizeof(STU),N,fp);
fclose(fp),
for(j=0;j<N;j++)
{printf(“\nNo:%id Name:%一8s
Scores:”,ss[j].sno,ss[j].name);
for(i=0;i(3;i++)
printf(“%6.2f”,ss[j].
score
);
printf(“\n”);
}
fun(“student.dat”,10003);
fp=fopen(“student.dat”,“rb”);
fread(ss,sizeof(STU),N,fp);
fclose(fp),
printf(“\nThe data after modifing:\n”);
for(j=0;j<N;j++)
{printf(“\nNo:%id Name:%一8s
Scores:”,SS[j].sno,ss[j].name);
for(i=0,i<3;i++)
printf(“%6.2f”,SS[j].
score
);
printf(“\n”);
}
}
选项
答案
(1)fp (2)== (3)fp
解析
填空1:while循环语句的循环条件是判断文件是否结束,配合feof函数来完成,其一般形式为“feof(文件指针);”。
填空2:根据题日要求确定if语句条件表达式的内容,满足条件后跳出循环。
填空3:文件定位函数fseek,调用形式为“fseek(文件指针,位移量,起始点);”,此处文件指针是fp。
转载请注明原文地址:https://kaotiyun.com/show/BkID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面对“扬州八怪”理解有误的是()。
在几千年人类文明发展过程中,亚非美欧都留下许多宝贵的文学艺术和建筑遗产,下列属同一大洲的是()。
甲、乙两队同学去植树,甲队有一人植树6棵,其余每人都植树13棵;乙队有一人植树5棵,其余每人都植树10棵。已知两队植树棵数相等,且每队植树的棵数大于100而不超过200,那么甲、乙两队共有多少人?
编号从1到10的10个白球排成一行,现按照如下方法涂红色:①涂2个球:②被涂色的2个球的编号之差大于2。那么不同的涂色方法有多少种?
如下图所示,正方形ABCD的边长是14厘米,其中,BE=CE=7厘米。如果点P以每秒2厘米的速度沿着边线CD从点C出发到点D,那么三角形AEP的面积将以每秒()平方厘米的速度增加。
汉语西文字母词被汉语词典收录的历史已有100多年,收录字母词早已是汉语词典和工具书编纂的惯例和通行的做法。1903年出版的《新尔雅》在正文中收录了“X光线”一词,这是汉语词典首次收入字母词。在辞书史上,这部词典是近代中国最早的一部新语词词典,它虽然还不是纯
下列关于生命科学研究方法与发展过程的叙述,正确的是()。
最新研究显示,所谓“好胆固醇”也许并非真的那么好。研究引用大量基因资料,发现俗称“好胆固醇”的高密度蛋白胆固醇(HDL)水平即使升高,对降低心脏病风险也不一定有帮助;与此同时,因遗传因素而有较高HDL水平的人士患心脏病的风险并不低于天生HDL水平较低的人士
某企业为增值税一般纳税人,购销货物的增值税税率均为17%,2010年1月发生如下经济业务:(1)购进货物取得的增值税专用发票上注明的货物金额为400万元,增值税为68万元;同时支付货物运费4万元,建设基金1000元,装卸费200元,运输途中保险费200
若有定义:charch;当执行以下循环时从键盘输入abcde<回车>,将输出*的个数是while((ch=getchar())==’e’)printf("*");
随机试题
女,68岁。因呕吐,腹泻,意识障碍2天入院,既往有糖尿病史,查血糖44.2mmol/L,疑高渗性非酮症性糖尿病性昏迷。拟用公式计算患者渗透压,应进一步检查
月经周期中期能起正反馈子下丘脑-垂体的激素是
眩晕最早见于哪本医著?()
有价证券之所以能够买卖是因为它( )。
在波士顿矩阵中,幼童区的产品特征是()。
纯种赛马是昂贵的品种。一种由遗传缺陷引起的疾病威胁着纯种赛马,使它们轻则丧失赛跑能力,重则瘫痪甚至死亡。因此,赛马饲养者认为,一旦发现有此种缺陷的赛马应停止饲养。这种看法是片面的。因为一般地说,此种疾病可以通过饮食和医疗加以控制。另外,有此种遗传缺陷的赛马
设f(x,y,z)=ex+y2z,其中z=Z(x,y)是由方程x+y+z+xyz=0所确定的隐函数,则f’x(0,1,一1)=_________.
Readthefollowingpassageandanswerquestions19~25.Forquestions19~25,choosethecorrectanswerfromA,B,CandD.
Commercialpapermayeitherbedealerplacedordirectlyplaced.Ifitisdealerplaced,the(61)sellsitspromissorynotes
A、Sheworeanunsafeseatbelt.B、Shedrovetooquickly.C、Shewasacarelessdriver.D、Shedidn’twearseatbelt.D对话中,女士问男士Jan
最新回复
(
0
)