Forum: Hjälp med miniräknare

Forum huvudsida -> Programmering -> Hjälp med miniräknare

Sidor: 1

Till botten

FlugSimp 15:37 - 11:a November 2008 | Post #1
Medlem
Inlägg: 11


Skicka PM
Hej! Jag är ny här så jag skulle vilja ha hjälp med 2 saker om min miniräknare som jag har gjort.
Om jag t.ex. vill veta svaret av 2 + 2 så visar den 44 och om jag vill veta svaret av 3 + 3 så blir det 66 altså blir det rätt svar men det står två gånger efter varandra.
Och jag undrar om det är någon som kan berätta hur man gör så att om man skriver in 2 + 2 så kommer svaret och om man skriver 2 x 2 så kommer svaret på det, och om man skriver 2 / 2 så kommer det svaret.
Snälla hjälp mig.

Tack i förvägSmiley


Senast redigerad 16:26 - 11:a November 2008


HärJ 16:50 - 11:a November 2008 | Post #2
Moderator
Inlägg: 1198


Skicka PM
får man se kod?

-------------------------
Tänk om jag vore en skalärprodukt!



FlugSimp 20:41 - 11:a November 2008 | Post #3
Medlem
Inlägg: 11


Skicka PM
Här är koden, tack på förhand:

  1. //Includes a language
  2. #include <iostream>
  3.  
  4. using namespace std;
  5. //Using the function cout out of the namespace std and creates a main-function
  6. using std::cout;
  7. //Using the function cin out of the namespace std and creates a main-function
  8. using std::cin;
  9.  
  10. //Creates a function of the datatype int(integer) called main
  11. //The type int tells the compiler to store a integer here
  12. int main()
  13. {
  14. //Creates a function of the type int and gives the function a name
  15. //The type int tells the compiler to store a integer here
  16. int Number_1;
  17. int Number_2;
  18. int Amount;
  19.  
  20. //The functions shows on the screen
  21. //Cout stands for Console out
  22. cout << "Write A Number\n";
  23. //Cin stands for Console in
  24. cin >> Number_1;
  25. cout << "Write Another Number\n";
  26. cin >> Number_2;
  27.  
  28. Amount = Number_1 + Number_2;
  29.  
  30. cout << "= " << Amount;
  31. cout << Amount;
  32.  
  33. cin.ignore(255,'\n');
  34. cin.get();
  35. //Return ,in this case nothing, to whom wich called the funktion
  36. return 0;
  37. }


Fixa source-taggar//herj


Senast redigerad 23:03 - 11:a November 2008


achnorr 21:04 - 11:a November 2008 | Post #4
Medlem
Inlägg: 82


Skicka PM
    Citat av FlugSimp:

cout << "= " << Amount;
cout << Amount;

du skriver ju ut talet två gånger... ta bort cout << Amount;


Och jag undrar om det är någon som kan berätta hur man gör så att om man skriver in 2 + 2 så kommer svaret och om man skriver 2 x 2 så kommer svaret på det, och om man skriver 2 / 2 så kommer det svaret.


ändra bara plustecknet till ett gångertecken (*) eller / för delat med.
eller menar du att programmet inte ska avslutas utan fråga efter ett nytt tal?

-------------------------
Ohhoo*

Senast redigerad 21:08 - 11:a November 2008


FlugSimp 15:52 - 12:a November 2008 | Post #5
Medlem
Inlägg: 11


Skicka PM
Hej achnorr! Tack för hjälpen med att det kom dubbla svar.
Nej jag menar att man skriver själv om man vill ha plus,minus,gånger eller delat t.ex. 2 + 2 eller 2 - 2 eller 2
  • 2 eller 2 / 2.
Tack för hjälpen


Senast redigerad 17:15 - 12:a November 2008


achnorr 16:35 - 12:a November 2008 | Post #6
Medlem
Inlägg: 82


Skicka PM
skriv någonting såhär :
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5.  
  6. int main()
  7. {
  8.  
  9.  
  10. int tal1 = 0,tal2 = 0,val = 0;
  11.  
  12. cout<<"skriv in tva tal\n";
  13. cin>>tal1;
  14. cin>>tal2;
  15.  
  16. cout<<"\n\n1.ganger\n2.plus\n3.delat\n";
  17. cin>> val;
  18.  
  19. if(val == 1)
  20. { tal1 = tal1 * tal2;}
  21.  
  22. if(val== 2)
  23. { tal1 += tal2;}
  24.  
  25. if(val == 3)
  26. { tal1 = tal1 / tal2;}
  27.  
  28. else
  29. {cout<<"fel\n";cin.get();return 0;}
  30.  
  31. cout<<"svar : "<<tal1<<"\n";
  32. cin.get();
  33.  
  34. return 0;
  35. }


