产品五个因素的比较排列是结构体操作问题.docx

上传人:b****4 文档编号:5405536 上传时间:2022-12-16 格式:DOCX 页数:17 大小:16.28KB
下载 相关 举报
产品五个因素的比较排列是结构体操作问题.docx_第1页
第1页 / 共17页
产品五个因素的比较排列是结构体操作问题.docx_第2页
第2页 / 共17页
产品五个因素的比较排列是结构体操作问题.docx_第3页
第3页 / 共17页
产品五个因素的比较排列是结构体操作问题.docx_第4页
第4页 / 共17页
产品五个因素的比较排列是结构体操作问题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

产品五个因素的比较排列是结构体操作问题.docx

《产品五个因素的比较排列是结构体操作问题.docx》由会员分享,可在线阅读,更多相关《产品五个因素的比较排列是结构体操作问题.docx(17页珍藏版)》请在冰豆网上搜索。

产品五个因素的比较排列是结构体操作问题.docx

产品五个因素的比较排列是结构体操作问题

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模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1