Gå til innhold

Program for å gjøre om fra tommer til cm?


Anbefalte innlegg

har et problem jeg er en skjikkelig nuub.så her er det. jeg leser en bok om c++.og i en oppgave står dte at du skal lage et program som gjør om fra tommer til cm. her er koden hva er feil

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
double tommer

cout << "hvor mange tommer";//den sier at feilen er her
cin>>tommer;

double cm
cm=tommer*2.54
cout << "det blir"<<cm;

 system("PAUSE");	
 return 0;
}

 

 

EDIT : Du burde lære deg å kode bedre emnefelt først :-) Har endret det for deg.

Endret av Afseth
Lenke til kommentar
Videoannonse
Annonse

...eller tre.

 

Det heter dessuten <cstdlib> (ikke <stdlib.h>)

 

Dessuten er cin.get(); er bedre enn system("pause"); (For å bruke cin.get(); må du ha cin.ignore(); over når du tar imot input i løpet av programmet, slik du gjør.)

 

 

De to siste tingene jeg nevnte har med "good programming practice" å gjøre. Du bør gjøre noe med det og, men for å få kompilert må du nok legge til noen semikolon

 

Edit: Post 200 :)

Endret av Myubi
Lenke til kommentar

Du må bruke cin.ignore() først, slik:

 

#include <iostream>

int main()
{
    std::cout << "Enter value: "; 
    int x;
    std::cin >> x;  // Her blir det "hengende igjen" en \n, som gjør at
                    // cin.get() returnerer øyeblikkelig
    std::cout << "You entered: " << x << std::endl;

    std::cin.ignore();  // Ignorerer \n'en
    std::cin.get();     // Nå funker den :)
 return 0;
}

Lenke til kommentar

std::'ene blir det samme som å ha using namespace std;

 

 

Altså, alle eksemplene er ekvivalente:

 

 

#include <iostream>

int main()
{
    using namespace std;
    cout << "Hello World!\n";
    cin.get();
 return 0;
}

 

#include <iostream>

int main()
{
    using std::cout;
    using std::cin;
    cout << "Hello World!\n";
    cin.get();
 return 0;
}

 

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
    std::cin.get();
 return 0;
}

 

 

Merk: Hvis du bruker cin >> ..., må du ha med cin.ignore();Hvis ikke er det nok med cin.get();

 

Edit: La til cin.get()

Endret av Myubi
Lenke til kommentar

nok en gang har jeg problemer. hva er feil her.

#include <iostream>
#include <stdlib.h>
using namespace std;
int beregnsvar(double tall1,double tall2,char regneart);

