首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学牛数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学牛数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中
admin
2015-11-24
70
问题
程序通过定义学牛结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到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://www.kaotiyun.com/show/BkID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
符合下列哪一情形而在五年以内再犯应当判处有期徒刑以上刑罚之罪的,不构成累犯?()
下列与不作为犯罪相关的表述,哪一选项是正确的?()
消化系统是保证人体新陈代谢正常进行的一个重要系统,是由消化管和消化腺两大部分组成,下列器官或腺体不属于消化系统的是()。
一个水库在年降水量不变的情况下,能够维持全市12万人20年的用水量。在该市新迁入3万人之后,该水库只够维持15年的用水量。市政府号召节约用水,希望能将水库的使用寿命提高到30年。那么该市市民平均需要节约多少比例的水才能实现政府制定的目标?
根据以下资料,回答以下问题。在2008年8月8日至24日奥运会期间,北京市的空气质量不仅天天达标,而且有10天达到一级,全面兑现了对奥运会空气质量的承诺。下图是2008年1~8月北京市大气质量检测情况,图中一、二、三、四级是空气质量等级,一级空气
下列诗句描述与城市之间对应关系错误的是()。
民俗是文化的一种表现形态,即传统与文化的活态形式。它是经过于百年岁月的淘洗留下来的文化精华与现实结合的产物。民俗对于特定的群体有强烈的认同功能,对于当代社会的建设,具有不可替代的作用。这段文字是从什么角度来定义“民俗”的()。
如果两变量之间存在正相关,且所有相关点都落在回归线上,则这两个变量之间的相关系数是()
下列叙述中,正确的是()。
随机试题
GVHR最常见于
排列可摘局部义齿人工牙要达到的目的不包括
易引起排尿突然中断的结石是
在房地产评估中,资本化率又称()。
以净资本为核心的风险监控与预警制度的特点不包括()。
合同变更的特征有( )。
格陵兰岛是地球上最大的岛屿,形成于38亿年前,大部分地区被冰雪覆盖。有大量远古的岩石化石埋藏在格陵兰岛地下,它们的排列就像是一个整齐的堤坝,也被称为蛇纹石,通过这些蛇纹石,人们可以断定格陵兰岛在远古时可能是一块海底大陆。补充以下哪项作为前提可以得出上述结论
电子政务应用系统的建设包括信息收集、业务处理和______3个层面的内容。
有如下程序:intx=3:dofx-=2:cout<<x;}while(!(一x));执行这个程序的输出结果是()。
Thelegallimitfordrivingafterdrinkingis80milligramsofalcohol(酒精)in100millilitersofbloodwhentested.Butthereis
最新回复
(
0
)