Dev-C++ jak zrobić by w ife dodać date błąd "too many decimal points in number"
Ostatnio zmodyfikowano 2012-11-18 15:46
Savail |
» 2012-11-18 13:16:13 Jak używasz cin to kolejne wywołania poprzedzasz znakiem >> a nie przecinkiem. Nie jestem do końca pewien czy tą metodą można wczytać do zmiennej typu std::string. Możliwe, że trzeba użyć czegoś innego. W google w razie problemów powinieneś znaleźć sposób^^ edit: Użyj metody append z klasy std::string czyli np. Data.day.append( jakie ś argumenty ); Powoduje ona dodanie do końca stringa jakiegoś fragmentu tekstu, może to być kropka tak jak chciałeś |
|
jsc |
» 2012-11-18 13:24:05 A jak zrobić by faktycznie była to data z kropkami w jednej kolumnie z literka r lub r. lub bez ? |
Musisz zrobić sobie jeszcze pole w klasie przechowującą format daty i gdy będzie żądanie podania wartości zrobić funkcje konwertujące zgodnie z nakazem tego pola. |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 13:33:25 no tak ale mi chodzi żeby wykrywało kropki po wpisaniu np. 12.08.2010 a nie je dopisywało bo jak wpisze np. 12082010 to mi np dopisze ale jak wpisze z kropkami to może mi if nie załapać o co chodzi kurcze jak to zrobić przecież to takie proste a program taki głupi ^^ |
|
jsc |
» 2012-11-18 13:48:28 Z tego co napisałeś to sądzę, że warto żebyś wziął na wstrzymanie, poczytał o stringach i jeśli chcesz zrobić zaawansowane przerabianie różnych formatów regexach. Zastanów się jak można wykorzystać wiedzę o nowych funkcjach i napisz nowy program. |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 14:11:21 No ale mi zależy na czasie nikt nie potrafi zrobić by pytanie brzmiało podaj datę czegoś tam ? Wpisuje się np. 18.11.2012 i sprawdza czy to poprawna data czy nie? |
|
Savail |
» 2012-11-18 15:02:43 Może w ten sposób? Możesz wpisać datę z kropkami a to wyciągnie ci pojedynczo dzień, miesiąc i rok a jak wypisać z powrotem z kropkami to chyba nie powinien być już problem ^^ #include <iostream> #include <string> #include <conio.h>
using namespace std;
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; char buffer[ 255 ]; cin.getline( buffer, 255, '.' ); Data.day = buffer; cin.getline( buffer, 255, '.' ); Data.month = buffer; cin.getline( buffer, 255 ); Data.year = buffer; cout << Data.day << '.' << Data.month << '.' << Data.year; getch(); } |
|
dzaggiel Temat założony przez niniejszego użytkownika |
» 2012-11-18 15:46:16 Fenomenalnie ;] działa :D wielki plus dla ciebie naprawdę. Powiedz mi jeszcze cin.getline( buffer, 255, 'r')||cin.getline(buffer, 255, 'r.')||cin.getline(buffer, 255 ); gdy wprowadziłem coś takiego w latach to nie działa wtedy zwykła data oraz z r i r. Natomiast gdy usunę ostatni cin.getline to działa data tylko z r i r. dlaczego ? |
|
1 « 2 » |