dimanche 17 juin 2018

Variable not changing from user input in C++

I'm trying to create multiple calculators in the C++ console for Geometry Theorems and other formulas in Algebra, and for some weird reason on the start of the program, when selecting an option the variable scene does not want to change(shown before the array of calculators[], and instead of going to the Pythagorean Theorem(scene 1), the console says, "Press any key to continue. . ." and closes.

I've tried both the switch() andif() statements to navigate scene management, but what am I doing incorrectly? (I'm still a C++ learner by the way, but I have other programming language experience).

Thanks for the help in advance.

#include "stdafx.h"
#include <iostream>
#include <cmath>

int scene(0);
char calculators[3][25] = 
{
    "",
    "Pythagorean Theorem",
    "Homer's Formula"
};
void selection() 
{
    std::cout << "Enter a number to select a calculator." << std::endl; // Opening
    for (int i = 1; i <= 2; i += 1) {
        std::cout << "Option " << i << ": " << calculators[i] << std::endl;
    }
}

void pTheorem() 
{
    int a;
    int b;
    std::cout << "Enter side a: ";
    std::cin >> a;
    std::cout << "Enter side b: ";
    std::cin >> b;
    std::cout << "Side length of c is " << sqrt(pow(a, 2) + pow(b, 2)) << std::endl;
}

int main() 
{
    switch(scene) 
    {
        case 0:
            selection();
            std::cin >> scene;
            std::cout << "You've selected the " << calculators[scene] << " Calculator" << std::endl;
            break;
        case 1:
            pTheorem();
            break;
    }
    return 0;
}

Aucun commentaire:

Enregistrer un commentaire