首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位)。产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位)。产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100
admin
2013-12-06
73
问题
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位)。产品名称me(字符型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[111; /*产品名称*/
int dj ; /*单价*/
int sl; /*数量*/
long je; /*金额*/
}PRO;
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[11];
int i;
fp=fopen(“in.dat”,“r”);
for(i=0;i<100;i++)(
fgels(str,80,fp);
memcpy(sell
.dm,str,4);
memcpy(sell
.mc,str+4,10);
memcpy(ch,str+14,4);ch[4]=0;
sell
.dj:atoi(ch);
memcpy(ch,str+18,5);ch[5]=0;
sell
.sl=atoi(ch);
sell
.je=(10ng)sell
.di*sell
.sl;
}
fclose(fp);
}
void WriteDat()
{
FILE*fp;
int i;
fp=fopen(“out.dat”,“W”);
for(i=0;i<100;i++){
fprintf(fp,“%s%s%4d%5d%10td
\n”,sell
.dm,sell
.me.sell
.dj,sell
.sl,
sell
.je);
}
fclose(fp);
}
选项
答案
void SortDat() {int i,j; /*定义变量*/ PRO temp; for(i=0;i
解析
转载请注明原文地址:https://kaotiyun.com/show/MolZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
设有关键码序列(17,8,3,25,16,1,13,19,18,4,6,21),要按关键码值递增的次序排序,用初始增量为4的希尔排序法,一趟扫描后的结果是【】。
第一代数据库系统的出现,标志着
新奥尔良方法将数据库设计分为4个阶段,它们是
按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为
关于计算机语言,下面叙述不正确的是
在关系数据库中,表(table)是三级模式结构中的
用顺序存储结构存储的线性表称作顺序表,用链式存储结构存储的线性表称为【】。
冯.诺伊曼结构的计算机有5大功能部件组成:运算器、控制器、【】、输入设备和输出没备。
若用如下的SQL语句创建一个表S: CREATETABLES(S#char(16)NOTNULL: SNAMEchar(8)NOTNULL,SEXchar(2),AGEinteger) 向表S中插入如下行时,哪一行可以被插入,
设X→Y是一个函数依赖,且对于任何X’∈X,X’→Y都不成立,则称X→Y是—个
随机试题
有关纵隔淋巴结,错误的是
怎样做到一切从实际出发?
A.慢性中性粒细胞性白血病B.急性早幼粒细胞性白血病C.急性淋巴细胞性白血病D.慢性粒单核细胞性白血病E.急性单核细胞性白血病采用诱导分化治疗适于
下列关于胰腺的描述,正确的是
增进食欲的药物应( )。催眠药应( )。
为了激发员工的内在积极性,一项工作最好授予()。
制冷系统中的制冷设备按制冷()的不同,可分为蒸气压缩式制冷和吸收式制冷。
劳动者:工人
Thefiredestroyed
TheHistoryofEarlyCinemaA)Thehistoryofthecinemainitsfirstthirtyyearsisoneofmajorand,tothisday,unparalleled
最新回复
(
0
)