Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » while(), bool, funktion und Abbruch...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.02.2003, 22:08 Uhr
daniel



Hallo cppler


C++:
#include <iostream.h>
#include <stdio.h>

struct zeit
{
    int m;
    int h;
};

int sec(zeit x, bool& stop)
{

    if(x.h > 23 || x.m > 59 || (x.h*x.m) == 0)
    {
        return -1;
        stop = true;
    }
    else
    {
        return (x.h*3600 + x.m*60);
    }
}

//***********

int main()
{
    struct zeit x;
    bool stop = false;

   while(!stop)
   {

        cout<<"Wie spaet ist es?"<<endl;
        cout<<"Stunde: "; cin>>x.h; cout<<endl;
        cout<<"Minute: "; cin>>x.m; cout<<endl;

        int erg = sec(x, stop);
        if(erg == -1)
        {
            cout<<endl<<"Ihre Uhr ist kaputt";
        }
        else
        {
            cout<<endl<<"Der Tag hatte bisher "<<erg<<" Sekunden.";
        }
        getchar();
    }

    return 0;
}



treibt mich etwas zum Wahnsinn. Eigentlich soll nach einer ungueltigen Zeiteingabe der bool "stop" auf true gesetzt werden. Damit das funktioniert, habe ich ihn ja auch als Refernz uebergeben. Leider resultiert aus diesem Programm eine Endlosschleife, d.h., ich kann Uhrzeiten eingeben, wie ich lustig bin, ich werde immer wieder gefragt, wie spaet es ist. Ich weiss, dass es nur ein kleiner Fehler sein wird, find ihn aber nicht.

Danke fuer Hilfe.

Daniel, der Montag SE-Pruefung hat
--
Im uebrigen bin ich der Meinung, dass M$ zerstoert werden muesste.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.02.2003, 23:09 Uhr
~OzzyCpluplus
Gast


Hi, bin selbst ein ziemlicher C++-Anfänger (ich schätze, ich bin etwa so gut wie du), hab den Fehler aber grad gefunden!

C++:
#include <iostream.h>
#include <stdio.h>

struct zeit
{
    int m;
    int h;
};

int sec(zeit x, bool & stop)
{

    if(x.h > 23 || x.m > 59 || (x.h*x.m) == 0)
    {
        stop = true;   // hier war der Fehler, stop = true; stand hinter return -1
        return -1;      // und wurde so nicht durchgeführt!
    }
    else
    {
        return (x.h*3600 + x.m*60);
    }
}

//***********

int main()
{
    struct zeit x;
    bool stop = 0;

while(!stop)
{

        cout<<"Wie spaet ist es?"<<endl;
        cout<<"Stunde: "; cin>>x.h; cout<<endl;
        cout<<"Minute: "; cin>>x.m; cout<<endl;

        int erg = sec(x, stop);
        if(erg == -1)
        {
            cout << endl << "Ihre Uhr ist kaputt";

        }
        else
        {
            cout<<endl<<"Der Tag hatte bisher "<<erg<<" Sekunden.";
        }
        getchar();
    }

    return 0;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.02.2003, 12:41 Uhr
~daniel
Gast


arg... danke. Bin eigentlich schon ein ganzes Stueck weiter, mach grad ein paar Uebungsaufgaben fuer die Pruefung durch. Trotzdem Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: