#include "stdafx.h"
#include "iostream.h"
struct record
{   int id;
    char name[20];
char sex[20];
    int grade;
}student[50];
void main(void)
{
int i=1,j=0,n=0;
int end;
int *P;
int max=0;
    for(i=1;end!=1;i++,j++)
{
  cout<<"输入考生号:"<<endl;
  cin>>student[j].id;
  cout<<"输入姓名:"<<endl;
  cin>>student[j].name ;
  cout<<"输入性别(女性用f,男性用m):"<<endl;
  cin>>student[j].sex ;
  cout<<"输入成绩:"<<endl;
  cin>>student[j].grade;
  if(student[j].sex=f)
  if(max<*p){max=*p;}
  
  
  cout<<"按0继续,按1完成。"<<endl;
  cin>>end;
  n++;
}
     cout<<"按0输出,按1退出。"<<endl;
 cin>>end;
 if(end==0)
 {
 cout<<"学生数据:"<<endl;
 for(i=0;i<n;i++)
 {
 cout<<"考生号:"<<student[i].id<<endl;
 cout<<"姓名:"<<student[i].name<<endl;
 cout<<"性别:"<<student[i].sex<<endl;
   cout<<"成绩:"<<student[i].grade<<endl;
 cout<<"女生最高分:"<<max<<endl;
 }
 }
}   
好不容易写了这么多行,没想到却错了6个地方!!!!!!!
高手帮看看到底错在哪啦要求的是输出女生中最高的成绩

解决方案 »

  1.   

    p(27) : error C2446: '==' : no conversion from 'const int' to 'char *'
            Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(27) : error C2040: '==' : 'char [20]' differs in levels of indirection from 'const int'
    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(28) : error C2677: binary '<' : no global operator defined which takes type 'struct record' (or there is no acceptable conversion)
    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(28) : error C2065: 'p' : undeclared identifier
    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(28) : error C2100: illegal indirection
    Error executing cl.exe.
      

  2.   

    修改这段代码:
    int i=1,j=0,n=0;
    int end;
    int *p = 0;
    int max=0;

    char *SEX = "男";

        for(i=1;end!=1;i++,j++)
    {
    cout<<"输入考生号:"<<endl;
    cin>>student[j].id;
    cout<<"输入姓名:"<<endl;
    cin>>student[j].name ;
    cout<<"输入性别(女性用f,男性用m):"<<endl;
    cin>>student[j].sex ;
    cout<<"输入成绩:"<<endl;
    cin>>student[j].grade;
    if(student[j].sex == SEX)
    {
    if(max<*p)
    {
    max=*p;
    }
    }
      

  3.   

    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(30) : error C2065: 'p' : undeclared identifier
    C:\Program Files\Microsoft Visual Studio\MyProjects\33333\33333.cpp(30) : error C2100: illegal indirection
    Error executing cl.exe.
    还有这两个错误啊
      

  4.   

    if(max<student[j].grade){max=*p;}我双击了一下错误提示,跳到这句代码上了
    错在哪里呀,好头痛
      

  5.   

    if(max<*p)
    {
    max=*p;
    }
    改成这样的话有三个错误
      

  6.   

    if(max<student[j].grade){max=*p;}
    你的*p  是野指针  应该是NULL吧
    你怎么样 也要给人家一个直吧
     就newy 一个 好了