Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Hab kleines Problem

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
03.12.2005, 18:20 Uhr
Darin



Hey Leute bin ganz neu hier, ich schreib Montag eine Klausur über C++ und habe ein kleines Problem.

Ich möchte ein Datum eingeben das diese Format haben soll (TT.MM.JJJJ)
Dabei soll lediglich überprüft weren ob die zwei Punkte richtig gesetzt wurden und ob die gesammt länge hinkommt!
Jetzt hab ich aber das Problem das der mir immer angibt "Das Datum ist korrekt", auch wenn ich z.B. keine Punkte gesetzt habe!
Hier mal der Code ..





C++:
//---------------------------------------------------------------------------

#include <iostream.h>
#include <conio.h>
#include <string>
//---------------------------------------------------------------------------

int main()
{
string datum;
int laenge, i, position1, position2;

cout<<"Sie haben 4 Versuche, um ein Korrektes Datum einzugeben"<<endl;
i = 0;

while (i < 4)
        {
        cout<<"Bitte geben sie ein Datum ein (TT.MM.JJJJ)"<<endl;
        getline (cin, datum);
        i = i + 1;

        laenge = datum.length();

                if (laenge !=10)
                        {
                        cout<<"Ihre Darum lanege stimmt nicht"<<endl;
                        }
                else
                        {
                        position1 = datum.find(".");
                        datum.erase(2,1);
                        position2 = datum.find(".");

                                if (position1 = 2)
                                        {
                                        if (position2 = 4)
                                                {
                                                cout<<"Ihr Datum ist korrekt eingegeben"<<endl;
                                                break ;
                                                }
                                        else
                                                {
                                                cout<<"Der Zweite Punkt ist falsch gesetzt"<<endl;
                                                }
                                        }
                                else
                                        {
                                        cout<<"Der Erste Punkt ist falsch gesetzt"<<endl;
                                        }
                        }


        }


        getch ();
        return 0;
}
//---------------------------------------------------------------------------






Ich hoffe jemand kann mir weiterhelfen, denn ich finde momentan wirklich keinen Fehler finden ):

Dieser Post wurde am 03.12.2005 um 18:28 Uhr von Darin editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.12.2005, 18:39 Uhr
Darin



hat sich schon gelegt das Prob, hab nen ganz BLÖDEN Anfängerfehler gemacht
hab anstatt == ein = gemacht, hab also etwas neu deklariert ):

jetzt sieht es so aus
und es funktioniert einwandfrei!




C++:
//---------------------------------------------------------------------------

#include <iostream.h>
#include <conio.h>
#include <string>
//---------------------------------------------------------------------------

int main()
{
string datum;
int laenge, i, position1, position2;

cout<<"Sie haben 4 Versuche, um ein Korrektes Datum einzugeben"<<endl;
i = 0;

while (i < 4)
        {
        cout<<"Bitte geben sie ein Datum ein (TT.MM.JJJJ)"<<endl;
        getline (cin, datum);
        i = i + 1;

        laenge = datum.length();

                if (laenge !=10)
                        {
                        cout<<"Ihre Darum lanege stimmt nicht"<<endl;
                        }
                else
                        {
                        position1 = datum.find(".");
                        datum.erase(2,1);
                        position2 = datum.find(".");

                                if (position1 == 2)
                                        {
                                        if (position2 == 4)
                                                {
                                                cout<<"Ihr Datum ist korrekt eingegeben"<<endl;
                                                break ;
                                                }
                                        else
                                                {
                                                cout<<"Der Zweite Punkt ist falsch gesetzt"<<endl;
                                                }
                                        }
                                else
                                        {
                                        cout<<"Der Erste Punkt ist falsch gesetzt"<<endl;
                                        }
                        }


        }


        getch ();
        return 0;
}
//---------------------------------------------------------------------------

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.12.2005, 18:46 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
eben...
Aber wie kommst Du auf if (laenge !=10). Sind das nicht 11 (Datum+CR)?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 03.12.2005 um 19:11 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.12.2005, 19:45 Uhr
Darin



also mit der "if (laenge !=10)" funktioniert das ohne probleme bei mir!
auf die Zehn komme ich weil ...


1 2 . 1 2 . 1 9 9 9

1 2 3 4 5 6 7 8 9 10

Das genau zehn sind ^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.12.2005, 19:51 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
wenn's funzt ist doch ok. Habe es nur beim überfliegen Deines Quellcodes gesehen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


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: