标题:[求助]错的太多
只看楼主
chenkuanyi
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-4-21
 问题点数:0 回复次数:2 
[求助]错的太多

在类Account中,对账号的有者名字以及帐户编号的设定和检查
这是我做的,但错误太多,不懂的太多!
求解!!
先谢了啊!!!!!

#include <iostream>
#include <cstring>
using namespace std;
class Account
{
private:
char Id[20];
char AccountName[20];
public:
Account();
Account(char,char);
~Account();
void CheckAccountNAI( );
};

Account::Account(char AN,char ID)
{
AccountName=AN;
Id=ID;
}

Account::Account()
{
AccountName[20]="cctv";
Id[20]="123456";
}

void Account::CheckAccountNAI( )
{
char *N,*I;
char Name[20],ID[20];
N=Name;
I=ID;
cout<<"请输入用户名和密码"<<endl;
cin.getline(Name,20);
cin.getline(ID,20);
if(strcmp(AccountName,N)&&strcmp(Id,I))
{
cout<<"输入错误"<<endl;
}
else
cout<<"输入正确"<<endl;
return;
}

void main()
{
Account Albert("vtcc","654321");
Albert.CheckAccountNAI( );
}

错误如下:
3.cpp(18) : error C2440: “=”: 无法从“char”转换为“char [20]”
没有转换为数组类型,但有转换为数组的引用或指针
3.cpp(19) : error C2440: “=”: 无法从“char”转换为“char [20]”
没有转换为数组类型,但有转换为数组的引用或指针
3.cpp(24) : error C2440: “=”: 无法从“const char [5]”转换为“char”
没有使该转换得以执行的上下文
3.cpp(25) : error C2440: “=”: 无法从“const char [7]”转换为“char”
没有使该转换得以执行的上下文
3.cpp(56) : error C2664: “Account::Account(char,char)”: 不能将参数 1 从“const
char [5]”转换为“char”
没有使该转换得以执行的上下文

[此贴子已经被作者于2007-4-23 13:57:10编辑过]

搜索更多相关主题的帖子: class 检查 private include public 
2007-04-23 13:55
tyjtyjtyj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-4-20
得分:0 
char是字符型,不能直接转为字符数组.用strcpy()函数代替直接赋值语句.
2007-04-23 14:54
独孤浪子
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-3-27
得分:0 

#include <iostream>
#include <cstring>
using namespace std;
class Account
{
private:
char *Id;
char *AccountName;
public:
Account();
Account(char *,char *);

void CheckAccountNAI();
};

Account::Account(char *AN,char *ID)
{
AccountName=AN;
Id=ID;
}

Account::Account()
{
AccountName="cctv";
Id="123456";
}
void Account::CheckAccountNAI()
{
char *N,*I;
char Name[20],ID[20];
N=Name;
I=ID;
cout<<"请输入用户名和密码"<<endl;
cin.getline(N,20);
cin.getline(I,20);
if(strcmp(AccountName,N)&&strcmp(Id,I))
{
cout<<"输入错误"<<endl;
}
else
cout<<"输入正确"<<endl;
}

void main()
{
Account Albert("vtcc","654321");

Albert.CheckAccountNAI();
system("pause");
}

要注意的问题:
(1)字符类型char 与字符串类型string 不可以互相进行赋值
(2)数组名是数组的地址,是一个常量,不可以对它进行赋值
(3)声明的析构函数要有实现部分(~Account();)
(4)按编程规格,把类的声明部分写在头文件里(.h),把类的实现部分写在源文件(.cpp).在主程序中直接包含头文件,实现类的隐藏性和重用性



还用什么问题,可以直接加我QQ 346004248



2007-04-23 15:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-134212-1-1.html




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

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