首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额由公式金额一单价*数量计算得出。函数ReadDat
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额由公式金额一单价*数量计算得出。函数ReadDat
admin
2013-12-10
81
问题
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额由公式金额一单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构体数组sell中。请编写函数SortDat()。其功能是:按金额从大到小进行排列,若金额相等,则按产品名称从小到大进行排列,最终排列结果仍存人结构体数组sell中。最后通过main()函数调用函数WriteDat(),把结果输出到文件out.dat中。
【试题程序】
#include
#include
#include
#define MAX 100
typedef struct{
char dm[5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dj; /*单价*/
int sl; /*数量*/
long je; /*金额*/
}PR0;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE*fp;
char str[80],ch[111;
int i;
fp=fopen(”in.dat”,”rII);
for(i=0;i<100;i++){
fgets(str,80,fp);
memcpy(sell
.dm,str,4);
memcpy(sell
.mc,str+4,10)l
memcpy(ch,str+14,4); ch[4]=0;
sell
.dj=atoi(ch);
memepy(eh,str+18,5); ch[5]=0;
sell
.sl=atoi(ch);
sell
.je=(10ng)sell
.dj*sell
.sl;
}
fclose(fp);
}
void WriteDat()
{
FILE*fp;
int i;
fp=fopen(“out.dat”,“w”);
for(i=0Ii<100;i++){
fprintf(fp,“%s%s%4d%5d%101d\n”,sell
.dm,sell
.mc,sell
.dj,sell
.s1.sell
.je);
}
fclose(fp);
}
选项
答案
void SortDat() { int i,j; /*定义变量*/ PRO temp; for(i=0;i
0) /*判断条件*/ {temp=sell[i] sell[i]=sell[j] sell[j]=temp; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/UElZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
哪一个以更好地支持企业或组织的决策分析处理的、面向主题的、集成的、相对稳定的、体现历史变化的数据集合?
按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为
设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则
UNIX系统中,文件存储器的管理采用的是
根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,下面“学校”关系中,因哪一个属性而使它不满足第一范式?
字符A,B,C一次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成多少个不同的字符串?
【】不允许关系模式的属性之间有这样的非平凡函数依赖X→Y,其中X不包含码,Y是非主屑性。
发生中断时被打断程序暂停点称为【】。
若用如下的SQL语句创建一个表S: CREATETABLES(S#char(16)NOTNULL: SNAMEchar(8)NOTNULL,SEXchar(2),AGEinteger) 向表S中插入如下行时,哪一行可以被插入,
设X→Y是一个函数依赖,且对于任何X’∈X,X’→Y都不成立,则称X→Y是—个
随机试题
利用普通网民的上传行为来积累数字资源的信息内容获取方法是()。
肝硬化病人引起肝肾综合征的因素中,下列哪项不正确
常引起动物化脓的病原是()。
胎黄湿热熏蒸证的治法是胎黄寒湿阻滞证的治法是
根据《药品管理法实施条例》,包装不符合规定的中药饮片,生产企业
在不违反法律的强制性规定下,合同的内容由当事人约定,一般包括()。
下列各项中,影响企业当期营业利润的有()。
单位的工资、奖金等现金的支取可以通过一般存款账户办理。()
在IPSec协议族中,有两个主要的协议,分别是______协议和身份认证头协议。
Hecouldn’t______hiscuriositytoseewhatwasinthebox.
最新回复
(
0
)