c++程序——帮帮忙!

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:57:11
程序正确,但在c++软件里却看不到结果。用记事本却能看到结果!
#include<stdio.h>
#include<memory.h>
#include<string.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()
{
int i,j;
PRO temp;
for (i=1;i<99;i++)
for (j=1;j<i+1;j++)
if(strcmp(sell[i].mc,sell[j].mc)>0)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
if(strcmp(sell[i].mc,sell[j].mc)>0)
if(sell[i].je <sell[j].je)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}

}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}

void ReadDat()
{
FILE *fp;
c

在 WriteDat 函数的 fprintf 语句后加一句

printf("%s %s %4d %5d %10ld\n",sell[i].dm, sell[i].mc, sell[i].dj,sell[i].sl, sell[i].je);

就能看到屏幕上的输出了

程序把结果以文件的方式存储了 所以可以用文件看到

主程序里面没有对数据进行处理,当然看不到运行结果了
你用printf在Sortdat 或者 WriteDat 里面输出结果就行了

要在C++软件里看到结果必须采用 printf("%s","1111111");函数或cout<<"1111"<<endl;

fprintf(fp,"%s %s %4d %5d %10ld\n",sell[i].dm, sell[i].mc, sell[i].dj,sell[i].sl, sell[i].je);
这是写到文件里的,输出到文件里的。