Lär mig C++. Varför funkar inte detta enkla program?

Permalänk
Inaktiv

Lär mig C++. Varför funkar inte detta enkla program?

Mer än att följa kursboken & tutorials vill jag såklart experimentera också! Programmet nedan ger följande fel: "The identifier is defined more than once, or a subsequent declaration differs from a previous one."

#include <iostream> using namespace std; int main() { int tal_ett, tal_tva, tal_tre; int total = tal_ett, tal_tva, tal_tre; cout << "Skriv 3 valfria tal som adderas ihop (endast heltal): " ; cin >> tal_ett >> tal_tva >> tal_tre ; cout << total << endl; return 0; }

Varför? int total deklarerar jag ju som att den ska representera innehållet på tre andra variabler. Tack

Permalänk
Medlem

Du behöver addera de talen gissar jag på. Kan inte c++ men gissar att det fungerar exakt likadan på de flesta språken.

int total = tal_ett + tal_tva + tal_tre.

För att förtydliga så kommer du behöva addera talen efter att du gjort inmatningen. Eftersom koden går uppifrån och ner.

Permalänk
Medlem

Yes, du måste addera dem. Se ovan

Permalänk
Medlem
Skrivet av anon52343:

Varför? int total deklarerar jag ju som att den ska representera innehållet på tre andra variabler.

Nej, vad du egentligen gör är att deklarera tre variabler, total, tal_tva samt tal_tre, där värdettotal sätts till värdet av tal_ett. Men eftersom tal_ett inte har fått något värde vid den punkten i programmet så kommer total bara innehålla skräp (d.v.s. värdet som minnet tal_ett tilldelades råkar innehålla). Och orsaken till att du får kompileringsfel är så klart för att tal_tva och tal_tre redan deklarerats på raden ovanför.

Om du vill addera talen så måste du alltså som sagt använda +, och du måste göra det efter att variablerna tilldelats värden.