计算机等级考试三级编程解析四

计算机等级考试三级编程解析四,第1张

计算机等级考试三级编程解析四,第2张

第四,产品五大要素的对比安排是一个结构性的操作问题。

中的已知文件中有100条产品销售记录。DAT每条产品销售记录由四部分组成:产品代码dm (4位字符)、产品名称mc (10位字符)、单价dj(整数)、数量sl(整数)、金额je(长整数)。其中:金额=单价*计算数量。ReadDat()函数读取这100条销售记录,并将它们存储在结构数组sell中。请编译SortDat()函数。其功能要求是:产品代码按降序排列。如果产品代码相同,则产品代码按降序排列。最终的排列结果仍然存储在结构数组sell中。最后,调用函数WriteDat()将结果输出到文件OUT8。DAT
给出了部分源程序。
请不要更改主函数()、读取数据函数ReadDat()和输出数据函数WriteDat()的内容。
# include
# include
# include
# include
# include

# define MAX 100
typedef struct {
char DMvoid SortDat()
{;/*产品代码*/
char MCfp=fopen("OUT8。DAT”、“w”);
for(I = 0;ifprintf(fp," %s %s %4d %5d %10Ld\n ",sell[i]。dm,卖[我]。mc,卖[我]。dj,卖[我]。sl,sell[i]。je);
}
fclose(FP);
}注意:
void sort dat()
{
int I,j;
PRO swap;
for(I = 0;ifor(j = I+1;j{
if(strcmp(sell[i])。mc,卖出[j]。MC){
swap = sell[I];
sell[I]= sell[j];
sell[j]= swap;
}
if(strcmp(sell[i])。mc,卖出[j]。mc)==0&&sell[i]。je {
swap = sell[I];
sell[I]= sell[j];
sell[j]= swap;
}
}
};/*产品名称*/
int DJ;/*单价*/
int sl;/*数量*/
龙je;/*金额*/
} PRO;
PRO sell[MAX];
void read dat();
void write dat();

[5]

}

void main()
{
memset(sell,0,sizeof(sell));
read dat();
sort dat();
write dat();
}

void read dat()
{
FILE * FP;
char str[80],ch[11];
int I;

fp=fopen("IN。DAT”、“r”);
for(I = 0;ifgets(str,80,FP);
memcpy(sell[i]。dm,str,4);
memcpy(sell[i]。mc,str+4,10);
memcpy(ch,str+14,4);ch[4]= 0;
sell[i]。DJ = atoi(ch);
memcpy(ch,str+18,5);ch[5]= 0;
sell[i]。sl = atoi(ch);
sell[i]。je=(多头)卖出[i]。dj*sell[i]。sl;
}
fclose(FP);
}

void WriteDat(void)
{
FILE * FP;
int I;

[11]

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机等级考试三级编程解析四

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情