Hjælp til simpel lommeregner

Tags:    c++

<< < 12 > >>
hejdav allesammen.

som jeg også har gjort udtryk for i min profiltekst, så er jeg ret ny inde for C++ programmering, og kommer derfor til at spørge nogle gange herinde q;

Jeg har skrevet denne lommeregner, og efter hvad jeg kan se, så burde den virke. Men i kan sikkert godt spotte en fejl :)
Den er lige Pt. kun lavet til +, men skal også laves om til +,/,*,-.

her er koden:

#include <iostream>
using namespace std;

int main()
{
system("TITLE lommeregner v. 0.1 af MBP");
system("COLOR 1");
char cChar;
double dfirstnumber;
double dsecondnumber;
char cDoagain;

do
{
system("CLS");
cout << "please enter the first number" << endl;

cin >> dfirstnumber;
cout << "please choose the operation you would like to use" << " (+,-,* or /)" << endl;

cin >> cChar;

cout << "please enter the second number" << endl;

switch (cChar)
(
case " + ":
cout << "the answer is: " << dfirstnumber << " + " << dsecondnumber << " = " << (dfirstnumber + dsecondnumber) << endl;
}

Det er meningen at man skal kunne indtaste to tal, og så udregner programmet summen af de to tal.

Kan nogen evt. rette fejlen (som der jo er, ellers ville programmet kunne køre) og forklare i detaljer hvad jeg har gjort gal, og hvad der skal til for at rette op i den?

håber i kan hjælpe mig!

mvh.



ved din switch har du en paranthes ( skal du ikke have en tuborg klamme {?



Hej Morten

Jeg synes selv, at du skal have chancen for at rette fejlene, så jeg vil blot vise dig i den rigtige retning :)

Du har hverken afsluttet din main funktion eller din do-while løkke.

Når man tester på en variable af typen char, skal man bruge '+' og ikke "+".

Du er kommet til at bruge ( istedet for { i din switch.

Og så undrer det mig, at du ikke ber' brugeren om the second number ;)

//Leth






Indlæg senest redigeret d. 20.04.2009 18:57 af Bruger #10853
Troels, gør jeg da også efter Cin >> cChar;?

cin >> cChar;

cout << "please enter the second number" << endl;



Skal lige hvide, hvordan kan jeg afslutte min main- og do? :$
er jo stadig nybegynder q;



Ja okay, teksten er der, men du mangler den efterfølgende cin til at læse tallet ind..

Du mangler sådan set bare en } til sidst for at afslutte din main.

Do-while'en mangler lidt mere..
Syntaksen for do-while ser således ud:

Fold kodeboks ind/udKode 


Dit statement i din lommeregner kunne så være, at cDoagain skal være lig y

//Leth




Indlæg senest redigeret d. 20.04.2009 20:33 af Bruger #10853
ok har sat } ind i main boksen, og er selvfølgelig også indlysende.

her er så koden nu:
Fold kodeboks ind/udKode 


Virker dog stadig ikke :s

hvis nogen kan skrive koden færdig, eller en del af den, og så forklare mig precis hvor de gør det, og hvad de gør, så vil det gøre det lidt nemmere.

Undskyld at jeg spørger meget (virker sikkert dumt for jer pro's) men alle har jo en første gang? :)



Du lukker rigtigt nok din do men du har også åbnet en switch som du ikke har lukket

Antallet af { skal være det samme som antallet af }

Forresten så tror jeg ikke du må have while cDoagain; i bunden??



Rettet så antallet af { er det samme som }. ved dog ikke om det er de rigtige steder:

Fold kodeboks ind/udKode 




Det ser bedre ud, men der er stadig problemer med dine tuborg paranteser..

Din Switch skal være inde i din do-while, og din do while inde i din main.

Jeg har rettet din kode til her med kommentar (alt der kommer efter // er en kommentar og har ingen effekt på programmet)

Fold kodeboks ind/udKode 


I min kode er er stadig et problem med switch'en, som du vil støde på, når du tilføjer - * / osv..

Tag et kig her http://www.udvikleren.dk/C/Article.aspx/127/ og se om du ikke selv kan finde ud af det



Indlæg senest redigeret d. 20.04.2009 23:03 af Bruger #10853
Du mangler at
#include <windows.h> // for system() funktionerne.



<< < 12 > >>
t