Anzeige:
Ergebnis 1 bis 8 von 8

Thema: If else schleife...

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.01.2002
    Ort
    Meckenheim
    Beiträge
    42

    If else schleife...

    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


    Kernel Error
    Linux, verbindet Menschen :-)

    http://www.kernel-error.de/

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    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.
    Code:
    #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

  3. #3
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Code:
    #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.
    Geändert von Boron (17-11-2002 um 19:58 Uhr)
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  4. #4
    Registrierter Benutzer
    Registriert seit
    03.01.2002
    Ort
    Meckenheim
    Beiträge
    42
    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


    Kernel Error
    Linux, verbindet Menschen :-)

    http://www.kernel-error.de/

  5. #5
    Registrierter Benutzer
    Registriert seit
    03.01.2002
    Ort
    Meckenheim
    Beiträge
    42
    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...

    Kernel Error
    Linux, verbindet Menschen :-)

    http://www.kernel-error.de/

  6. #6
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    Laut C++-Standard sind alle Klassen/Funktionen der STL im namespace std.
    Normalerweise kannst du nicht 2 Variablen mit gleichem Namen haben:
    Code:
    int a;
    int a; //<--geht nicht!
    Sagen wir du benutzt jetzt namespaces:
    Code:
    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

  7. #7
    Registrierter Benutzer
    Registriert seit
    03.01.2002
    Ort
    Meckenheim
    Beiträge
    42
    Hi!

    Hey, crass...

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


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



    Kernel Error
    Linux, verbindet Menschen :-)

    http://www.kernel-error.de/

  8. #8
    Registrierter Benutzer
    Registriert seit
    03.01.2002
    Ort
    Meckenheim
    Beiträge
    42
    Hi!

    Noch mals vielen Dank für eure Hilfe...
    Linux, verbindet Menschen :-)

    http://www.kernel-error.de/

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •