C++面向对象程序设计50道编程题(第19题)

版权声明:版权所有,尊重原创。转载请注明出处: https://blog.csdn.net/qq_36426650/article/details/84640452

C++面向对象程序设计50道编程题(第19题)

摘要:C++程序设计实习是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析问题和解决问题的能力,提高学生运用所学知识解决实际问题的能力。
  本专辑为编程入门者、高校计算机软件专业学习或复习提供C++程序设计题库。
  读者请先独立思考哦,再与参考程序进行比对检查。

一、问题描述

在这里插入图片描述

二、考察内容

  基本面向对象概念,如何创建类、对象,对类私有数据成员和公有成员函数的理解,简单的字符串处理。

三、难度等级

难度等级:★★☆☆☆

四、参考程序

#include <iostream.h>
#include <string.h>
class STR{
	char *s;
	int yn;
public:
	STR(char *t)
	{
		s=new char[strlen(t)+1];
		strcpy(s,t);
	}
	int alph(char c)
	{
		if(c>='a'&&c<='z')
			return 1;
		if(c>='A'&&c<='Z')
			return 1;
		return 0;
	}
	int num(char c)
	{
		if(c>='0'&&c<='9')
			return 1;
		return 0;
	}
	void fun();
	void print()
	{
		cout<<s;
		if(yn)
			cout<<"  是一个合法的标识符!\n";
		else 
			cout<<"  不是一个合法的标识符\n";
	}
	~STR(){delete []s;}
};
void STR::fun()
{
	if(num(*s)){
		yn=0;
		return;
	}
	for(char *p=s;*p;p++){
		if(alph(*p))
			continue;
		if(num(*p))
			continue;
		if(*p=='_')
			continue;
		break;
	}
	if(*p)
		yn=0;
	else 
		yn=1;
}
void main()
{
	STR s1("4abc1"),s2("ab c"),s3("_134"),s4("$abc");
	s1.fun();
	s2.fun();
	s3.fun();
	s4.fun();
	s1.print();
	s2.print();
	s3.print();
	s4.print();
}

五、心得感受

可以在评论处写下思考和编程此题的感受

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/84640452