由'mem.h'引起的VC++ 6.0调试不成功

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:25:46
已知在文件IN2.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。
注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

【试题程序】
#include <stdio.h>
#include <mem.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()
{
FIL

memset和memcpy在TC中定义在<mem.h>里面。
VC里面没有了mem.h这个文件
在VC里 这两个函数放在<memory.h>里面

所以要 #include<memory.h>就可以了

不过你的程序可不止这一个问题~自己调试吧

就是说,你的mem头文件即不在系统连接目录,也不在你自己程序目录,
我知道的倒只有DS里自带有这个头文件。

mem.h应该是你自己写的一个头文件吧,你把#include<mem.h>改为#include"mem.h"试试看

可以先用str…字符串操作函数把问题先解决了,俗话说,first make it work,then make it fast