-------------------------
Ohhoo*



FlugSimp 17:13 - 12:a November 2008 | Post #7
Medlem
Inlägg: 11


Skicka PM
Det funkar inteSmiley.
När jag klicka på enter för att se svaret så försvinner rutan.
Men när jag ska dividera så finns rutan kvar men det står det alltid svar = 0.
Har jag skrivit ågot fel?
Här är koden
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5.  
  6. int main()
  7. {
  8. int Number_1 = 0,Number_2 = 0, Choice = 0;
  9.  
  10. cout << "Write Two Numbers\n";
  11. cin >> Number_1;
  12. cin >> Number_2;
  13.  
  14. cout << "\n\n1.Multiply\n2.Plus\n3.Divide\n";
  15. cin >> Choice;
  16.  
  17. if(Choice == 1)
  18. { Number_1 = Number_1 * Number_2;}
  19.  
  20. if(Choice == 2)
  21. { Number_1 += Number_2;}
  22.  
  23. if(Choice == 3)
  24. { Number_1 = Number_1 / Number_2;}
  25.  
  26. else
  27. {cout << "Wrong\n";cin.get();return 0;}
  28.  
  29. cout << "Answer : " << Number_1 << "\n";
  30.  
  31. cin.ignore(255,'\n');
  32. cin.get();
  33. return 0;
  34. }


Tack för hjälpen förresten.
Men vet du hur man gör så att när jag går in på programmet så skriver jag själv in t.ex. 2 + 2 och då plusar programet ihop de och om jag skriver 2
  • 2 så gångrar programmet det.

Fixa till source-taggar//herj


Senast redigerad 21:48 - 13:e November 2008


achnorr 17:40 - 12:a November 2008 | Post #8
Medlem
Inlägg: 82


Skicka PM
mitt fel, byt ut if till else if framför choice==2 och choice==3.

Men vet du hur man gör så att när jag går in på programmet så skriver jag själv in t.ex. 2 + 2 och då plusar programet ihop de

spara allt i en sträng och skilj talen från tecknet. kör sedan en if sats på tecknet och utför det du vill beroende på tecknet.

-------------------------
Ohhoo*



FlugSimp 18:00 - 12:a November 2008 | Post #9
Medlem
Inlägg: 11


Skicka PM
Konstigt när jag har else framför choice == 2 och choice == 3 så vill inte programmet kompilera.

Hehe förlåt om jag är så jobbig men vad menar du med spara allt i en sträng och skilj talen från tecknet. kör sedan en if sats på tecknet och utför det du vill beroende på tecknet.
Vad är en sträng och hur ska jag skilja talen från tecknen.




ozamosi 18:18 - 12:a November 2008 | Post #10
Administratör
Inlägg: 1129


Skicka PM
Inte else - else if.

Om användaren skriver t ex 1 + 1, med mellanslag som du skrivit, så kan man göra såhär (jag orkade inte skriva multiplikation eller division, men det är bara att fortsätta likadant):
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main (int argc, char* argv[]) {
  6. int tal1, tal2, svar;
  7. char raknesatt;
  8. cout << "Skriv uppgift: ";
  9. cin >> tal1 >> raknesatt >> tal2;
  10. if (raknesatt == '+') {
  11. cout << "Svar: " << tal1 + tal2 << endl;
  12. }
  13. else if (raknesatt == '-') {
  14. cout << "Svar: " << tal1 - tal2 << endl;
  15. }
  16. else {
  17. cout << "Förstod inte uppgiften" << endl;
  18. }
  19. cin.ignore(255, '\\n');
  20. cin.get();
  21. return 0;
  22. }


-------------------------
Ljusblå



FlugSimp 18:24 - 12:a November 2008 | Post #11
Medlem
Inlägg: 11


Skicka PM
Tack så jätte mycketSmiley




Sidor: 1

Forum huvudsida -> Programmering -> Hjälp med miniräknare
Atom feed

Du får inte posta i den här tråden | Till toppen