| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:请各位来指点下!
只看楼主 加入收藏
巴萨卡
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-1-14
收藏
 问题点数:0 回复次数:1 
请各位来指点下!

我要用结构体写个成绩判断.然后写进文件再读出来;下面是我的代码.

我现在成绩判断写好拉。可是写进文件后。文件内容是乱码.而且不能读.

请各位帮忙啊!能把文件读写这里给个代码说明最好!

谢谢拉!
我搞不清楚如何对结构体进行文件读取操作.能帮我对这里详细说明最好.谢谢
#include<stdio.h>
void aaa(struct cat stu[],int size);
struct cat
{
char name[20];
int termlyexam;
int midterm;
int endterm;
double finalgrade;
};
void main()
{
struct cat str[20];
int i=0;
char pd;
FILE *fp;
int k;
struct cat s[20];
do{
printf("输入姓名");
scanf("%s",&str[i].name);
printf("平时成绩:");
scanf("%d",&str[i].termlyexam);
printf("期中成绩:");
scanf("%d",&str[i].midterm);
printf("期末成绩:");
scanf("%d",&str[i].endterm);
i=i+1;
printf("继续输入吗?(y/n):");
scanf(" %c",&pd);
}while(pd=='y'||pd=='Y');
printf("\n\n以下是成绩单:\n");
printf("姓 名\t平时成绩\t期中成绩\t期末成绩\t最终成绩\n");
printf("========\t========\t========\t========\t========\n");
aaa(str,i);
fp=fopen("c:\\123.txt","wb");
if (fp==NULL)
printf("打开错误");
fwrite(str,sizeof(struct cat),20,fp);
fclose(fp);
fp=fopen("c:\\123.txt","rb");
if (fp==NULL)
printf("打开错误");
if(fread(s,sizeof(struct cat),4,fp)!=4)
{
if(feof(fp))
printf("end of");
else
printf("cuowu");
}
printf("%s",s[20]);
fclose(fp);
}
void aaa(struct cat stu[],int size)
{
int j,number=0;//number是最高成绩学生的编号,j是记录条数
double tmp;
for(j=0;j<size;j++)//计算最终成绩
{
stu[j].finalgrade=stu[j].termlyexam*0.1+stu[j].midterm*0.2+stu[j].endterm*0.7;
printf("%-s\t\t%-d\t\t%-d\t\t%-d\t\t\%-3.1f\n",stu[j].name,stu[j].termlyexam,stu[j].midterm,stu[j].endterm,stu[j].finalgrade);
}
// printf("%d",j-1);
//求成绩最高的学生
tmp=stu[0].finalgrade;
for(j=1;j<size;j++)
{
if(stu[j].finalgrade>tmp)
{
tmp=stu[j].finalgrade;
number=j;
}
}
printf("成绩最好的学生是:%s,最终成绩是:%3.1f\n\n",stu[number].name,stu[number].finalgrade);

}

2006-01-14 11:45
qlyiua
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-1-14
收藏
得分:0 

fwrite和fread只能写二进制文件吧,所以写完后你打开文件肯定是乱码,应该能读出来,只是printf("%s",s[20]);好象不对吧

偶也是菜鸟,说的不对高手来改正

2006-01-14 17:24
快速回复:请各位来指点下!
数据加载中...
 
   



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

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