| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 348 人关注过本帖
标题:关于指针的问题,调试后提示char不能转换为char*
只看楼主 加入收藏
林小贤
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
关于指针的问题,调试后提示char不能转换为char*
这是代码,希望能求得帮助。

#include<iostream>
#include<cstring>
using namespace std;
void namecheck( );
void numcheck( );
class student
{public:
    char name[20];   
    int  num;   
    char sex[5];
    double  physics;
    double  English;
    double  math;
    double  computer;
    double  c;
    int  s;
    double total;int ave;
    int na[100];
    int p[100];
    char* getname(){return name;};
    int getnum(){return num;};
};
int s;
student na[100];
void main()
{   int q;
    int i;
     
cout<<"学生的总数"<<endl;
    cin>>s;
    for(i=0;i<s;i++)
    {
            cout<<"请输入学生姓名";    cin>>na[i].name;
            cout<<"请输入学号";cin>>na[i].num;
            cout<<"请输入性别";cin>>na[i].sex;
            cout<<"请输入物理成绩";cin>>na[i].physics;
            cout<<"请输入英语成绩";cin>>na[i].English;
            cout<<"请输入数学成绩";cin>>na[i].math;
            cout<<"请输入计算机导论成绩";cin>>na[i].computer;
            cout<<"请输入C成绩";cin>>na[i].c;
            na[i].total=na[i].c+na[i].computer+na[i].English+na[i].math+na[i].physics;
            cout<<"总分"<<na[i].total<<endl;
            na[i].ave=na[i].total/5;
    }
cout<<"请选择查询方式\n按姓名查询请输入1\n按编号查询请输入2\n"    ;
cin>>q;
switch(q)
{case 1: namecheck();break;
case 2: numcheck();break;
}
}
void namecheck()
{int j;char* n;
    cout<<"请输入姓名"<<endl;
    cin>>n;
for(j=0;j<s;j++)
{if(strcmp(na[j].getname(),n)==0)
{ cout<<"查询的人信息如下:"<<endl;
cout<<"姓名\t"<<"学号\t"<<"性别\t"<<"物理\t";
    cout<<"英语\t"<<"数学\t"<<"导论\t"<<"C成绩\t"<<"总分\t"<<endl;
cout<<na[j].name<<"\t"<<na[j].num<<"\t"<<na[j].sex<<"\t"<<na[j].physics<<"\t"<<na[j].English<<"\t"<<na[j].math;
cout<<"\t"<<na[j].computer<<"\t"<<na[j].c<<"\t"<<na[j].total<<endl;break;}
}
}
void numcheck()
{int b;int j;
cout<<"请输入学号\n";cin>>b;
for(j=0;j<s;j++)
{if(b==na[j].getnum())
{ cout<<"查询的人信息如下:\n";
cout<<"姓名\t"<<"学号\t"<<"性别\t"<<"物理\t";
    cout<<"英语\t"<<"数学\t"<<"导论\t"<<"C成绩\t"<<"总分\t"<<endl;
cout<<na[j].name<<"\t"<<na[j].num<<"\t"<<na[j].sex<<"\t"<<na[j].physics<<"\t"<<na[j].English<<"\t"<<na[j].math;
cout<<"\t"<<na[j].computer<<"\t"<<na[j].c<<"\t"<<na[j].total<<endl;}
}
搜索更多相关主题的帖子: public void English include double 
2012-10-10 20:34
留恋记忆
Rank: 2
等 级:论坛游民
帖 子:1
专家分:14
注 册:2012-10-9
收藏
得分:14 
除了最后少了一个“}”其他没什么问题,若你还有什么问题的话,你试试换个编译器,应该是可以的。我在vc10上面是没有任何问题的。。。
2012-10-11 11:09
快速回复:关于指针的问题,调试后提示char不能转换为char*
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017468 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved