Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Problem bei C++

  1. #1
    Registriert seit
    26.11.2005
    Beiträge
    225
    Danke
    111
    Erhielt 41 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    in diesem Semester meines Studiums, haben wir C++ zu lernen. Wir haben jetzt die erste Aufgabe bekommen die wir lösen sollen, soweit kein Problem. Ich muss ein Medium in einer Klasse initalisieren, und auslesen. Dieses Medium kann man aussleihen und zurückgeben. Es funktioniert soweit alles bis auf das Ausleihen und die Rückgabe da bei dem Programm das Medium immer vorhanden ist.
    [HTML]#include<iostream>
    using namespace std;
    #include<stdio.h>

    class Medien{

    public:
    void init(){
    cout << '\n' << "Bitte Mediendaten eingeben \nSignatur:";
    cin >> signatur;
    cout << "Titel:";
    cin >> titel;
    status=true;
    }

    void ausgabe(){
    if (status=true){
    cout << "Signatur\t" << "Typ\t" << "Titel\t" << "Status" << '\n';
    cout << signatur << '\t' << "Medium" << '\t' << titel << '\t' << "vorhanden\n";
    }else{ //if (status=false){
    cout << "Signatur\t" << "Typ\t" << "Titel\t" << "Status" << '\n';
    cout << signatur << '\t' << "Medium" << '\t' << titel << '\t' << "verliehen\n";
    }
    }

    bool status;

    private:
    int signatur;
    char titel[20];

    };


    int main(){
    char eingabe;
    int i;
    Medien x;


    for(i=0; i<=1; i++){
    cout << '\n' << "Bitte Kommando\n";
    cout << '\n' << "m = neues Medium";
    cout << '\n' << "l = lesen";
    cout << '\n' << "e = entleihen";
    cout << '\n' << "r = rueckgabe";
    cout << '\n' << "q = Ende";
    cout << '\n' << "\neingeben:";
    cin >> eingabe;

    switch (eingabe){
    case 'm': x.init();
    i=0;
    break;

    case 'l': x.ausgabe();
    i=0;
    break;

    case 'e': cout << "\nAusleihen\n";
    x.status=false;
    i=0;
    break;

    case 'r': cout << "\nRueckgabe\n";
    i=0;
    x.status=true;
    break;

    case 'q': i=1;
    break;

    default: cout << "\nFalsche Eingabe\n";
    i=0;
    }
    }

    }[/HTML]

    Ich hab auch schon probiert den Status abzufragen ohne if-Schleife in der ausgabefunktion, und da hat es funktioniert, warum aber dann nicht mit einer Zuweisung des Status mittels einem Text.

    vielleicht habt ihr eine Idee,
    im vorraus schon Danke

    gruß frank
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."
    (Albert Einstein - 14.03.1879 - 18.04.1955)
    Zitieren Zitieren Problem bei C++  

  2. #2
    Registriert seit
    28.07.2009
    Ort
    St. Augustin
    Beiträge
    76
    Danke
    18
    Erhielt 9 Danke für 5 Beiträge

    Standard

    Hallo gingele,

    ich habe mich zwar mit C++ lange nicht mehr beschäftigt, aber sollte man nich die Variable "status" erst deklarieren und dann definieren?

    Wenn du die Lösung gefunden hast, dann schreib sie bitte. Würde mich auch interessieren.

    Gruß!
    "Ich bin eine Mischung aus jung und erfahren, das findet man sonst nur auf dem Straßenstrich."

  3. #3
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Du schreibst:

    ... if (status=true){.....
    Sollte aber wohl besser heissen:

    Code:
    ...   if (status==true){.....
    Ansonsten weist Du immer Status den Wert True zu, anstatt zu vergleichen. Ein gern genommener Fehler...

  4. Folgende 2 Benutzer sagen Danke zu Grubba für den nützlichen Beitrag:

    Andreas- (09.11.2009),gingele (09.11.2009)

  5. #4
    Avatar von gingele
    gingele ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2005
    Beiträge
    225
    Danke
    111
    Erhielt 41 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es Funktioniert, vielen Dank. Ein wirklich dummer Fehler, sorry. Hab ich die ganze Zeit übersehen, kommt davon wenn man Matlab und sontiges auch noch zu lernen hat. Naja jetzt gehts ja.
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."
    (Albert Einstein - 14.03.1879 - 18.04.1955)

Ähnliche Themen

  1. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Lesezeichen

Berechtigungen

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