[简答题] 已知在文件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)