产品五个因素的比较排列是结构体操作问题.docx
- 文档编号:6956200
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:17
- 大小:16.28KB
产品五个因素的比较排列是结构体操作问题.docx
《产品五个因素的比较排列是结构体操作问题.docx》由会员分享,可在线阅读,更多相关《产品五个因素的比较排列是结构体操作问题.docx(17页珍藏版)》请在冰点文库上搜索。
产品五个因素的比较排列是结构体操作问题
11题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。
其中:
金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
voidSortDat()
{
inti,j;
PROswap;
for(i=0;i for(j=0;j {if(strcmp(sell[j].dm,sell[j+1].dm)<0) /*用函数strcmp判断两个字符串的大小*/ { swap=sell[j]; sell[j]=sell[j+1]; sell[j+1]=swap; } if(strcmp(sell[j].dm,sell[j+1].dm)==0&&sell[j].je { swap=sell[j]; sell[j]=sell[j+1]; sell[j+1]=swap; } } } 13题 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT8.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 voidSortDat() { inti,j; PROswap; for(i=0;i for(j=i+1;j { if(strcmp(sell[i].mc,sell[j].mc)<0) { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } if(strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } } } 15题 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 voidSortDat() { inti,j; PROswap; for(i=0;i for(j=i+1;j { if(strcmp(sell[i].mc,sell[j].mc)>0) { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } if(strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } } } 17题 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT4.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 voidSortDat() { inti,j; PROswap; for(i=0;i for(j=i+1;j { if(sell[i].je { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } if(strcmp(sell[i].dm,sell[j].dm)<0&&sell[i].je==sell[j].je) { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } } } 19题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 voidSortDat() { inti,j; PROswap; for(i=0;i for(j=i+1;j { if(sell[i].je>sell[j].je) { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } if(strcmp(sell[i].dm,sell[j].dm)<0&&sell[i].je==sell[j].je) { swap=sell[i]; sell[i]=sell[j]; sell[j]=swap; } } } 81题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include #include #include #defineMAX100 typedefstruct{ chardm[5];/*产品代码*/ charmc[11];/*产品名称*/ intdj;/*单价*/ intsl;/*数量*/ longje;/*金额*/ }PRO; PROsell[MAX]; voidReadDat(); voidWriteDat(); voidSortDat() { inti,j; PROt; for(i=0;i for(j=i+1;j if(sell[i].je>sell[j].je) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } else if(sell[i].je==sell[j].je) if(strcmp(sell[i].dm,sell[j].dm)>0) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } } voidmain() { memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } voidReadDat() { FILE*fp; charstr[80],ch[11]; inti; fp=fopen(\IN.DAT\,\r\); for(i=0;i<100;i++){ fgets(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=(long)sell[i].dj*sell[i].sl; } fclose(fp); } voidWriteDat() { FILE*fp; inti; fp=fopen(\OUT1.DAT\,\w\); for(i=0;i<100;i++){ fprintf(fp,\%s%s%4d%5d%101d\\n\,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); } fclose(fp); } 83题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include #include #include #defineMAX100 typedefstruct{ chardm[5];/*产品代码*/ charmc[11];/*产品名称*/ intdj;/*单价*/ intsl;/*数量*/ longje;/*金额*/ }PRO; PROsell[MAX]; voidReadDat(); voidWriteDat(); voidSortDat() { inti,j; PROt; for(i=0;i for(j=i+1;j if(sell[i].je { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } else if(sell[i].je==sell[j].je) if(strcmp(sell[i].dm,sell[j].dm)>0) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } } voidmain() { memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } voidReadDat() { FILE*fp; charstr[80],ch[11]; inti; fp=fopen(\IN.DAT\,\r\); for(i=0;i<100;i++){ fgets(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=(long)sell[i].dj*sell[i].sl; } fclose(fp); } voidWriteDat() { FILE*fp; inti; fp=fopen(\OUT3.DAT\,\w\); for(i=0;i<100;i++){ fprintf(fp,\%s%s%4d%5d%101d\\n\,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); } fclose(fp); } 85题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include #include #include #defineMAX100 typedefstruct{ chardm[5];/*产品代码*/ charmc[11];/*产品名称*/ intdj;/*单价*/ intsl;/*数量*/ longje;/*金额*/ }PRO; PROsell[MAX]; voidReadDat(); voidWriteDat(); voidSortDat() {inti,j; PROt; for(i=0;i for(j=i+1;j if(strcmp(sell[i].mc,sell[j].mc)>0) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } else if(strcmp(sell[i].mc,sell[j].mc)==0) if(sell[i].je>sell[j].je) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } } voidmain() { memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } voidReadDat() { FILE*fp; charstr[80],ch[11]; inti; fp=fopen(\IN.DAT\,\r\); for(i=0;i<100;i++){ fgets(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=(long)sell[i].dj*sell[i].sl; } fclose(fp); } voidWriteDat() { FILE*fp; inti; fp=fopen(\OUT5.DAT\,\w\); for(i=0;i<100;i++){ fprintf(fp,\%s%s%4d%5d%101d\\n\,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); } fclose(fp); } 87题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()是读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。 部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include #include #include #defineMAX100 typedefstruct{ chardm[5];/*产品代码*/ charmc[11];/*产品名称*/ intdj;/*单价*/ intsl;/*数量*/ longje;/*金额*/ }PRO; PROsell[MAX]; voidReadDat(); voidWriteDat(); voidSortDat() {inti,j; PROt; for(i=0;i for(j=i+1;j if(strcmp(sell[i].mc,sell[j].mc)<0) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } else if(strcmp(sell[i].mc,sell[j].mc)==0) if(sell[i].je>sell[j].je) { t=sell[i]; sell[i]=sell[j]; sell[j]=t; } } voidmain() { memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } voidReadDat() { FILE*fp; charstr[80],ch[11]; inti; fp=fopen(\IN.DAT\,\r\); for(i=0;i<100;i++){ fgets(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=(long)sell[i].dj*sell[i].sl; } fclose(fp); } voidWriteDat() { FILE*fp; inti; fp=fopen(\OUT7.DAT\,\w\); for(i=0;i<100;i+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 产品 五个 因素 比较 排列 结构 体操 问题