C++编程改错

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:35:39
#include<iostream.h>
#include<string.h>
struct PROD{
char dm[5],name[3];
int s1,dj,je;
};
void computerje(PROD p1[],int n)
{for(int i=0;i<n;i++)
(p1+i).je=(p1+i).dj*(p1+i).s1;
}
void sort(PROD p1[],int n)
{for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(strcmp(p1[i].dm,p1[j].dm)<0){
t=p1[i];
p1[i]=p1[j];
p1[j]=t;
}
else if(strcmp(p1[i].dm,p1[j].dm)=0)
if(p1[i].je<p1[j].je){
PROD t=p1[i];
p1[i]=p1[j];
p1[j]=t;
}}}
}
void print(PROD *p1,int n)
{for(int i=0;i<n;i++){
cout<<p1[i].dm<<','<<p1[i].name<<',';
cout<<p1[i].s1<<','<<p1[i].dj<<','p1[i].je<<endl;
}
}
void main()
{ PROD pr[4]={{"1001","AA",4,15},{"4000","BB",3,45},{"4000","

#include<iostream>
#include<string>
using namespace std;

struct PROD
{
char dm[5],name[3];
int s1,dj,je;
};
void computerje(PROD p1[],int n)
{
for(int i=0;i<n;i++)
(*(p1+i)).je=(*(p1+i)).dj * ((*(p1+i)).s1); //只有指针所指向的结构体对象才具有成员,指针不具有成员
}
void sort(PROD p1[],int n)
{
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(strcmp(p1[i].dm,p1[j].dm)<0)
{
PROD t=p1[i]; //t未定义
p1[i]=p1[j];
p1[j]=t;
}
else if(strcmp(p1[i].dm,p1[j].dm)==0) //==
if(p1[i].je<p1[j].je)
{
PROD t=p1[i];
p1[i]=p1[j];
p1[j]=t;
}
}
}
}
void print(PROD *p1,int n)
{
for(int i=0;i<n;i++)
{
cout<<p1[i].dm<<','<<p1[i].name<<',';
cout<<p1[i].s1<<&#