资源简介

1. 题目:对输入的表达式判断其是否是合法的命题公式 2. 要求:有关命题公式的定义,请严格使用我们使用的教材上的定义。五种联接词的规定如下:  非:!  与:+  或:-  蕴含:$  等价:#

资源截图

代码片段和文件信息

// made by fan from xiamen university
//AI  AI  AI  AI AI  AI  AI  AI  AI  AI  AI  AI  AI  AI  AI  AI  AI  AI  AI
//定义五种命题的连接词:或(-)   且(+)  非(!)   蕴含($)   等价(#)
//定义两个命题的标点符号:‘(‘‘)‘
//定义三个原子公式:pqr
/*
1. 题目:对输入的表达式判断其是否是合法的命题公式
2. 要求:有关命题公式的定义,请严格使用我们使用的教材上的定义。五种联接词的规定如下:
. 非:!
. 与:+
. 或:-
. 蕴含:$
. 等价:#
*/

#include
#include
#include
#include

class Judgestring{
private:
int I_length;
char *C_string;
public:
Judgestring(char *p);
~Judgestring();
int Judgeexpression();
};
Judgestring::Judgestring(char *p)  
{
C_string=new char[strlen(p)+1];
assert(C_string!=0); 
strcpy(C_stringp);
I_length=strlen(p);
}
Judgestring::~Judgestring()       
{
delete[]C_string;
}
int Judgestring::Judgeexpression()  
{
int i;
for(i=0;i {
if(C_string[i]!=‘p‘&&C_string[i]!=‘q‘&&C_string[i]!=‘r‘&&C_string[i]!=‘!‘&&C_string[i]!=‘-‘&&C_string[i]!=‘+‘&&C_string[i]!=‘$‘&&C_string[i]!=‘#‘&&C_string[i]!=‘(‘&&C_string[i]!=‘)‘)
{
cout<pression is not a proposition!“< return 1;
}

if(I_length==0)
{
cout<pression is not a proposition!“< return 1;

else if(I_length==1)
{
if(*C_string==‘p‘||*C_string==‘q‘||*C_string==‘r‘)
{
cout<pression is a proposition!“< return 1;
}
else 
{
cout<pression is not a proposition!“< return 1;
}
}
else
{
if(C_string[0]!=‘(‘)
{
cout<pression is not a proposition!“< return 1;
}  
else
{
for(;I_length>1;)
{
for(i=0;i {
if(C_string[i]==‘(‘&&C_string[i+1]==‘!‘&&(C_string[i+2]==‘p‘||C_string[i+2]==‘q‘||C_string[i+2]==‘r‘)&&C_string[i+3]==‘)‘)
{
C_string[i]=‘p‘;
for(;i<=

评论

共有 条评论