int main(int argc, char *argv[])
{
double tall1;
double tall2;
char regneart;
double svar

cout << "skriv regnestykket.";
cin >>tall1>>regneart>>tall2  
int svar=beregnsvar(tall1,tall2,regneart);
cout <<tall1<<" "<<regneart<<" "<<tall2;
cout << "="<<svar<<endl;

cin.ignor
cin.get
}//slutt main
//
//------------------------------------------------------------------------------
//funksjonen beregnsvar
//
double beregnsvar(
double tall1,     //inn
double tall,      //inn
char rgneart)  //inn
{
int svar;
if (regneart=='+') svar=tall1+tall2;
if (regneart=='-') svar=tall1-tall2;
if (regneart=='*') svar=tall1*tall2;
if (regneart=='/') svar=tall1/tall2;
return svar;
//slutt funskjon beregnsvar

jeg trenger virkelig hjelp her. :scared:

Lenke til kommentar

double beregnsvar(

double tall1,     //inn

double tall,      //inn

char rgneart)  //inn

{

int svar;

if (regneart=='+') svar=tall1+tall2;

if (regneart=='-') svar=tall1-tall2;

if (regneart=='*') svar=tall1*tall2;

if (regneart=='/') svar=tall1/tall2;

} // blant annet denne glemte du :p

return svar;

//slutt funskjon beregnsvar[/code]

jeg trenger virkelig hjelp her. :scared:

Tror koden ville blitt mer ryddig hvis du kansje hadde brukt switch isteden for if, slik:

double beregnsvar(
double tall1,     //inn
double tall,      //inn
char rgneart)  //inn
{
int svar;
switch (svar)
 {
 case '+': svar = tall1+tall2;
               break;
 case '-': svar = tall1-tall2;
              break;
 case '*': svar = tall1*tall2;
              break;
 case '/': svar = tall1/tall2;
              break;
 }

 

EDIT:Og noe er selfølgelig skrevet litt dumt :p, og må rettes på.

Endret av zirener
Lenke til kommentar

hva betyr den switch greia for noe. :hmm: jeg har bare programert en uke,så jeg er en skikkelig nuub. :blush: mer problemer.

#include <iostream>
#include <stdlib.h>
using namespace std;
int beregnsvar(double tall1,double tall2,char regneart);

int main(int argc, char *argv[])
{
double tall1;
double tall2;
char regneart;
double svar

cout << "skriv regnestykket.";//den sier at feilen er her
cin >>tall1>>regneart>>tall2  
int svar=beregnsvar(tall1,tall2,regneart);
cout <<tall1<<" "<<regneart<<" "<<tall2;
cout << "="<<svar<<endl;

cin.ignor
cin.get
}//slutt main
//
//------------------------------------------------------------------------------
//funksjonen beregnsvar
//
double beregnsvar(
double tall1,     //inn
double tall,      //inn
char rgneart)  //inn
{
int svar;
switch (svar)
{
case '+': svar = tall1+tall2;
              break;
case '-': svar = tall1-tall2;
             break;
case '*': svar = tall1*tall2;
             break;
case '/': svar = tall1/tall2;
             break;
}
//slutt funskjon beregnsvar

Endret av Fredrik90
Lenke til kommentar

ok her er mitt problem.ser noen en feil her.

cout <<"skriv regnestykket";

kompilatoren min sier at det er noe feil her.jeg bruker "dev-c++"version 4.9.8.7

 

og vis noen lurer på hele koden er den her.

#include <iostream>
#include <stdlib.h>
using namespace std;
int beregnsvar(double tall1,double tall2,char regneart);

int main(int argc, char *argv[])
{
double tall1;
double tall2;
char regneart;
double svar

cout <<"skriv regnestykket";
cin >>tall1>>regneart>>tall2  
double svar=beregnsvar(tall1,tall2,regneart);
cout <<tall1<<" "<<regneart<<" "<<tall2;
cout << "="<<svar<<endl;

cin.ignor
cin.get
}//slutt main
//
//------------------------------------------------------------------------------
//funksjonen beregnsvar
//
double beregnsvar(
double tall1,     //inn
double tall2,      //inn
char rgneart)  //inn
{
int svar;
switch (regneart)
{
case '+': svar = tall1+tall2;
              break;
case '-': svar = tall1-tall2;
             break;
case '*': svar = tall1*tall2;
             break;
case '/': svar = tall1/tall2;
             break;
}
//slutt funskjon beregnsvar

Endret av Fredrik90
Lenke til kommentar

Da har du lært (det var en ordre, ikke en anmodning ;)) at når du har glemt et semikolon får du ofte feilmelding fra linja ovenfor (den som mangler semikolon). Du har dessuten lært at du har en tendens til å ha syntaksfeil, så du bør ta en titt etter det før du spør. Slike feil bør du dessuten egentlig klare å rette opp i selv.

 

Jeg trodde dessuten de fleste kompilatorer var smarte nok til å si ifra ganske klart om mangel på semikolon?

Lenke til kommentar

ok fiksa det nå er det en ny feil.den gir bare ikkem mening lengre før lagde jeg programer uten noe kluss og nå er det veldig mye.

double svar=beregnsvar(tall1,tall2,regneart);

den sier det er feil her. ok problem løst jeg og Myubi

posta svar samtitig.

Endret av Fredrik90
Lenke til kommentar

som sagt,nå har jeg en feil igjen. kan noen si hva som er feil her

#include <iostream>
#include <cstdlib>
using namespace std;
int beregnsvar(int tall1,int tall2,char regneart);

int main(int argc, char *argv[])
{
int tall1;
int tall2;
char regneart;
int svar;

cout <<"skriv regnestykket";
cin >>tall1>>regneart>>tall2;  
svar=beregnsvar(tall1,tall2,regneart);
cout <<tall1<<" "<<regneart<<" "<<tall2;
cout << "="<<svar<<endl;
 
cin.ignore();
cin.get();
}
//
//------------------------------------------------------------------------------
//funksjonen beregnsvar
//

int beregnsvar(int tall1,int tall2,char regneart);  

switch(regneart) { /* ... */ }//den sier:parse error before `switch'

{
case '+': svar = tall1+tall2;
              break;
case '-': svar = tall1-tall2;
             break;
case '*': svar = tall1*tall2;
             break;
case '/': svar = tall1/tall2;
             break;
             
return svar
}//slutt funskjon beregnsvar

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...