c++ problem bei if-Anweisung

flo2000

Grünschnabel
hallo,
ich hab das problem, dass beim kompilieren des folgenden Quellcodes ,immer auf die if Anweisung bezogen, folgender fehler kommt: linker operand muss ein L-Wert sein. Kann mir jemand sagen wie der Fehler zustande kommt? Danke.

Quelltext:

#include <iostream>
using namespace std;
double main ()
{

/*----------------Definfition der Variablen---------*/

int gastz, gastz2, kauft, kauft2;
double km, km2, endp, temp1, temp2;
const double normal=0.30;

bla...

if (gastz=1 && kauft=0)
endp=km*0.30;

if( gastz=2 && kauft=0)
endp=(km*0.30)+((km*0.30)-((km*0.30)*3/10));
 
in der if anweisung hast du ein Fehler! Es muss ein doppeltes Gleichheitszeichen sein (==)!
bei einem einfachen, gibt man einer variablen einen Wert!

if (gastz==1 && kauft==0)

so müsste dann die erste if Anweisung aussehen!
 
Ausserdem hab ich noch nie eine main Funktion mit double als Rückgabewert gesehen.

normalerweise ist ja
int main(int argc, char** argv )
 
Hi,

kleine Frage, was bekommt man da für ein Array vom OS? Wenn man main so aufruft? Wozu dient es?
Bin noch ziemlich am Anfang Programmieren zu lernen, und habe bisher immer nur void main() oder int main () return 0; was das Gleiche ist benutzt.
 
In argv[] stehen die Übergabeparamter, die deinem Programm beim Starten übergeben
werden.
In argc steht die Anzahl aller übergebenen Paramtert inklusive den eigenen Aufruf des
Programms.

Besser am Bsp:

Programmaufruf:
program -i 3000 -Test

Parameter:
argv[0] = program
argv[1] = -i
argv[2] = 3000
argv[3] = -Test

argc = 4

Hoffe ich konnte helfen...
Gruß
 
Zuletzt bearbeitet:
Verstehe ich das richtig?

Das hieße, ich könnte, wenn ich ein Programm auf der Shell starte ihm dann noch Parameter mitgeben?
Wie z.B.:format c: /q
argv[0]=format
argv[1]=c:
argv[2]=/q
 
Zurück