Eror

  • Onderwerp starter Onderwerp starter ceke
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ceke

Gebruiker
Lid geworden
9 mrt 2007
Berichten
86
Ik heb een programma gemaakt dat de snelhied van iets uitrekent doormiddel van de tijd en afstand op te geven. Dit is de sourscode:
Code:
#include <iostream>
using namespace std;

int main ()

{ 
    int afstand;
    int tijd;
    int km/u;
    
    cout<<" Geef aub je afstand op."<<endl;
    
    cin>> afstand;
    
    cout<<"Geef aub je tijd in."<<endl;
    
    cin>> tijd;
    
    (afstand / tijd * 60 = km/u)
    
    cout<< je snelheid is <<km/u<< km/u<<endl;
    
    
    
cin.get();    
return 0;

}

Als ik het compile geeft het een eror aan
Code:
 cout<< je snelheid is <<km/u<< km/u<<endl;
En aan
Code:
int km/u;
Ik heb dit gecheckt maar ik zie toch niks eigenaardigs:confused: Wat is er fout met mijn toepassing?
alvast bedankt,:thumb:

ceke
 
Laatst bewerkt:
Als ik het compile geeft het een eror aan
Code:
 cout<< je snelheid is <<km/u<< km/u<<endl;

Als je een tekst op het scherm wilt laten printen moet je er dubbele aanhalingstekens omheen zetten.

En aan
Code:
int km/u;

Je gebruikt een / in de variabele naam. Dat mag niet (de / staat voor gedeeld door, dus dat is verwarrend als het toegestaan is in een variabele naam.

Verander "int km/u" in "int kmu" (o.i.d.) en verander de cout regel in
Code:
cout << "je snelheid is " << kmu << " km/u" << endl;

en het zou moeten werken.
 
Alles wat hierboven staat en dan dit nog:
Code:
(afstand / tijd * 60 = km/u)
vervangen door:
Code:
kmu = afstand / tijd * 60;

let wel op.. dit zal niet kloppen een deling van 2 gehele getallen word altijd afgekapt naar een nieuw geheel getal.

--Johan
 
Heel erg bedankt:thumb:

Maar als ik kmu dan opslaag in een double.
Gaat mijn uitkomst dan preciezer zijn?:shocked:
En als ik het nu compile gaat mijn venster weg nog voor dat hij de km/u toonde
 
Laatst bewerkt:
zet na iedere
Code:
cin>>;
een
Code:
cin.ignore();
en als je het in een double opslaat ga je met een komma krijgen
 
zet na iedere
Code:
cin>>;
een
Code:
cin.ignore();
en als je het in een double opslaat ga je met een komma krijgen

Bedankt:thumb:

Voor wat staat die cin.ignore();?
En nu klopt mijn programa niet meer want telkens als afstand / tijd met een komma eindigt beantwoord het programa het met 0
ik heb het dus met een tussenstap gedaan maar zelfs dat werkt niet.

Code:
include <iostream>
using namespace std;

int main ()

{ 
    double afstand;
    double tijd;
    double kmu;
    double uitkomst;
    
    cout<<" Geef aub je afstand op.(kilometer)"<<endl;
    
    cin>> afstand;cin.ignore();
    
    cout<<"Geef aub je tijd in.(minuten)"<<endl;
    
    cin>> tijd;cin.ignore();
    
    afstand / tijd = uitkomst;
    kmu = uitkomst * 60;
    
    cout<< kmu; 
    
    

cin.get();
return 0;

}

Als ik alles in een float verander gaat dit wel:-s
 
Laatst bewerkt:
uitleg waarom cin.ignore();
als je cin>>; gebruikt dan krijg je eigenlijk 2 dingen : je invoer en een enter
die enter zorgt ervoor dat je op het einde de cin.get(); niet meer werkt.
De cin.ignore(); absorbeert al de enters
 
Als ik alles in een float verander gaat dit wel:-s

Zeker weten? Je tussenstap klopt niet helemaal.

Code:
afstand / tijd = uitkomst;

moet zijn

Code:
uitkomst = afstand / tijd;


Het = teken betekent niet is gelijk, maar krijgt de waarde van.
 
Zeker weten? Je tussenstap klopt niet helemaal.

Code:
afstand / tijd = uitkomst;

moet zijn

Code:
uitkomst = afstand / tijd;


Het = teken betekent niet is gelijk, maar krijgt de waarde van.

Wel dat is toch hetzelfde:confused:
 
afstand gedeeld door tijd krijgt de waarde van kmu.
en je wil kmu juist de waarde geven van afstand gedeeld door tijd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan