Permalänk
Medlem

Avancerad kalkylator

Hejsan!

Jag har en uppgift att göra en avancerad kalkylator och behöver lite (mycket) hjälp på traven. Uppgiften är att användaren ska kunna addera, subtrahera, multiplicera och/eller dividera hur många gånger som helst innan man väljer att få totalen. Alltså användaren ska kunna skriva in 2+3+4+1=

Min stora fråga är hur jag ska göra det? Jag tänker mig med att använda if/else if men har inte lyckats få det att funka. Detta är vad jag har gjort men det går inte att funka för mig. Hoppas det finns en vacker själ som kan hjälpa en nybörjare med kodning tack 🙏 (har en mac os)

#include <iostream>
using namespace std;

#include <iostream>
using namespace std;

int main()
{
int loopcount = 0;
int howmanynumbers;
int number;
int total = 0;
char op = 0;

cout << "How many numbers do you want to enter?" << endl;
cin >> howmanynumbers;
cout << "Choose an operator ( +, -, *, / )" << endl;
cin >> op;

while(loopcount < howmanynumbers) {
cout << " Please enter a number" << endl;
cin >> number;

if (op == '+')
total = total + number;

else if (op == '-')
total = total - number;

else if (op == '*')
total = total * number;

else if (op == '/')
total = total / number;

loopcount = loopcount + 1;

}

cout << "Your final sum is: " << total << endl;
return 0;
}

Permalänk
Hedersmedlem

Innan man börjar skriva kod bör man kanske definiera mera exakt vad kalkylatorn skall klara. Är det till exempel tillåtet att använda flera olika operatorer, och skall man följa normal operatorprioritet (2+4/2=4) eller något annat (2+4/2 --> 6/2 = 3)?

Permalänk
Medlem

Tips: Det är bättre att beskriva vad som händer när du kör ditt program och jämföra med vad du tycker borde hända, än att bara säga ”det fungerar inte”.

Kika gärna på hur man lägger in kod i forumet också!

Permalänk
Medlem

Jag skulle nog ta en titt eller två på den så kallade Järnvägsalgoritmen. Då skulle du få indatat i ett format som sedan är enklare att evaluera.