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

zamiana 4 cyfrowej liczby na stringa

Ostatnio zmodyfikowano 2015-05-16 15:03
Autor Wiadomość
wojtek.997
Temat założony przez niniejszego użytkownika
zamiana 4 cyfrowej liczby na stringa
» 2015-05-15 20:34:17
Witam, otóż mam taki fragment kodu:
cout<<"Podaj rok z przedzialu 1900-2100 "<<endl;
cin>>a>>b>>c>>d;
if (????????>=1900 && ???????<=2100)//warunek sprawdzajacy czy rok jest z przedzialu

i jak mam teraz te liczbe skladajaca sie z 4 cyfr zamienic aby w miejscu moich "????" sprawdzilo czy liczba jest z zakresu? i potem po sprawdzeniu znowu liczba musi byc rozbita na 4 cyfry...
P-132313
pekfos
» 2015-05-15 21:05:43
Wczytuj jako jeden int?
P-132315
Maciek
» 2015-05-15 22:23:59
Sposób jest bardzo, bardzo prosty, podam przykład:
C/C++
#include <boost/lexical_cast.hpp>
#include <string>
#include <iostream>
#include <sstream>

int main()
{
    //wariant z 1 int
    int val = 1978;
    std::cout << boost::lexical_cast < std::string >( val ) << std::endl;
    //wariant z 4 int
    int a = 1, b = 9, c = 7, d = 8;
    std::stringstream str;
    str << a << b << c << d;
    std::cout << str.str() << std::endl;
}
 
Jak widzisz mozesz wykorzystać szablon z bibliteki boost - lexical_cast i w prosty sposób zamienić int na std::string który jest parametrem szablonu. Drugi wariant który pokazałem wykorzystuje klasę stringstream z biblioteki standardowej którą ma każdy kompilator C++. Zachowuje się jak strumień i potem metoda składowa składowa str() zwróci ci string do wykorzystania we własnym zakresie. pozdrawiam i miłego testowania tych klas, są one bardzo praktyczne :).
P-132321
wojtek.997
Temat założony przez niniejszego użytkownika
» 2015-05-15 23:42:41
No dobrze, to jakbym chciał tym drugim sposobem :) to
Pisze to
cout<<"Podaj rok z przedzialu 1900-2100 "<<endl;
cin>>a>>b>>c>>d; // I CO DALEJ?
if (????????>=1900 && ???????<=2100)// co wpisać w miejsce moich "???"
Bo potem musi ponownie rozpisać liczbę w formie >>a>>b>>C>>D; bo następnie mam switche uzależnione od tych 4 zmiennych.
Prosze o pomoc :)
P-132329
Piastlis
» 2015-05-16 12:42:37
Pomnóż i dodaj?
P-132339
aksen
» 2015-05-16 15:03:56
problem matematyczny na poziomie gimbazy

C/C++
int x = a * 1000 + b * 100 + c * 10 + d;

if( x >= 1900 && x <= 2100 )
{
   
   
    ....
   
}
P-132343
« 1 »
  Strona 1 z 1