试卷详情 三级网络技术机试-236 [简答题]已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)5部分组成。其中,金额=单价×数量。函数ReadDat( )是读取100个销售记录并存入结构数组sell中。请编制函数SortDat( ),其功能要求如下:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终结果仍存入结构数组sell中,最后调用函数WriteDat( )把结构输出到文件OUT1.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 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++) fgets(str,80,fp); memcpy(sell[i].dm,s