Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dev-C++ jak zrobić by w ife dodać date błąd "too many decimal points in number"

Ostatnio zmodyfikowano 2012-11-18 15:46
Autor Wiadomość
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ś
P-69469
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.
P-69470
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 ^^
P-69471
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.
P-69474
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?
P-69476
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 ^^
C/C++
#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

class data
{
public:
    int string2int( std::string str ) //funkcja konwerujaca z typu std::string na int
    {
        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, '.' ); //wczytywanie wykonuje się do napotkania znaku '.'
    Data.day = buffer;
    cin.getline( buffer, 255, '.' );
    Data.month = buffer;
    cin.getline( buffer, 255 ); //wczytywanie do napotkanie znaku końca lini
    Data.year = buffer;
    cout << Data.day << '.' << Data.month << '.' << Data.year;
   
    getch();
}
P-69479
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 ?
P-69480
1 « 2 »
Poprzednia strona Strona 2 z 2