Source code
1.Write a regular expression that would accept all the integer number.
Accept : 1, 11, 3455
Not Accept : 0 , 09
2.Write a regular expression that would accept all the variables
Accept : a_bhu, _ijk, w30ui_89ji
Not Accept : 0uiu, 1_dfef
3. Write a regular expression that would accept all floating point number
Accept : 3.90, 1.0, .99, 0.99
Not accept : 1.
4. Write a regular expression that would accept all the exponent number
Accept : 3.0E5, 34.67E+4, 2.98E-55
Not Accept : 3.0e+9, 0E5
5. Write a regular expression that would accept anything that start with character n and second character cannot be digit
Accept : nabt, nw_98uio
Not Accept : abf, n0anh
*/
Code:
#include <bits/stdc++.h>
using namespace std;
void integerNumber(string str)
{
int len = str.size();
if(len>0)
{
if(str[0]=='+' || str[0]=='-' || (str[0] >='1' && str[0]<='9'))
{
if((str[0]=='+' || str[0]=='-') && str[1]=='0')
{
cout<<"a
Not Accepted
"<<endl;
return;
}
for(int i=1; i<len; )
{
if(str[i] >='0' && str[i]<='9')
{
i++;
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
cout<<"
Valid Integer
"<<endl;
}
void variables(string str)
{
int len = str.size();
if(len>0)
{
if(str[0]=='_' || (str[0] >='a' && str[0]<='z') || (str[0] >='A' && str[0]<='Z'))
{
for(int i=1; i<len; )
{
if(str[i]=='_' || (str[i] >='a' && str[i]<='z') || (str[i] >='A' && str[i]<='Z') || (str[i] >='0' && str[i]<='9'))
{
i++;
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
cout<<"
Valid Variable
"<<endl;
}
void floatingPoint(string str)
{
int len = str.size();
int count=0;
if(len>0)
{
if(str[0]=='+' || str[0]=='-' || (str[0] >='0' && str[0]<='9') || str[0]=='.')
{
if(str[0]=='.' && 1==len)
{
cout<<"a
Not Accepted
"<<endl;
return;
}
for(int i=1; i<len; )
{
if((str[i] >='0' && str[i]<='9') || str[i]=='.')
{
if(str[i]=='.' && i+1==len)
{
cout<<"a
Not Accepted
"<<endl;
return;
}
if(str[i]=='.')
{
count++;
}
i++;
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
if(str[0]=='.')
{
count++;
}
}
else
{
cout<<"a
Not Accepted
"<<endl;
return;
}
}
if(count ==1)
cout<<"
Valid Floating Point
"<<endl;
else
cout<<"a
Not Accepted
"<<endl;
}
void exponentNumber(string str)
{
int len = str.size();
int count=0,expo=0,afterE=0,sign=0,have=0;
if(len>0)
{
if( (str[0] >='0' && str[0]<='9') || str[0]=='.')
{
for(int i=1; i<len; )
{
if(afterE==0)
{
if((str[i] >='0' && str[i]<='9') || str[i]=='.' || str[i]=='E')
{
if(str[i]=='.' && i+1==len)
{
cout<<"a
Not Accepted1
"<<endl;
return;
}
if(str[i]=='E' && i>=2)
{
expo++;
afterE=1;
}
if(str[i]=='.')
{
count++;
}
i++;
}
else
{
cout<<"a
Not Accepted2
"<<endl;
return;
}
}
else
{
if(str[i]=='.' || str[i]=='E' )
{
cout<<"a
Not Accepted3
"<<endl;
return;
}
if((str[i]=='+' || str[i]=='-') && str[i-1]=='E')
{
sign++;
}
if(str[i]=='+' || str[i]=='-')
{
have++;
if(i+1==len)
{
cout<<"a
Not Accepted3
"<<endl;
return;
}
}
if((str[i]>='0' && str[i]<='9') ||str[i]=='+' || str[i]=='-' )
{
i++;
}
else
{
cout<<"a
Not Accepted5
"<<endl;
return;
}
}
}
if(str[0]=='.')
{
count++;
}
}
else
{
cout<<"a
Not Accepted6
"<<endl;
return;
}
}
if(count ==1 && expo==1 && sign==have)
cout<<"
Valid Exponent Number
"<<endl;
else
cout<<"a
Not Accepted7
"<<endl;
}
void characterN(string str)
{
int len = str.size();
if(len>1)
{
if(str[0]=='n' && !(str[1]>='0' && str[1]<='9'))
{
cout<<"
Valid Character
"<<endl;
return;
}
}
cout<<"a
Not Accepted
"<<endl;
}
void menu()
{
string str;
while(1)
{
cout<<"Menu
Press 1 to Check Integer
Press 2 to Check Variables
Press 3 to Check Floating Number
Press 4 to Check Exponent Number
Press 5 to Check Character "<<endl;
int choice;
cout<<"Your Choice: ";
cin>>choice;
cin.ignore();
if(choice==1)
{
cout<<"Enter Integer Number: ";
getline(cin,str);
integerNumber(str);
}
else if(choice==2)
{
cout<<"Enter Variable: ";
getline(cin,str);
variables(str);
}
else if(choice==3)
{
cout<<"Enter Floating Number: ";
getline(cin,str);
floatingPoint(str);
}
else if(choice==4)
{
cout<<"Enter Exponent Number: ";
getline(cin,str);
exponentNumber(str);
}
else if(choice == 5)
{
cout<<"Enter Character: ";
getline(cin,str);
characterN(str);
}
else
{
exit(0);
}
}
}
int main()
{
menu();
return 0;
}
Add your comment