Advertisement
tomte55

Calculator

Aug 15th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. //Version
  7. string ver = "1.2";
  8.  
  9. //Variables
  10. int input;
  11. double input1;
  12. double input2;
  13. double sum;
  14. double mem1;
  15. double mem2;
  16. double mem3;
  17. double mem4;
  18. int note_num = 1;
  19. string f_input;
  20.  
  21. int feedback_num = 1;
  22.  
  23. //Save feedback text to a txt file
  24. void save(string f_text) {
  25.     ofstream savefile ("Feedback.txt");
  26.     if (savefile.is_open())
  27.     {
  28.         savefile << "\nNote " << feedback_num << ": " << f_text << "\n";
  29.         feedback_num++;
  30.         savefile.close();
  31.     }
  32.     else cout << "Error opening file";
  33. }
  34.  
  35. //Print version
  36. void print_ver() {
  37.     cout << "|< Version " << ver << "\n|\n|\n\|\n";
  38. }
  39.  
  40. //Note number thing
  41. void note(string text) {
  42.     cout << "Note " << note_num << ": " << text << ".\n";
  43.     note_num = note_num + 1;
  44. }
  45.  
  46. //Print notes
  47. void notes() {
  48.     system("cls");
  49.     note("Memory är inte som det ska");
  50.     note("Ska lägga till mer räkne sätt");
  51.     note("Jobbar på ett feedback system");                          
  52.  
  53.     cout << "\n\n\n";
  54.     cout << "True mem: " << mem1 << endl;
  55.     cout << "True mem: " << mem2 << endl;
  56.     cout << "True mem: " << mem3 << endl;
  57.     cout << "True mem: " << mem4 << endl;
  58.     cout << "\n";
  59. }
  60.  
  61. //Print memory top&bottom line depending memory slots value print different lenghts
  62. void print_mem_line() {
  63.     if (mem1 <= 9 && mem2 <= 9 && mem3 <= 9 && mem4 <= 9) {
  64.         cout << "|---------|\n";
  65.     }
  66.     if (mem1 >= 10 && mem1 <= 99 || mem2 >= 10 && mem2 >= 99 || mem3 >= 10 && mem3 >= 99 || mem4 >= 10 && mem4 >= 99) {
  67.         cout << "|----------|\n";
  68.     }
  69.     if (mem1 >= 100 && mem1 <= 999 || mem2 >= 100 && mem2 >= 999 || mem3 >= 100 && mem3 >= 999 || mem4 >= 100 && mem4 >= 999) {
  70.         cout << "|-----------|\n";
  71.     }
  72.     if (mem1 >= 1000 && mem1 <= 9999 || mem2 >= 1000 && mem2 >= 9999 || mem3 >= 1000 && mem3 >= 9999 || mem4 >= 1000 && mem4 >= 9999) {
  73.         cout << "|------------|\n";
  74.     }
  75.     if (mem1 >= 10000 && mem1 <= 99999 || mem2 >= 10000 && mem2 >= 99999 || mem3 >= 10000 && mem3 >= 99999 || mem4 >= 10000 && mem4 >= 99999) {
  76.         cout << "|-------------|\n";
  77.     }
  78. }
  79.  
  80. //Print memory slots
  81. void print_mem_slot(int a) {
  82.     string slot;
  83.     int mem;
  84.  
  85.     if (a == 1) {
  86.         slot = "Mem1";
  87.         mem = mem1;
  88.     }
  89.     if (a == 2) {
  90.         slot = "Mem2";
  91.         mem = mem2;
  92.     }
  93.     if (a == 3) {
  94.         slot = "Mem3";
  95.         mem = mem3;
  96.     }
  97.     if (a == 4) {
  98.         slot = "Mem4";
  99.         mem = mem4;
  100.     }
  101.     cout << "| " << slot << "[" << mem << "] |\n";
  102. }
  103.  
  104. //Print all memory related stuff and version
  105. void print_mem() {
  106.     print_ver();
  107.     print_mem_line();
  108.     print_mem_slot(1);
  109.     print_mem_slot(2);
  110.     print_mem_slot(3);
  111.     print_mem_slot(4);
  112.     print_mem_line();
  113.     cout << "|\n|\n|\n";
  114. }
  115.  
  116. int main() {
  117.     note_num = 1; //Reset note number variable
  118.     system("cls");
  119.  
  120.     print_mem();
  121.  
  122.     //Print out all the options to choose from
  123.     cout << "|< 1=Addition\n" << "|< 2=Subtraktion\n" << "|< 3=Multiplikation\n" << "|< 4=Division\n" << "|< 5=Notes\n";
  124.     cout << "|\n|\n|\n";
  125.     cout << "|> Input: ";
  126.     cin >> input;
  127.  
  128.     //Show notes
  129.     if (input == 5) {
  130.         notes();
  131.         system("pause");
  132.         main();
  133.     }
  134.     if (input == 6) {
  135.         cout << "Type in your feedback\n";
  136.         getline (cin, f_input);
  137.         save(f_input);
  138.    
  139.     }
  140.     //If input is not any of the available options reset
  141.     if (input > 6 || input == 0) {
  142.         main();
  143.     }
  144.  
  145.     system("cls");
  146.  
  147.     print_mem();
  148.  
  149.     cout << "|> Input: ";
  150.     cin >> input1;
  151.     if (input == 1) {
  152.         cout << "|<        +\n";
  153.     }
  154.     if (input == 2) {
  155.         cout << "|<        -\n";
  156.     }
  157.     if (input == 3) {
  158.         cout << "|<        *\n";
  159.     }
  160.     if (input == 4) {
  161.         cout << "|<        /\n";
  162.     }
  163.     cout << "|> Input: ";
  164.     cin >> input2;
  165.  
  166.     if (input == 1) {
  167.         sum = input1+input2;
  168.     }
  169.     if (input == 2) {
  170.         sum = input1-input2;
  171.     }
  172.     if (input == 3) {
  173.         sum = input1*input2;
  174.     }
  175.     if (input == 4) {
  176.         sum = input1/input2;
  177.     }
  178.  
  179.     //Print out summary
  180.     cout << "|\n";
  181.     cout << "|< Sum: " << sum << "\n";
  182.     cout << "|\n|\n|\n";
  183.     cout << "|< Save sum to memory? (1-4), (0) to return to menu.\n";
  184.     cout << "|\n";
  185.     cout << "|> Input: ";
  186.     cin >> input;
  187.  
  188.     //Find out what memory slot was chosen then check if it already has a value
  189.     if (input == 1) {
  190.         if (mem1 > 0) {
  191.             cout << "|< Overwrite? 1/2.\n";
  192.             cout << "|\n";
  193.             cout << "|> Input: ";
  194.             cin >> input;
  195.             if (input == 1) {
  196.                 mem1 = sum;
  197.             }
  198.             if (input == 2) {
  199.                 main();
  200.             }
  201.         }
  202.         mem1 = sum;
  203.     }
  204.     if (input == 2) {
  205.         if (mem2 > 0) {
  206.             cout << "|< Overwrite? 1/2.\n";
  207.             cout << "|\n";
  208.             cout << "|> Input: ";
  209.             cin >> input;
  210.             if (input == 1) {
  211.                 mem2 = sum;
  212.             }
  213.             if (input == 2) {
  214.                 main();
  215.             }
  216.         }
  217.         mem2 = sum;
  218.     }
  219.     if (input == 3) {
  220.         if (mem3 > 0) {
  221.             cout << "|< Overwrite? 1/2.\n";
  222.             cout << "|\n";
  223.             cout << "|> Input: ";
  224.             cin >> input;
  225.             if (input == 1) {
  226.                 mem3 = sum;
  227.             }
  228.             if (input == 2) {
  229.                 main();
  230.             }
  231.         }
  232.         mem3 = sum;
  233.     }
  234.     if (input == 4) {
  235.         if (mem4 > 0) {
  236.             cout << "|< Overwrite? 1/2.\n";
  237.             cout << "|\n";
  238.             cout << "|> Input: ";
  239.             cin >> input;
  240.             if (input == 1) {
  241.                 mem4 = sum;
  242.             }
  243.             if (input == 2) {
  244.                 main();
  245.             }
  246.         }
  247.         mem4 = sum;
  248.     }
  249.  
  250.     main();
  251.     return 0;
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement