tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
510
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Benedikt Tutorials.de Gastzugang
    Also ich lerne ja wie gesagt seit ein paar Tagen C++, und habe mir jetzt mal ein Programm zur Übung schreiben wollen. Das Ziel war folgendes: Am Anfang gibt man 1, 2 oder 3 ein, dann kann man entweder die Fläche, den Umfang oder die Volumen eines Raumes ausrechnen.
    Wenn ich das ausführe, gebe ich dann eine Zahl zwischen 1 und 3 ein, und dann die Länge, Breite usw. Wenn ich dann das Ergebnis habe, steht dann wieder "Länge eingen:" da. Also der macht, wenn ich als erstes die Volumen berechnet habe dann gleich mit Umfang oder so weiter, anstadt das Programm zu beenden.
    Hat jemand ne idee, was ich falsch gemacht habe?

    #include <iostream.h>

    int flaeche (int x, int y);
    int umfang (int x, int y);
    int volumen (int x, int y, int z);

    int main()
    {
    int x,a,b,c,v;

    cout << "1.: Flaeche eines Raumes berechnen\n";
    cout << "2.: Umfang eines Raumes berechnen\n";
    cout << "3.: Volumen eines Raumes berechnen\n\n";
    cout << "Eingabe:";
    cin >> x;

    if (x==1)
    cout << "\nBitte die Laenge und Breite des Raumes eingeben:\n";
    cout << "\nLaenge:";
    cin >> a;
    cout << "Breite:";
    cin >> b;
    cout << "\n\nRechne...\n";
    c = flaeche(a,b);
    cout << "\nErgebnis: " << c;
    if(x==2)
    cout << "\nBitte die Laenge und Breite des Raumes eingeben:\n";
    cout << "\nLaenge:";
    cin >> a;
    cout << "Breite:";
    cin >> b;
    cout << "\n\nRechne...\n";
    c = umfang(a,b);
    cout << "\nErgebnis: " << c;
    if(x==3)
    cout << "\nBitte die Laenge, Breite und Hoehe des Raumes eingeben:\n";
    cout << "\nLaenge:";
    cin >> a;
    cout << "Breite:";
    cin >> b;
    cout << "Hoehe:";
    cin >> v;
    cout << "\n\nRechne...\n";
    c = volumen(a,b,v);
    cout << "\nErgebnis: " << c;
    return 0;
    }

    int flaeche (int x, int y)
    {
    return x*y;
    }

    int umfang (int x, int y)
    {
    return ((x+y)*2);
    }

    int volumen (int x, int y, int z)
    {
    return x*y*z;
    }

    Danke, Benedikt
     

  2. #2
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    Du solltest schon Klammern setzen******

    Deine If-Anweisung gilt nähmlich nur bis zum ersten Semikolon:
    Code :
    1
    2
    
    if (x==1)
    cout << "\nBitte die Laenge und Breite des Raumes eingeben:\n";
    Der Rest wird ganz normal interpretiert! So wäre es richtig! Siehe Beispiel

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    
    // Berechnung.cpp : Defines the entry point for the console application.
    //
     
    #include "stdafx.h"
    #include <iostream.h> 
     
    int flaeche (int x, int y); 
    int umfang (int x, int y); 
    int volumen (int x, int y, int z); 
     
    int main() 
    { 
        int x,a,b,c,v; 
     
        cout << "1.: Flaeche eines Raumes berechnen\n"; 
        cout << "2.: Umfang eines Raumes berechnen\n"; 
        cout << "3.: Volumen eines Raumes berechnen\n\n"; 
        cout << "Eingabe:"; 
        cin >> x; 
     
        if (x==1)
        {
            cout << "\nBitte die Laenge und Breite des Raumes eingeben:\n"; 
            cout << "\nLaenge:"; 
            cin >> a; 
            cout << "Breite:"; 
            cin >> b; 
            cout << "\n\nRechne...\n"; 
            c = flaeche(a,b); 
            cout << "\nErgebnis: " << c;
        }
     
        if(x==2) 
        {
            cout << "\nBitte die Laenge und Breite des Raumes eingeben:\n"; 
            cout << "\nLaenge:"; 
            cin >> a; 
            cout << "Breite:"; 
            cin >> b; 
            cout << "\n\nRechne...\n"; 
            c = umfang(a,b); 
            cout << "\nErgebnis: " << c; 
        }
     
        if(x==3) 
        {
            cout << "\nBitte die Laenge, Breite und Hoehe des Raumes eingeben:\n"; 
            cout << "\nLaenge:"; 
            cin >> a; 
            cout << "Breite:"; 
            cin >> b; 
            cout << "Hoehe:"; 
            cin >> v; 
            cout << "\n\nRechne...\n"; 
            c = volumen(a,b,v); 
            cout << "\nErgebnis: " << c; 
        }
     
        return 0; 
    } 
     
    int flaeche (int x, int y) 
    { 
        return x*y; 
    } 
     
    int umfang (int x, int y) 
    { 
        return ((x+y)*2); 
    } 
     
    int volumen (int x, int y, int z) 
    { 
        return x*y*z; 
    }
    Geändert von goela (31.10.02 um 13:03 Uhr)
     

  3. #3
    Benedikt Tutorials.de Gastzugang
    ahhh...
    ich versteh schon
    danke,
    benedikt
     

  4. #4
    Registriert seit
    Nov 2002
    Beiträge
    383
    jojo die struckturierung des Quelltextes ist schon wichtig :P
     

  5. #5
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    Noch besser ist es, die Funktionen in eigenen Unterfunktionen zu packen******
     

  6. #6
    Registriert seit
    Nov 2002
    Beiträge
    383
    jupp so hällt man main klein und übersichtlich
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 23.11.09, 12:27
  2. Antworten: 6
    Letzter Beitrag: 12.06.07, 18:28
  3. [help] Fehler auf Site - kann den Fehler nicht finden...
    Von Nice99 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.08.06, 22:30
  4. Eigener FTP Server - 502 command FEHLER - local = ok, ip = fehler
    Von robertino im Forum Hosting & Webserver
    Antworten: 26
    Letzter Beitrag: 30.04.04, 12:13
  5. Antworten: 5
    Letzter Beitrag: 06.05.02, 11:54