Beginer
I wrote this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/* Kalkulator s passwordom */
#include <iostream>
#include <string>
using namespace std;
int main()
{
string password = "idioti12";
cout <<"Unesite password ";
cin >> password;
if(password.compare("idioti12") == 0)
{
string zbrajanje = "zbrajanje";
string oduzimanje = "oduzimanje";
string mnozenje = "mnozenje";
string djeljenje = "djeljenje";
cout << "Pristup odobren. \n";
cout << "Dobrodosli! \n";
cout << "Izaberite operaciju: ";
if(zbrajanje.compare("zbrajanje") == 0)
{
int a, b, rezultat;
cout << "Unesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a + b;
cout << "Zbroj je: " << rezultat;
}
if(oduzimanje.compare("oduzimanje") == 0)
{
int a, b, rezultat;
cout << "Unesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a - b;
cout << "Razlika je: " << rezultat;
}
if(mnozenje.compare("mnozenje") == 0)
{
int a, b, rezultat;
cout << "Unesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a * b;
cout << "Umnozak je: " << rezultat;
}
if(djeljenje.compare("djeljenje") == 0)
{
int a, b, rezultat;
cout << "Unesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a / b;
cout << "Kolicnik je: " << rezultat;
}
}
else
{
cout << "Pristup odbijen. \n";
}
return 0;
}
|
But from some reason, its not working as it should.
STEP 1.8 of tutorial: Simple combo of "if...else" and math.
What is wrong with it?
I cant choose between: "zbrajanje", "oduzimanje", "mnozenje" and "djeljenje". And where to put \n so it look good (not all in one line)?
You are wrong here:
1 2 3 4 5 6 7 8 9 10 11
|
string zbrajanje = "zbrajanje";
string oduzimanje = "oduzimanje";
string mnozenje = "mnozenje";
string djeljenje = "djeljenje";
// ...
if(zbrajanje.compare("zbrajanje") == 0)
//...
if(oduzimanje.compare("oduzimanje") == 0)
// etc.
|
You need to declare a single string and then compare it to the various options
eg:
1 2 3 4 5 6 7 8 9
|
cout << "Izaberite operaciju: ";
string input;
cin >> input;
if ( input == "zbrajanje" )
//...
else if ( input == "oduzimanje" )
//...
//etc.
|
And where to put \n so it look good (not all in one line)? |
After displaying the result:
cout << "Zbroj je: " << rezultat << '\n';
Its working cool now. But how to make program after one "else if" return to cout << "Izaberite operaciju: "; and cin >> input; ?
Use a loop
eg:
1 2 3 4 5
|
do
{
cout << "Izaberite operaciju: "
// etc.
} while ( input != "exit" );
|
This will continue until the user enters 'exit'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/* Kalkulator s passwordom */
#include <iostream>
#include <string>
using namespace std;
int main()
{
string password = "idioti12";
cout <<"Unesite password ";
cin >> password;
if(password.compare("idioti12") == 0)
{
string input;
cout << "Pristup odobren. \n";
cout << "Dobrodosli! \n";
cout << "Izaberite operaciju: ";
cin >> input;
if(input == "zbrajanje" )
{
int a, b, rezultat;
cout << "\nZbrajanje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a + b;
cout << "\nZbroj je: " << rezultat << "\n";
}
else if(input == "oduzimanje" )
{
int a, b, rezultat;
cout << "\nOduzimanje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a - b;
cout << "\nRazlika je: " << rezultat << "\n";
}
else if(input == "mnozenje" )
{
int a, b, rezultat;
cout << "\nMnozenje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a * b;
cout << "\nUmnozak je: " << rezultat << "\n";
}
else if (input == "djeljenje" )
{
int a, b, rezultat;
cout << "\nDjeljenje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a / b;
cout << "\nKolicnik je: " << rezultat << "\n";
}
do
{
cout << "Izaberite operaciju: ";
cin >> input;
while ( input != "exit" );
}
else
{
cout << "Pristup odbijen. \n";
}
return 0;
}
|
Not working. Cant start program.
I meant something like this:
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
if(password.compare("idioti12") == 0)
{
string input;
cout << "Pristup odobren. \n";
cout << "Dobrodosli! \n";
do
{
cout << "Izaberite operaciju: ";
cin >> input;
if(input == "zbrajanje" )
{
int a, b, rezultat;
cout << "\nZbrajanje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a + b;
cout << "\nZbroj je: " << rezultat << "\n";
}
else if(input == "oduzimanje" )
{
int a, b, rezultat;
cout << "\nOduzimanje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a - b;
cout << "\nRazlika je: " << rezultat << "\n";
}
else if(input == "mnozenje" )
{
int a, b, rezultat;
cout << "\nMnozenje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a * b;
cout << "\nUmnozak je: " << rezultat << "\n";
}
else if (input == "djeljenje" )
{
int a, b, rezultat;
cout << "\nDjeljenje";
cout << "\nUnesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a / b;
cout << "\nKolicnik je: " << rezultat << "\n";
}
}while ( input != "exit" );
}
else
{
cout << "Pristup odbijen. \n";
}
|
thanks alot! its working.
Topic archived. No new replies allowed.