apl-mhd

Assignment final

Feb 26th, 2019
151
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <cctype>
  5. #include <climits>
  6. #include <algorithm>
  7. #include <stack>
  8. #include <queue>
  9. #include <map>
  10. #include <vector>
  11.  
  12. using namespace std;
  13. int stringSplit(string nameType);
  14.  
  15. void menubar();
  16. void integer();
  17. void  variable();
  18. void  floating();
  19. void  exponent();
  20. void startWith();
  21.  
  22.  
  23. int  main(){
  24.  
  25.  
  26.    
  27.     menubar();
  28.  
  29.  
  30.     return  0;
  31.  
  32. }
  33.  
  34.  
  35.  
  36.  
  37. void menubar(){
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.     bool decision = true;
  46.  
  47.     while(decision){
  48.  
  49.         cout<<"1. Integer :\n";
  50.         cout<<"2. Variable :\n";
  51.         cout<<"3. Float :\n";
  52.         cout<<"4. Exponent :\n";
  53.         cout<<"5.start with character n a :\n";
  54.         cout<<"6. exit :\n";
  55.         cout<<"Select option from menu :"<<endl<<endl;
  56.  
  57.         string n;
  58.         cin>>n;
  59.  
  60.         if(n == "1" ){
  61.  
  62.             integer();
  63.  
  64.         }
  65.  
  66.         else if(n == "2"){
  67.  
  68.             variable();
  69.  
  70.         }
  71.         else if(n == "3"){
  72.  
  73.             floating();
  74.  
  75.         }
  76.         else if(n == "4"){
  77.             exponent();
  78.  
  79.         }
  80.         else if(n == "5"){
  81.  
  82.             startWith();
  83.  
  84.         }
  85.         else if (n == "6"){
  86.  
  87.             exit(0);
  88.  
  89.         }
  90.         else{
  91.             cout<<"Invalid input, enter again \n";
  92.         }
  93.  
  94.     }
  95.  
  96.  
  97. }
  98.  
  99.  
  100.  
  101.  
  102.  
  103. void integer(){
  104.  
  105.  
  106.     cout<<"Enter integer :\n";
  107.  
  108.     string intNumber;
  109.     cin>>intNumber;
  110.  
  111.     int size = intNumber.length();
  112.  
  113.     if(  intNumber[0] == '0'){
  114.  
  115.         cout<<"Not Accept : "<<intNumber<<endl;
  116.         return;
  117.     }
  118.     if(  (intNumber[0] == '+' || intNumber[0] == '-') && intNumber[1] == '0'){
  119.  
  120.         cout<<"Not Accept : "<<intNumber<<endl;
  121.         return;
  122.     }
  123.  
  124.  
  125.     for (int i = 0; i <size; ++i) {
  126.  
  127.  
  128.  
  129.         if (i > 0 && (intNumber[i] =='+' || intNumber[i] =='+')){
  130.  
  131.             cout<<"Not Accept : "<<intNumber<<endl;
  132.             return;
  133.         }
  134.  
  135.  
  136.         if ( ('0' <=  intNumber[i] && intNumber[i] <= '9') || (intNumber[i] =='+' || intNumber[i] =='-') ){
  137.  
  138.  
  139.  
  140.  
  141.             continue;
  142.  
  143.         } else{
  144.  
  145.             cout<<"Not Accept : "<<intNumber<<endl;
  146.             return;
  147.         }
  148.  
  149.  
  150.     }
  151.  
  152.  
  153.     cout<<"Accept : "<<intNumber<<endl;
  154.  
  155.  
  156.  
  157. }
  158.  
  159.  
  160. void variable(){
  161.  
  162.     cout<<"Enter Variable :\n";
  163.  
  164.     string intNumber;
  165.     cin>>intNumber;
  166.  
  167.     int size = intNumber.length();
  168.  
  169.  
  170.     if((intNumber[0] <='9' && intNumber[0] >= '0')){
  171.         cout<<"Not Accept aa: "<<intNumber<<endl;
  172.         return;
  173.     }
  174.  
  175.  
  176.     for (int i = 0; i <size; ++i) {
  177.  
  178.  
  179.         if((intNumber[i] <='z' && intNumber[i] >= 'a')  ||
  180.         (intNumber[i] <='Z' && intNumber[i] >= 'A')  ||
  181.                 (intNumber[i] <='9' && intNumber[i] >= '0' || intNumber[i] == '_')
  182.         ){
  183.  
  184.             continue;
  185.         }
  186.         else{
  187.  
  188.             cout<<"Not Accept : "<<intNumber<<endl;
  189.             return;
  190.         }
  191.  
  192.  
  193.     }
  194.  
  195.     cout<<"Accept : "<<intNumber<<endl;
  196.  
  197.  
  198. }
  199. int flag=1;
  200.  
  201. void  floating(){
  202.  
  203.     cout<<"Enter Float Number :\n";
  204.  
  205.     string intNumber;
  206.     cin>>intNumber;
  207.  
  208.     int size = intNumber.length();
  209.     int c=0;
  210.  
  211.  
  212.     if((intNumber[size-1] == '.')){
  213.         cout<<"Not Accept : "<<intNumber<<endl;
  214.         return;
  215.     }
  216.  
  217.  
  218.     for (int i = 0; i <size; ++i) {
  219.  
  220.  
  221.         if (intNumber[i] == '.')
  222.             c++;
  223.  
  224.         if (c>1){
  225.  
  226.             cout<<"Not Accept : "<<intNumber<<endl;
  227.             return;
  228.         }
  229.  
  230.  
  231.         if (i > 0 && (intNumber[i] =='+' || intNumber[i] =='+')){
  232.  
  233.             cout<<"Not Accept : "<<intNumber<<endl;
  234.             return;
  235.         }
  236.  
  237.  
  238.  
  239.         if ( ('0' <=  intNumber[i] && intNumber[i] <= '9') || intNumber[i] == '.'  || (intNumber[i] =='+' || intNumber[i] =='-')  ){
  240.  
  241.             continue;
  242.  
  243.         } else{
  244.  
  245.             cout<<"Not Accept : "<<intNumber<<endl;
  246.             return;
  247.         }
  248.  
  249.  
  250.     }
  251.  
  252.     if(c== 0){
  253.         cout<<"Not Accept : "<<intNumber<<endl;
  254.     }
  255.     else
  256.         cout<<"Accept : "<<intNumber<<endl;
  257.  
  258.  
  259. }
  260.  
  261.  
  262. void  exponent(){
  263.  
  264.     cout<<"Enter Exponent Number :\n";
  265.  
  266.     string intNumber;
  267.     cin>>intNumber;
  268.  
  269.     int size = intNumber.length();
  270.     int c=0,e=0,plus=0,minus=0;
  271.  
  272.  
  273.     if((intNumber[size-1] == '.')){
  274.         cout<<"Not Accept : "<<intNumber<<endl;
  275.         return;
  276.     }
  277.  
  278.     for (int j = 0; j <size; ++j) {
  279.  
  280.  
  281.  
  282.     }
  283.  
  284.  
  285.  
  286.  
  287.     for (int i = 0; i <size; ++i) {
  288.  
  289.  
  290.         if (intNumber[i] == '.'){
  291.                 if(!('0' <=  intNumber[i+1] && intNumber[i+1] <= '9')) {
  292.                     //cout<<"Not Accept : "<<intNumber<<endl;
  293.                     //return;
  294.                     flag =0;
  295.  
  296.  
  297.                 }
  298.  
  299.             c++;
  300.         }
  301.  
  302.         if (intNumber[i] == 'E')
  303.             e++;
  304.  
  305.         if (intNumber[i] == '+') {
  306.  
  307.             if (intNumber[i-1] !='E'){
  308.                 cout<<"Not Accept \n";
  309.                 return;
  310.             }
  311.  
  312.             plus++;
  313.         }
  314.  
  315.         if (intNumber[i] == '-')
  316.  
  317.             if (intNumber[i-1] !='E'){
  318.                 cout<<"Not Accept \n";
  319.                 return;
  320.             }
  321.  
  322.             minus++;
  323.  
  324.  
  325.         if (c>1 || e>1 || plus >1 || minus >1){
  326.  
  327.             cout<<"Not Accept : "<<intNumber<<endl;
  328.             return;
  329.         }
  330.  
  331.  
  332.         if ( ('0' <=  intNumber[i] && intNumber[i] <= '9') || intNumber[i] == '+' || intNumber[i] == '-' || intNumber[i] == '.' || intNumber[i] == 'E' ){
  333.  
  334.  
  335.  
  336.         } else{
  337.  
  338.             cout<<"Not Accept : "<<intNumber<<endl;
  339.             return;
  340.         }
  341.  
  342.  
  343.     }
  344.  
  345.  
  346.  
  347.  
  348.  
  349.     if((c== 1 && e == 1 && plus ==1 && flag == 1) || (c== 1 && e == 1 &&  minus == 1 && flag ==1)){
  350.         cout<<" Accept : "<<intNumber<<endl;
  351.     }
  352.     else if(c ==1  && e==1 && flag ==1){
  353.  
  354.         cout<<" Accept : "<<intNumber<<endl;
  355.     }
  356.  
  357.  
  358.     else
  359.         cout<<" Not Accept : "<<intNumber<<endl;
  360.  
  361.  
  362.  
  363. }
  364.  
  365.  
  366. void startWith(){
  367.  
  368.     cout<<"Enter String Start With n :\n";
  369.  
  370.     string intNumber;
  371.     cin>>intNumber;
  372.  
  373.     int size = intNumber.length();
  374.  
  375.  
  376.     if (size > 1){
  377.  
  378.         if(('0' <=  intNumber[1] && intNumber[1] <= '9')){
  379.             cout<<"Not Accept aa: "<<intNumber<<endl;
  380.             return;
  381.         }
  382.  
  383.     }
  384.  
  385.  
  386.     if((intNumber[0] != 'n')){
  387.         cout<<"Not Accept aa: "<<intNumber<<endl;
  388.         return;
  389.     }
  390.  
  391.         cout<<"Accept : "<<intNumber<<endl;
  392.  
  393. }
  394.  
  395.  
  396.  
  397.  
  398.  
  399. /*
  400. int stringSplit(string nameType){
  401.  
  402.     int len = nameType.length();  //string length
  403.     int comma =  nameType.find(',');  //find comma ',' index other it return -1
  404.     int count =0;
  405.  
  406.     for(int i=0; i<len; i++){
  407.  
  408.         if(nameType[i] == ',')
  409.             count++;
  410.  
  411.     }
  412.     return  count;
  413.  
  414. }
  415. */
RAW Paste Data