Forum huvudsida -> Programmering -> Miniräknare
Sidor: 1
Andy_yngel | 18:46 - 15:e Mars 2007 | Post #1 | |
Medlem Inlägg: 22 ![]() Skicka PM |
Hej igen. Har gjort en basic miniräknare men när jag komplierar kommer det en jädra massa fel men jag kan inte fatta vrf. Snälla hjälp mig! (SOURCE=cpp][SOURCE] #include <iostream> using namespace std; int main() { cout <<"Vilket räknesätt vill du använda?" << endl; int raknesatt; cin >> raknesatt; if (raknesatt == *); { int ett_tal; int ett_tal1; cout << "Skriv in talen du vill multiplecera:" << endl; cin >> ett_tal; cin >> ett_tal1; int multi_summa; multi_summa = ett_tal
} else if (raknesatt == /); { cout << "Skriv in talen du vill dividera:" << endl; int ett_tall; int ett_tall1; cin >> ett_tall; cin >> ett_tall1; int divi_summa; divi_summa = ett_tall / ett_tall1; cout << "Svaret är " << divi_summa << " !" << endl; } else if (raknesatt == -); { int ett_talll; int ett_talll1; cout << " Skriv in talen du vill subtrahera:" << endl; cin >> ett_talll; cin >> ett_talll1; int subb_summa; subb_summa = ett_talll - ett_talll1; cout << "Svaret blir " << subb_summa << " !" << endl; } else if (raknesatt == +); { int etttal; int etttal1; cout << "Skriv in talen du vill addera:" << endl; cin >> etttal; cin >> etttal1; int addi_summa; addi_summa = etttal + etttal1; cout << "Svaret blir " << addi_summa << " !" << endl; } return 0; }
------------------------- Jag är nybörjare i c++ programmering! Senast redigerad 18:52 - 15:e Mars 2007 |
Slash | 19:17 - 15:e Mars 2007 | Post #2 | |
Medlem Inlägg: 141 ![]() Skicka PM |
Det jag ser på en gång är att teckenkonstanter måste omges med '. Alltså else if (raknesatt == '+'), sen så ska if-satser (i de allra flesta fall) INTE avslutas med ett semikolon ;. Vidare så behöver du inte döpa variablerna olika i olika block om du inte vill. Så du slipper det något förvirrande int ett_tal, int ett_tall, int ett_talll och int etttal. ------------------------- Ingen sigantur! |
Andy_yngel | 19:41 - 15:e Mars 2007 | Post #3 | |
Medlem Inlägg: 22 ![]() Skicka PM |
Tack Det funkade att kompliera men när jag kör det och väljer räknesätt så kommer det bara tryck på valfri tangent för att fortsätta. Jag har testat med cin get och cin ignore men det funkar ändå inte! Vet nån vad som e felet!?? ------------------------- Jag är nybörjare i c++ programmering! Senast redigerad 19:55 - 15:e Mars 2007 |
Smygis | 20:36 - 15:e Mars 2007 | Post #4 | |
Medlem Inlägg: 90 ![]() Skicka PM |
felet är int raknesatt; Det ska vara char raknesatt; ------------------------- Ingen signatur! <- OMG! Jag har inte någon signatur! Ge mig en signatur FFS! Senast redigerad 20:56 - 15:e Mars 2007 |
main | 11:07 - 16:e Mars 2007 | Post #5 | |
Medlem Inlägg: 40 ![]() Skicka PM |
En rekommenderad metod är dock att ha en funktion t.ex. compute som tar vissa argument (inklusive operator), och ha en switch i den och utför räkneoperationerna efter det. Om du bara ska ha två operander, så finns det väldigt enkla lösningar. Skall du dock ha ett uttryck som t.ex (3*4+8-(7^3) / 2) måste du skriva en parser (ganska komplicerat dock om du inte är så bra på C/C++ än). Med två operander (PSEUDO): läs in: tal1 op tal2 anrop: compute(tal1,op,tal2) retur: resultat av beräkning (tal1 op tal2) + Ev. lagring av senaste operation. ------------------------- - Real programmers code in binary |
Andy_yngel | 18:38 - 16:e Mars 2007 | Post #6 | |
Medlem Inlägg: 22 ![]() Skicka PM |
Tack Smygis, det funkade perfekt!!! och main, jag kan inte riktigt så mycket än så jag fattar det men snällt att du ville hjälpa till! ------------------------- Jag är nybörjare i c++ programmering! |
Sidor: 1
Forum huvudsida -> Programmering -> Miniräknare
Du får inte posta i den här tråden | Till toppen
Datum
2025-03-16 21:32
Vecka: 11
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.