首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件IN.DAT中存有1 00个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中;金额一单价*数量计算得ttl。函数ReadDat()是读取
已知在文件IN.DAT中存有1 00个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中;金额一单价*数量计算得ttl。函数ReadDat()是读取
admin
2011-06-14
57
问题
已知在文件IN.DAT中存有1 00个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中;金额一单价*数量计算得ttl。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求;按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存人
结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。
注意;部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
试题程序;
#include
#include
#include
#include
#include
#define MAX 100
typedef struct
{
char dm[5];//产品代码
char mc[11];//产品名称
int dj;//单价
int sl; //数量
long je; //金额
}
PRO;
PRO sell[MAX];
void RcadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE*fp;
char str[80],ch[11];
int i;
fp=fopen("IN.DAT","r");
for(i=0;i
{
fgets(str,80,fp);
memcpy(sell
.dm,str,4);
memcpy(sell
.me,str+4,lO);
memcpy(ch,str+14,4);eh[4]=’\0’;
sell
.dj;=atoi(ch);
memcpy(ch,str+18,4);ch[4]=’\0’;
sell
.sl=atoi(ch);
sell
.je=(long)sell
.dj*sell
. sl;
}
fclose(fp);
}
void WriteDat(void)
{
FILE*fp;
int i;
fp=fopen("OUT6.DAT","w");
for(i=0;i<100;i++)
{
printf("%s%s%4d%5d%51d\n",
sell
.dm,sell
.mc,sell
.dj,sell[1].s1,sell
.je);
fprintf(fp,"% s%s%4d%5d%51d\n",sell
.dm,sell
.me,sell
.dj,sell
.sl,sell
.je);
}
fclose(fp);
}
选项
答案
void SortDat() { int i,j; PROxy; for(i=0;i
解析
本题主要考查数组的排序操作。算法思路;1.i结点与后面的所有j结点比较,若符合条件则交换i、j结点位置。2.然后后移i结点,执行步骤1直到i结点是倒数第二结点为止。
转载请注明原文地址:https://kaotiyun.com/show/braZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
联网计算机在相互通信时必须遵循统一的______。
下列IP地址中属于B类IP地址的是______。
以太网物理地址的长度是______。
在两个物理网络之间至少有一条在物理上连接的线路,但并不能保证两个网络——定能够进行数据交换是()。
WinZip软件为()。
堆栈是一种执行______算法的数据结构。
因特网的主要组成部分包括通信线路、路由器、【 】和信息资源。
下面描述正确的是()。
假冒是大多数黑客采用的攻击方法,不属于它的属性的是()。
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母。删除,余下的字符串内容移到已处理
随机试题
关于公司债券申请上市交易,以下说法正确的有()。 Ⅰ.公司债券上市交易申请应经中国证监会审核同意 Ⅱ.公司债券上市交易申请应经证券交易所审核同意 Ⅲ.签订上市协议的公司应当在规定的期限内公告公司债券上市文件及有关文件 Ⅳ.申请文
创伤抢救中,需首先处理
口服补液盐液体的张力为
(2011年、2009年)污水泵站的设计流量一般按()污水量确定。
世界银行贷款项目完工报告主要内容不含有()。
根据《安全生产法》,矿山建设项目和用于生产、储存危险物品的建设项目,应当分别按照国家有关规定进行()。
地方、部门公布的统计数据涉及国家统计数据,并且与国家统计局公布的数据不一致时,()。
提出遗忘曲线的是()
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
下列程序是用来判断数组中特定元素的位置所在的。#include<conic.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;*k=0;
最新回复
(
0
)