| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 660 人关注过本帖
标题:帮忙看下这个程序!回事呢?、
只看楼主 加入收藏
张倚川
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-11
结帖率:54.55%
收藏
 问题点数:0 回复次数:8 
帮忙看下这个程序!回事呢?、
#define N 100
#include "stdio.h"
struct Student
{char name[20];
char reason[20];
float money;
}st[N];
 main()
{FILE *fp;
char ch;
int i;
float f;
if((fp=fopen("file1.rec","wb"))==NULL)
{printf("\n文件file1.rec打不开!\n");
exit(0);
}
i=0;
do
{printf("请输入班费信息:姓名,原因,金额");
scanf("%s%s%f",st[i].name,st[i].reason,&f);
st[i].money=f;
fwrite(&st[i],sizeof(struct Student),1,fp);
i++;
printf("\n 继续输入学生信息(y/n)?");
ch=getchar();}
while(ch=='y'||ch=='Y');
fclose(fp);}
为什么从这里开始就没用了printf("\n 继续输入学生信息(y/n)?");
ch=getchar();}
while(ch=='y'||ch=='Y');
fclose(fp);}
搜索更多相关主题的帖子: money 姓名 
2011-06-19 23:26
c564794923
Rank: 2
等 级:论坛游民
帖 子:64
专家分:95
注 册:2011-5-25
收藏
得分:0 
你的}的对应好像不对,还有,就是有的编译器不支持中文
粗略看了下就这问题
2011-06-20 16:53
小猫天涯klz
Rank: 1
来 自:沧州
等 级:新手上路
帖 子:2
专家分:4
注 册:2011-5-15
收藏
得分:0 
表知道
2011-06-20 17:16
Begin2011
Rank: 2
等 级:论坛游民
帖 子:60
专家分:61
注 册:2011-6-7
收藏
得分:0 
#include <stdio.h>
可以写成
#include "stdio.h"????
2011-06-20 17:25
西元前的D调
Rank: 2
等 级:论坛游民
帖 子:15
专家分:78
注 册:2011-6-20
收藏
得分:0 
#define N 100
#include "stdio.h"
struct Student
{char name[20];
char reason[20];
float money;
}st[N];
main()
{FILE *fp;
char ch;
int i;
float f;
if((fp=fopen("file1.rec","wb"))==NULL)
{printf("\n文件file1.rec打不开!\n");
exit(0);//这里的调用需要包含头文件stdlib.h
}
i=0;
do
{printf("请输入班费信息:姓名,原因,金额");
scanf("%s%s%f",st[i].name,st[i].reason,&f);
st[i].money=f;
fwrite(&st[i],sizeof(struct Student),1,fp);
i++;
printf("\n 继续输入学生信息(y/n)?");
ch=getchar();}
while(ch=='y'||ch=='Y');
fclose(fp);}//这里你用了反花括号,主函数已经结束,以下代码是在主函数外,肯定出错。
printf("\n 继续输入学生信息(y/n)?");
ch=getchar();}
while(ch=='y'||ch=='Y');
fclose(fp);}
2011-06-20 17:40
晴天一阵
Rank: 2
等 级:论坛游民
帖 子:40
专家分:24
注 册:2011-5-21
收藏
得分:0 
scanf("%s%s%f",st[i].name,st[i].reason,&f);
应该是scanf("%s%s%f",&st[i].name,&st[i].reason,&f);
2011-06-20 18:56
我叫小杜
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:105
注 册:2011-6-11
收藏
得分:0 
回复 4楼 Begin2011
这两种表达是一样的

坚持到底,不,轻言,放弃!
2011-06-20 19:23
xu362726904
Rank: 6Rank: 6
等 级:侠之大者
帖 子:160
专家分:471
注 册:2009-6-18
收藏
得分:0 
在你的scanf("%s%s%f",st[i].name,st[i].reason,&f);
        getchar();//加上这个
2011-06-20 21:02
bccn_2012
Rank: 6Rank: 6
等 级:侠之大者
帖 子:158
专家分:447
注 册:2011-5-14
收藏
得分:0 
程序代码:
#define N 100

 #include "stdio.h"

 struct Student

 {char name[20];

 char reason[20];

 float money;

 }st[N];

 main()

 {FILE *fp;

 char ch;

 int i;

 float f;

 if((fp=fopen("file1.rec","wb"))==NULL)

 {printf("\n文件file1.rec打不开!\n");

 exit(0);

 }

 i=0;

 do

 {printf("请输入班费信息:姓名,原因,金额");

 scanf("%s%s%f",st[i].name,st[i].reason,&f); //少了两个取址符 & 
 st[i].money=f;

 fwrite(&st[i],sizeof(struct Student),1,fp);

 i++;

 printf("\n 继续输入学生信息(y/n)?");
     getchar();    //加上一句  
 ch=getchar();}

 while(ch=='y'||ch=='Y');

 fclose(fp);}
  
2011-06-20 22:45
快速回复:帮忙看下这个程序!回事呢?、
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013728 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved