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

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

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

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Apr 2009

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.

Chassi: Fractal Design Define R3, Titanium CPU: Intel Core i7 7700K 4.8 GHz
MoBo: Gigabyte GA-Z270-Gaming K3 GPU: EVGA GTX 970 4 GB
RAM: Corsair LPX 16GB CL15 3000Mhz VENGEANCE SSD: Samsung 750 EVO 500GB
HDD: 500GB Seagate Barracuda 7200rpm PSU: LEPA B1000-MB

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015

Yes, du måste addera dem. Se ovan

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2007
Skrivet av grönsaksröra:

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.