Gå til innhold

c++


Gjest Gjest_student_*

Anbefalte innlegg

Gjest Gjest_student_*
Skrevet

Programmet skal ta inn heltall og skrive de ut. Virker så simpelt, men jeg er helt grønn på dette.

void printTime(int hour, int minute, int second) {

hour = 3;

minute = 15;

second = 7;

cout << hour << "hours, " << minute << "minutes and" << second << "seconds. << endl;

}

Jeg får 2 feilmeldinger;

expected primary-expression before 'OTHER' token

error: expected `;' before 'OTHER' token

Noen som vet hva jeg gjør feil?

Videoannonse
Annonse
Skrevet (endret)
Programmet skal ta inn heltall og skrive de ut. Virker så simpelt, men jeg er helt grønn på dette.

void printTime(int hour, int minute, int second) {

hour = 3;

minute = 15;

second = 7;

cout << hour << "hours, " << minute << "minutes and" << second << "seconds. << endl;

}

Jeg får 2 feilmeldinger;

expected primary-expression before 'OTHER' token

error: expected `;' before 'OTHER' token

Noen som vet hva jeg gjør feil?

Etter å ha sett raskt gjennom koden din, det første jeg ser er at du mangler anførselstegn etter seconds.

Edit: Forresten. Du har jo innparametre hour, minute, second,

så helt i starten av funksjonen så forsøker du å skrive til disse. Det går ikke. Dessuten forsvinner jo hele hensikten med funksjonen da.

Her har jeg endret litt for deg

void printTime(int hour, int minute, int second) {
cout << hour << " hours, " << minute << " minutes and " << second << " seconds." << endl;
}[/codebox]

Endret av jmac
Gjest SmallTalk
Skrevet
Programmet skal ta inn heltall og skrive de ut. Virker så simpelt, men jeg er helt grønn på dette.

void printTime(int hour, int minute, int second)

{

hour = 3;

minute = 15;

second = 7;

cout << hour << "hours, " << minute << "minutes and" << second << "seconds. << endl;

}

Jeg får 2 feilmeldinger;

expected primary-expression before 'OTHER' token

error: expected `;' before 'OTHER' token

Noen som vet hva jeg gjør feil?

Få med deg en " etter seconds. Hvis ikke så vil du få kompileringsfeil. Får du fortsatt kompileringsfeil etter dette?

Hva gjør du når du kaller denne metoden? Jeg antar at du kaller den et eller annet sted, for de fleste kompilatorer jeg kjenner til vil krasje uten en "main" av noe slag. Kaller du denne funksjonen i main? I såfall, hvordan blir den kalt opp?

Jeg har endre koden din litt, og får denne til å kjøre uten problemer:

#import <iostream>

using namespace std;

void printTime(int hour, int minute, int second)

{

hour = 3;

minute = 15;

second = 7;

cout << hour << "hours, " << minute << "minutes and " << second << "seconds" << endl;

}

int main()

{

int hour, minute, second;

printTime(hour,minute,second);

return 0;

}

Skrevet

Takk for hjelpen begge to. Det var bare "-en som manglet. Nå får jeg til å kompilere og kalle opp fra main.

trenger litt mer hjelp om dere har tid.

jeg skal skrive funksjonen ((A^2 + 10) * 2) som "call by reference" og "call by value". Jeg skjønner ikke helt hvordan jeg skal gjøre det når jeg ikke har eksempler å se etter. Selv om jeg så det på forelesning og skjønner det da, blir jeg helt blank når jeg skal prøve selv.

Håper noen kan hjelp meg.

Skrevet (endret)

"call by value" eller verdioverføring, er egentlig det samme som du gjorde i din forrige funksjon. Du bruker en verdi som parameter til funksjonen.

#include <iostream>
using namespace std;

int calculate(int a) {
// Returnerer verdien
return ((a^2 + 10)*2);
}

int main() {
int iNum = 2;

cout << calculate(iNum);
// iNum vil fremdeles være 2.

cin.get();
}[/codebox]

"Call by referance", eller referanseoverføring betyr at paramteteret til funksjonen er ikke verdien i seg selv, men en referanse til den variabelen som ble bruk som parameter. Dermed hvis du endrer denne verdien i funksjonen vil du i praksis endre variablen som ble brukt som parameter.

(Dette ble litt rotete forklart)

Har lappet sammen et lite program her.

[codebox]#include <iostream>
using namespace std;

void calculate(int &a) {
a = ((a^2 + 10)*2);
}

int main() {
int iNum = 2;

calculate(iNum);
// iNum vil nå ha verdien 28.
cout << iNum;

cin.get();
}

Endret av jmac
Skrevet
Jeg fikk det til uten hjelp :)

Bra! :D

Beste måten å lære dette på er å knote og slite med det, plutselig løsner det.

Gjest SmallTalk
Skrevet
Bra! :D

Beste måten å lære dette på er å knote og slite med det, plutselig løsner det.

Uten tvil! Programmering er noe som må inn i fingrene, det nytter ikke lese seg til.

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!

Opprett en konto

Logg inn

Har du allerede en konto? Logg inn her.

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