c++ 编程问题 定义一个字符串类String,有两个私有数据成员:char* content和int len;
定义一个字符串类String,有两个私有数据成员:char*content和intlen;要求:1)在构造函数中提示用户输入字符串;2)用户能提取和显示字符串;(分别由两...
定义一个字符串类String,有两个私有数据成员:char* content和int len;要求:
1)在构造函数中提示用户输入字符串;
2) 用户能提取和显示字符串;(分别由两个函数完成)
3)实现对字符串中所有小写字母变成大写,并显示。 展开
1)在构造函数中提示用户输入字符串;
2) 用户能提取和显示字符串;(分别由两个函数完成)
3)实现对字符串中所有小写字母变成大写,并显示。 展开
3个回答
展开全部
#include <iostream>using namespace std;
class String
{
private:
char *str;
int len;
public: String()
{
char *s = new char[100];
cin >> s;
str = s;
}
~String ()
{
if(str != NULL)
free(str);
}
// 得打字符串的指针
char * getStr()
{
return str;
}
// 小写变大写
char *ToBigChar()
{
char *s = str;
size_t i =0;
for( i = 0; i < strlen(str); i++)
{
if ( s[i] < 'z' || s[i] > 'a')
{
s[i] = s[i] - 32;
}
}
return str;
}
};
int main(){
String sss;
cout << sss.ToBigChar() << endl;
return 0;}
class String
{
private:
char *str;
int len;
public: String()
{
char *s = new char[100];
cin >> s;
str = s;
}
~String ()
{
if(str != NULL)
free(str);
}
// 得打字符串的指针
char * getStr()
{
return str;
}
// 小写变大写
char *ToBigChar()
{
char *s = str;
size_t i =0;
for( i = 0; i < strlen(str); i++)
{
if ( s[i] < 'z' || s[i] > 'a')
{
s[i] = s[i] - 32;
}
}
return str;
}
};
int main(){
String sss;
cout << sss.ToBigChar() << endl;
return 0;}
展开全部
class String
{
public:
void toUpperAndShow();
String();
void Show();
char * getString();
~String();
private:
char * content;
int len;
}
String::String()
{
char lstring[1000]={0};
int i=0,sum=0;
cout<<"Please input a string:"<<endl;
cin>>lstring;
for(i=0;lstring[i]!=0;i++)
sum++;
len=sum;
content=new char[len];
for(i=0;i<len;i++)
*(content+i)=lstring[i];
}
String::~String()
{
len=0;
delete content;
}
char * String::getString()
{
return content;
}
void String::Show()
{
cout<<content<<endl;
}
void String::toUpperAndShow()
{
int i;
for(i=0;i<len;i++)
if(*(content+i)>='a' && *(content+i)<='z')
*(content+i)+='A'-'a';
cout<<content<<endl;
}
{
public:
void toUpperAndShow();
String();
void Show();
char * getString();
~String();
private:
char * content;
int len;
}
String::String()
{
char lstring[1000]={0};
int i=0,sum=0;
cout<<"Please input a string:"<<endl;
cin>>lstring;
for(i=0;lstring[i]!=0;i++)
sum++;
len=sum;
content=new char[len];
for(i=0;i<len;i++)
*(content+i)=lstring[i];
}
String::~String()
{
len=0;
delete content;
}
char * String::getString()
{
return content;
}
void String::Show()
{
cout<<content<<endl;
}
void String::toUpperAndShow()
{
int i;
for(i=0;i<len;i++)
if(*(content+i)>='a' && *(content+i)<='z')
*(content+i)+='A'-'a';
cout<<content<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String::String()
{
printf("请输入字符串");
}
void String::ShowStr()
{
printf("%s",content);
}
char* String::GetStr()
{
return content;
}
char* String::Upper()
{
char* pTemp = content;
while( *pTemp != "/0")
{
if(*pTemp >= 'a' && *pTemp<= 'z')
{
*pTemp -= 'a' - 'A';
}
pTemp++;
}
return pTemp;
}
{
printf("请输入字符串");
}
void String::ShowStr()
{
printf("%s",content);
}
char* String::GetStr()
{
return content;
}
char* String::Upper()
{
char* pTemp = content;
while( *pTemp != "/0")
{
if(*pTemp >= 'a' && *pTemp<= 'z')
{
*pTemp -= 'a' - 'A';
}
pTemp++;
}
return pTemp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询