回 帖 发 新 帖 刷新版面

主题:本人可以解答VC++方面的问题,有问题请进来。。。

欢迎大家在这里提问。但如果没有及时回复,请见谅。。。
另:请将问题、现象表述清楚,否则恕无法解答。

声明:本人主要提供解决方案,具体作业和代码请自行处理,谢谢。


------2007年5月14日发:

对不起,大家,近来工作繁忙,对于大家的提问没有及时解答深感抱歉。呵呵。

另:本人长期承接VC++项目(至少2000RMB以上项目),有意发邮件(在个人资料里,邮件只接受外包项目),谢谢!

呵呵,祝大家工作学习顺利!

------2008年1月18日发:
呵呵~~~这帖子发了一周年了~~~很感谢大家的支持,点击率和回帖数都是这个版面几乎最高了,呵呵~~~~~不过本人一直都比较忙,没有回答大家的问题,请见谅~~呵呵~~~
欢迎大家继续支持~~~~

回复列表 (共581个回复)

561 楼

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。函数SortDat()其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。
#include "stdio.h"
#define N 10
struct sell
{ char dm[4];
  char mc[10];
  int dj;
  int sl;
  long int je;
}
void WriteDat(struct sell zl[],char *filename);
void ReadDat(struct sell zl[],char *filename);
void SortDat(struct sell zl[]);
main()
{ struct sell zl[N];
  int i;
  char *file1="IN.DAT",*file2="OUT.DAT";
  zl[i].je=zl[i].dj*zl[i].sl;
  printf("Please input %d selling information",N);
  printf("dm  mc dj sl je\n");
  for (i=0;i<10;i++) 
  scanf("%s %s %d %d %d",zl[i].dm,zl[i].mc,&zl[i].dj,&zl[i].sl,&zl[i].je);
  WriteDat(zl,file1);
  ReadDat(zl,file1);
  SortDat(zl);
  printf("%s %s %d %d %d",zl[i].dm,zl[i].mc,zl[i].dj,zl[i].sl,zl[i].je);
  WriteDat(zl,file2);
}
void ReadDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"rb"))==NULL)
  { printf("\nCan't open this file!\n");
    exit(0);
  }
  fread(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");
   exit(0);
  }
  fclose(fp);
  printf("\n%s read finished!\n",filename);
}
void WriteDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"wb"))==NULL)
  {printf("\nCan't open this file\n");
   exit(0);
  }
  fwrite(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");exit(0);
  }
  fclose(fp);
  printf("\n%s write finished!\n",filename);
}
void SortDat(struct sell zl[])
{ int i,j;
  struct sell t[20],k[20];
  for(i=0;i<9;i++)
  {for(j=i+1;j<10;j++)
   if(zl[i].dm<zl[j].dm)
    {t[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=t[i];
    }
     else
    if(zl[i].dm==zl[j].dm)
    {if(zl[i].je<zl[j].je)
     k[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=k[i];
    }
   }
 }

562 楼

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。函数SortDat()其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。
#include "stdio.h"
#define N 10
struct sell
{ char dm[4];
  char mc[10];
  int dj;
  int sl;
  long int je;
}
void WriteDat(struct sell zl[],char *filename);
void ReadDat(struct sell zl[],char *filename);
void SortDat(struct sell zl[]);
main()
{ struct sell zl[N];
  int i;
  char *file1="IN.DAT",*file2="OUT.DAT";
  zl[i].je=zl[i].dj*zl[i].sl;
  printf("Please input %d selling information",N);
  printf("dm  mc dj sl je\n");
  for (i=0;i<10;i++) 
  scanf("%s %s %d %d %d",zl[i].dm,zl[i].mc,&zl[i].dj,&zl[i].sl,&zl[i].je);
  WriteDat(zl,file1);
  ReadDat(zl,file1);
  SortDat(zl);
  printf("%s %s %d %d %d",zl[i].dm,zl[i].mc,zl[i].dj,zl[i].sl,zl[i].je);
  WriteDat(zl,file2);
}
void ReadDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"rb"))==NULL)
  { printf("\nCan't open this file!\n");
    exit(0);
  }
  fread(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");
   exit(0);
  }
  fclose(fp);
  printf("\n%s read finished!\n",filename);
}
void WriteDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"wb"))==NULL)
  {printf("\nCan't open this file\n");
   exit(0);
  }
  fwrite(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");exit(0);
  }
  fclose(fp);
  printf("\n%s write finished!\n",filename);
}
void SortDat(struct sell zl[])
{ int i,j;
  struct sell t[20],k[20];
  for(i=0;i<9;i++)
  {for(j=i+1;j<10;j++)
   if(zl[i].dm<zl[j].dm)
    {t[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=t[i];
    }
     else
    if(zl[i].dm==zl[j].dm)
    {if(zl[i].je<zl[j].je)
     k[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=k[i];
    }
   }
 }

563 楼

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。函数SortDat()其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。
#include "stdio.h"
#define N 10
struct sell
{ char dm[4];
  char mc[10];
  int dj;
  int sl;
  long int je;
}
void WriteDat(struct sell zl[],char *filename);
void ReadDat(struct sell zl[],char *filename);
void SortDat(struct sell zl[]);
main()
{ struct sell zl[N];
  int i;
  char *file1="IN.DAT",*file2="OUT.DAT";
  zl[i].je=zl[i].dj*zl[i].sl;
  printf("Please input %d selling information",N);
  printf("dm  mc dj sl je\n");
  for (i=0;i<10;i++) 
  scanf("%s %s %d %d %d",zl[i].dm,zl[i].mc,&zl[i].dj,&zl[i].sl,&zl[i].je);
  WriteDat(zl,file1);
  ReadDat(zl,file1);
  SortDat(zl);
  printf("%s %s %d %d %d",zl[i].dm,zl[i].mc,zl[i].dj,zl[i].sl,zl[i].je);
  WriteDat(zl,file2);
}
void ReadDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"rb"))==NULL)
  { printf("\nCan't open this file!\n");
    exit(0);
  }
  fread(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");
   exit(0);
  }
  fclose(fp);
  printf("\n%s read finished!\n",filename);
}
void WriteDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"wb"))==NULL)
  {printf("\nCan't open this file\n");
   exit(0);
  }
  fwrite(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");exit(0);
  }
  fclose(fp);
  printf("\n%s write finished!\n",filename);
}
void SortDat(struct sell zl[])
{ int i,j;
  struct sell t[20],k[20];
  for(i=0;i<9;i++)
  {for(j=i+1;j<10;j++)
   if(zl[i].dm<zl[j].dm)
    {t[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=t[i];
    }
     else
    if(zl[i].dm==zl[j].dm)
    {if(zl[i].je<zl[j].je)
     k[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=k[i];
    }
   }
 }

564 楼

帮我看看,有点问题,我初学者,能力有限,帮帮忙,xiexie

565 楼


已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。函数SortDat()其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。
#include "stdio.h"
#define N 10
struct sell
{ char dm[4];
  char mc[10];
  int dj;
  int sl;
  long int je;
}
void WriteDat(struct sell zl[],char *filename);
void ReadDat(struct sell zl[],char *filename);
void SortDat(struct sell zl[]);
main()
{ struct sell zl[N];
  int i;
  char *file1="IN.DAT",*file2="OUT.DAT";
  zl[i].je=zl[i].dj*zl[i].sl;
  printf("Please input %d selling information",N);
  printf("dm  mc dj sl je\n");
  for (i=0;i<10;i++) 
  scanf("%s %s %d %d %d",zl[i].dm,zl[i].mc,&zl[i].dj,&zl[i].sl,&zl[i].je);
  WriteDat(zl,file1);
  ReadDat(zl,file1);
  SortDat(zl);
  printf("%s %s %d %d %d",zl[i].dm,zl[i].mc,zl[i].dj,zl[i].sl,zl[i].je);
  WriteDat(zl,file2);
}
void ReadDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"rb"))==NULL)
  { printf("\nCan't open this file!\n");
    exit(0);
  }
  fread(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");
   exit(0);
  }
  fclose(fp);
  printf("\n%s read finished!\n",filename);
}
void WriteDat(struct sell zl[],char *filename)
{ FILE *fp;
  if((fp=fopen(filename,"wb"))==NULL)
  {printf("\nCan't open this file\n");
   exit(0);
  }
  fwrite(zl,sizeof(struct sell),N,fp);
  if(ferror(fp))
  {printf("File Error\n");exit(0);
  }
  fclose(fp);
  printf("\n%s write finished!\n",filename);
}
void SortDat(struct sell zl[])
{ int i,j;
  struct sell t[20],k[20];
  for(i=0;i<9;i++)
  {for(j=i+1;j<10;j++)
   if(zl[i].dm<zl[j].dm)
    {t[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=t[i];
    }
     else
    if(zl[i].dm==zl[j].dm)
    {if(zl[i].je<zl[j].je)
     k[i]=zl[i];
     zl[i]=zl[j];
     zl[j]=k[i];
    }
   }
 }

566 楼

您好,我想弄一个学生考勤管理系统,必须要用c++设计的,还要包括类的、、、、

567 楼

新手问题:
有下面一段代码关于逆序输出:
  char h[]="abcde";
    printf("%s",strrev(h));
    这样可以输出倒序字符串;

而这样却不行了呢?
   char *h="abcde";
    printf("%s",strrev(h));
    编译器就出现错误了 ?
  
请问为什么char h【】可以而char *h却不可以呢?

568 楼

我想求一份c++程序设计  关于采购计划管理系统的程序,希望你能帮我,

569 楼


在VC++6.0里面点击Project->Add To Project->Components and Controls程序就死了,这是怎么回事,该怎么解决?

570 楼

你好,问一个问题:
GlobalAlloc中参数GMEM_FIXED,GMEM_MOVEABLE在MSDN上解释较模糊。
能解答一下两者的区别及使用注意问题。
还有GlobalAlloc申请的全局变量如何在跨线程之间访问以及保证线程安全。先谢了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册