apl-mhd

Second Assignment

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