Dev-C++ jak zrobić by w ife dodać date błąd "too many decimal points in number"
Ostatnio zmodyfikowano 2012-11-18 15:46
dzaggiel Temat założony przez niniejszego użytkownika |
Dev-C++ jak zrobić by w ife dodać date błąd "too many decimal points in number" » 2012-11-18 11:56:49 Witam mam problem tak jak w temacie kod do tego błędu wygląda tak if (data==12.08.2010 || data==12.08.2010r || data==12.08.2010r.) i teraz pytanie dlaczego ? . Jestem początkującym programistą i robię tak jakby formularz lub hmm takie pytania i odpowiedzi i potrzebuje żeby rozpatrywało podaną datę niestety nie działa i pokazuje się "too many decimal points in number" Przy dacie muszą być kropki więc jak to zrobić prawidłowo ? |
|
SeaMonster131 |
» 2012-11-18 12:04:01 Można to rozwiązać na kilka sposobów. Chociażby trzymać datę w postaci ciągu znaków - string. |
|
m4tx |
» 2012-11-18 12:05:28 Jeżeli zmienna data to ciąg znaków, to po prostu obejmij sprawdzane daty cudzysłowami i będzie ok :) Warto jednak wspomnieć że sposób, w jaki próbujesz sprawdzać datę nie jest zalecany. Datę przechowuj lepiej w jakiejś strukturze danych, unikniesz dzięki temu błędów i burdelu związanego z różnymi formatami w różnych narodowościach. |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 12:08:38 mhym no dobrze a gdzie to przechowywać w takim razie i w jaki sposób później w ifie wywołać ? Jeśli chodzi o ten string np.? |
|
jsc |
» 2012-11-18 12:14:58 Zrobić klasę data i przeciążyć operatory. |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 12:18:59 A można tak po ludzku ? Ja dopiero zaczynam to są moje podstawy na studiach a nie zaawansowane algorytmy i kody. Prosił bym najlepiej z przykładem . |
|
Savail |
» 2012-11-18 12:34:58 #include <iostream> #include <string>
class data { public: int string2int( std::string str ) { int liczba; liczba = strtod( str.c_str(), NULL ); return liczba; } std::string day, month, year; };
int main() { data Data; Data.day = "01"; if( Data.day == "12" && Data.month == "01" && Data.year == "2012" ) { } if( Data.string2int( Data.day ) < 12 ) { } return 0; } W powyższym kodzie potrzebny jest jeszcze chyba #include <stdlib.h> |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 12:52:30 okey już jakiś postęp jest a teraz co mam wpisać do cin przed tym ? bo słowo data nie działa ? Jak wpisałem cin>>Data.day, Data.month,Data.year; to jakakolwiek data nie działa w sensie napisany wcześniej warunek "niepoprawna data" wychodzi a nie warunek przypisany pod konkretna datę. Udało mi się podzielić cin na 3 no ale to w każdym rzędzie podaje tylko liczby i wychodzi data: cin>>Data.day; cin>>Data.month; cin>>Data.year; A jak zrobić by faktycznie była to data z kropkami w jednej kolumnie z literka r lub r. lub bez ? |
|
« 1 » 2 |