| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2198 人关注过本帖
标题:用scanf能否做到?
取消只看楼主 加入收藏
xiao_2008
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-22
收藏
 问题点数:0 回复次数:2 
用scanf能否做到?

要求:
从文件IN.dat读数据到一个数据结构数组
IN.dat文件如下:

代码如下:请填写read()函数内容,
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
//销售记录
struct sellrecord
{
char PID[4]; /*产品代码*/
char Name[10]; /*产品名称*/
float Price; /*单价*/
int Num; /*数量*/
float sum ; /*金额*/
};
//定义结构体数组 100条销售记录
struct sellrecord recod[SIZE] ;

//系统菜单
void menu()
{
printf("\n");
printf("\n");
printf("*************商业管理系统客户端************************\n");
printf("\n");
printf(" 功能菜单:\n");
printf("\n");
printf(" S.查看销售记录\n");
printf(" A.销售记录排序\n");
printf(" B.销售记录统计(价格、销售数量、销售金额)\n");
printf(" C.计算总销售金额\n");
printf(" D.形成简单的报表\n");
printf(" E.输出报表到控制台和文件OUT.DAT中\n");
printf(" F.传送报表到服务器端\n");
}
//查看销售记录,从文件中读并防到数组当中
void read()
{
char ch;
FILE *fp;
int i=0;
if((fp=fopen("IN.dat","r"))==NULL) /* 打开一个由argv[1]所指的文件*/
{
printf("not open");
exit(0);
}

printf("产品 单价 数量 金额\n");
while(!feof(fp))
{
fscanf(fp,"PID=%s,Name=%s,Price=%f,Num=%d,sum=%f;\n",recod[i].PID,recod[i].Name,&recod [i].Price,&recod[i].Num,&recod[i].sum);
printf("%s,%s,%f,%d,%f\n",recod[i].PID,recod[i].Name,recod[i].Price,recod[i].Num,recod[i].sum);
i++;
}

for(i=0;i<SIZE;i++)
{
printf("%s,%s,%f,%d,%f\n",recod[i].PID,recod[i].Name,recod[i].Price,recod[i].Num,recod[i].sum);
}

fclose(fp);
printf("\n");
getchar();
}

//主函数
void main()
{
menu();
char order;
while( order!='Q') /*接受命令*/
{
order=getchar();
switch(order)
{
case 'S':read();break;
case 'A':sort();break;
case 'T':testread();break;

}
}
}

搜索更多相关主题的帖子: scanf dat include 系统 数据结构 
2007-07-29 16:18
xiao_2008
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-22
收藏
得分:0 

IN.dat 内容
PID=A010,Name=Peng,Price=1.50,Num=1,sum=;
PID=A007,Name=Peng,Price=1.50,Num=1,sum=;
PID=B001,Name=car,Price=1.50,Num=10,sum=;
PID=A003,Name=Peng,Price=1.50,Num=5,sum=;
PID=0035,Name=mice,Price=1.10,Num=56,sum=;
PID=A001,Name=Peng,Price=1.50,Num=2,sum=;
PID=0002,Name=book,Price=2,Num=2,sum=;
PID=A001,Name=Peng,Price=1.50,Num=11,sum=;
PID=0034,Name=snake,Price=23,Num=56,sum=;
PID=A001,Name=Peng,Price=1.50,Num=17,sum=;
PID=0003,Name=cup,Price=1.2,Num=3,sum=;


看动画片
2007-07-29 16:19
xiao_2008
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-22
收藏
得分:0 

那要怎么样才能把文件中的数据读出来放到结构数组中呢?还望请教......


看动画片
2007-07-31 10:45
快速回复:用scanf能否做到?
数据加载中...
 
   



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

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