求C语言大神帮忙解答,在线等

[程序文件名:ts2.c和ts2.exe]编程保存高考信息(编号,姓名,性别,年龄,总分),高考信息通过键盘输入,保存在gk.dat文件中。(至少保存3个人的信息)。创建... [程序文件名:ts2.c和ts2.exe]
编程保存高考信息(编号,姓名,性别,年龄,总分),高考信息通过键盘输入,保存在gk.dat文件中。(至少保存3个人的信息)。创建完毕,再读该文件,输出总分高于240分的高考记录。信息的录入和总分高于240分的查询通过菜单选项来完成。
展开
 我来答
笃侠6A
2014-09-18 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3207万
展开全部
//ts2.c

#include<stdio.h>
#include<stdlib.h>

void input(char *filename){
FILE *fout;
char bh[10], xm[9], xb[3]; //编号,姓名,性别
int nl, zf; //年龄,总分
fout=fopen(filename,"w");
if(!fout){
printf("打开文件时出错!\n");
return 1;
}
printf("请输入:\n编号(0 - 结束输入):");
scanf("%s", bh);
while(bh[0]!='0'){
printf("姓名:");
scanf("%s", xm);
printf("性别:");
scanf("%s", xb);
printf("年龄:");
scanf("%d", &nl);
printf("总分:");
scanf("%d", &zf);
fprintf(fout,"%s %s %s %d %d\n", bh,xm,xb,nl,zf);
printf("请输入编号(0 - 结束输入):");
scanf("%s", bh);
}
fclose(fout);
}
void output(char *filename){
FILE *fin;
char bh[10], xm[9], xb[3]; //编号,姓名,性别
int nl, zf; //年龄,总分
fin=fopen(filename,"r");
if(!fin){
printf("打开文件时出错!\n");
return 1;
}
printf(" 编号 姓名 性别 年龄 总分\n");
fscanf(fin, "%s", bh);
while(!feof(fin)){
fscanf(fin,"%s%s%d%d", xm, xb, &nl, &zf);
if(zf>=240)
printf("%8s%8s%6s%6d%8d\n", bh,xm,xb,nl,zf);
fscanf(fin, "%s", bh);
}
fclose(fin);
}
int main(){
char fn[]="gk.dat";
char ch;
while(1){
printf("\n\n1 信息录入\t 2 总分查询\t 0 退出\n");
printf("请选择(0 - 2):");
scanf("%c",&ch);
if(ch=='0')
break;
if(ch=='1')
input(fn);
else if(ch=='2'){
output(fn);
printf("打一键继续……");
getchar();
getchar();
}
}
return 0;
}
追问
能稍微讲一下你的思路吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式