PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : If else schleife...



Kernel-Error
17-11-2002, 19:34
Hi!

Habe hier irgendwie stress mit der If else schleife. Habe da folgendes kleines Progrämmchen zusammengeschustert. Aber beim Kompilieren bekomme ich nen Fehler.

Kompiliert wird mit dem g++

Danke schon mal für die Hilfe


:D Kernel Error :D :D

tkortkamp
17-11-2002, 19:55
Wenn du mehrere Zeilen Code nach einem if ausführen möchtest mußt du sie in {} einschließen. Wo wir gerade dabei sind: iostream.h wird nicht mehr benutzt! Benutzte stattdessen iostream und using namespace std;! Für math.h kannst du auch cmath schreiben. Die main-Funktion wird laut Standard mit int main(int argc, char **argv) deklariert und nicht anders.


#include <iostream>
#include <cmath>

using namespace std;


int main(int argc, char **argv)
{
char gesch;
double gr;
double a;
cout <<"\nGeben Sie m für männlich oder w für weiblich ein!\n";
cin >> gesch;
if (gesch=='m')
{
cout << "\nGeben Sie ihre größe in cm an!\n";
cin >> gr;
a = (gr - 100) / 0.95;
cout << "\nIhr Idealgewicht ist: " << a << " kg!\n";
}
else
{
cout << "\nGeben Sie ihre größe in cm an!\n";
cin >> gr;
a = (gr -100) / 0.90;
cout << "\nIhr Idealgewicht ist: " << a << " kg!\n";
}
return 0;
}


c ya,
Tobias

Boron
17-11-2002, 19:56
#include <iostream.h>
#include <math.h>
int main()
{
char gesch;
double gr;
double a;
cout <<"\nGeben Sie m für männlich oder w für weiblich ein!\n";
cin >> gesch;
if (gesch=='m')
{
cout << "\nGeben Sie ihre größe in cm an!\n";
cin >> gr;
a = (gr - 100) / 0.95;
cout << "\nIhr Idealgewicht ist: " << a << " kg!\n";
}
else
{
cout << "\nGeben Sie ihre größe in cm an!\n";
cin >> gr;
a = (gr -100) / 0.90;
cout << "\nIhr Idealgewicht ist: " << a << " kg!\n";
}
return 0;
}
Du solltest zusammengehörige Blöcke in geschweifte Klammern schreiben.

Kernel-Error
17-11-2002, 20:45
HI!

Besten dank.

Nun, habe auch schon gelesen das des nicht mehr benutzt wird. Nur, ich lerne den Shit so in der Berufsschule. Un die Wollen, das ich des so mache. :-(

MFG


:D Kernel Error:D

Kernel-Error
19-11-2002, 21:16
Hi!

Habe da nur noch 2 Fragen!

Was bewirken diese beiden Sachen?

1:
using namespace std;

2:
int main(int argc, char **argv )


Danke schon mal...

:D Kernel Error :D

tkortkamp
19-11-2002, 21:28
Laut C++-Standard sind alle Klassen/Funktionen der STL im namespace std.
Normalerweise kannst du nicht 2 Variablen mit gleichem Namen haben:


int a;
int a; //<--geht nicht!

Sagen wir du benutzt jetzt namespaces:


namespace a
{
int a;
}
namespace b
{
int a;
}

Das erste a sprichst du jetzt mittels a::a and das zweite mit b::a.
möchtest du sagen wir das erste a nur mittels a ansprechen musst du den Eintrag im Namespace exportieren, dass machst du mit using namespace a;

int main(int argc, char **argv )
Jedem Programm können Parameter übergeben werden.
argc ist dabei die Anzahl der übergebene Paramter + 1 (der Name der Executable zählt auch)
argv ist ein array. mit argv[0] erhälst du den Dateinamen der Executable, mit argv[1] den ersten Parameter usw.
Das ist im Standard so festgelegt.

c ya,
Tobias

Kernel-Error
19-11-2002, 22:00
Hi!

Hey, crass...

Danke! Das Hilft mich auch noch mal weiter, beim Lernen...


Aller besten Dank und noch nen schönen Abend...



:D Kernel Error :D

Kernel-Error
25-11-2002, 13:09
Hi!

Noch mals vielen Dank für eure Hilfe...