试卷详情 三级网络技术机试-168 [多项选择]已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码DM(字符型,4位)、产品名称MC(字符型,10位)、单价DJ(整型)、数量SL(整型)、金额JE(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat( )读取这100个销售记录并将其存入结构数组SELL中。请编制函数SortDat( ),其功能要求为:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组距SELL中,最后调用函数WriteDat( )把结果输出到文件OUT.DAT中。 注意:部分源程序给出如下。 请勿改动主函数main( )、读数据函数ReadDat( )和输出数据函数WriteDat( )的内容。 [试题源程序] #include<Stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define MAX 100 typedef Struct char dm[5];/*产品代码*/ char mc[11];/*产品名称*/ int dj;/*单价*/ int Sl;/*数量*/ long je;/*金额*/ PRO; PRO Seii[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; if((fp=fopen("IN.DAT","r"))==NULL) return; for(i=0;i<100; i++) fgets(str,80,fp); m