• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w funkcji klasy

VPS Starter Arubacloud
0 głosów
286 wizyt
pytanie zadane 7 czerwca 2015 w C i C++ przez mcjulcz44 Użytkownik (810 p.)
string int2string(int liczba)
{
    string cc;
    bool bb=false;
    int a=-1, b=liczba, j=-1;
    do
    {
        a++;
        b=b/10;
        if(b==0)
        {
            bb=true;
        }

    }
    while(bb!=true);
    if(a==0)
    {
        cc=char(48+liczba);
        return cc;
    }
    else
    {
        bb=false;
        do
        {
            b=liczba;
            j++;
            if(a!=0)
            {
                for(int i=0; i<a;)
                {
                    i++;
                    if(i==a)
                    {
                        cc[j]=char(48+b);
                        a--;
                    }
                    else
                    {
                        b=b/10;
                    }
                }
            }
            else
            {
                bb=true;
                return cc;
            }
        }
        while(bb!=true);
    }

}

Witam! Próbuję stworzyć funkcję, która będzie zamieniała int na string. Jednak jeśli liczba nie jest jednocyfrowa to funkcja nic nie zwraca. Wie ktoś o co może chodzić? Z góry dziękuje za pomoc ;)

2 odpowiedzi

+1 głos
odpowiedź 7 czerwca 2015 przez Adam Knie Mądrala (5,650 p.)
wybrane 8 czerwca 2015 przez mcjulcz44
 
Najlepsza
komentarz 8 czerwca 2015 przez mcjulcz44 Użytkownik (810 p.)
tylko, że ja chcę sobie to zrobić w celach "ćwiczeniowych"
komentarz 8 czerwca 2015 przez Adam Knie Mądrala (5,650 p.)
To poleciłbym poćwiczyć nazywanie zmiennych, stosowania komentarzy, oraz stosowania funkcji które zostały już napisane. :) Bo wymyślanie 'koła' od nowa, to mija się z celem.
Gotowa funkcja:
http://pastebin.com/P1aTQX2C
Masz wszystko otoczone komentarzami.
Kompiluj z flagą C++11.
komentarz 8 czerwca 2015 przez mcjulcz44 Użytkownik (810 p.)
wielkie dzięki ;)
0 głosów
odpowiedź 7 czerwca 2015 przez Pinio Gaduła (3,520 p.)

a nie można tak sobie życia uprościć?

int a = 10;
string b = to_string(a);

 

komentarz 7 czerwca 2015 przez draghan VIP (106,230 p.)
A jakim cudem to ma zadziałać? :) Zwrócę uwagę, że to C++. ;)
komentarz 7 czerwca 2015 przez Pinio Gaduła (3,520 p.)
Będzie więc CUD ;p proszę sprawdz moje rozwiązanie zajmie Ci to 10sekund:)
komentarz 7 czerwca 2015 przez draghan VIP (106,230 p.)
Ja? Sprawdziłem. :) U mnie nie działa. :P Co ma znaczyć zawieszone w powietrzu "to"? ;)
komentarz 7 czerwca 2015 przez Pinio Gaduła (3,520 p.)
to z angielskiego 'do' .. zamien do stringa:)

jaki masz błąd? dodałeś bibliotekę <string> ?
komentarz 7 czerwca 2015 przez draghan VIP (106,230 p.)

Oczywiście, że włączyłem nagłówek string. :) Ustawiłem również flagę kompilatora -std=c++11, żeby wiedział, do którego standardu się odnoszę. :)

string s = to_string(7); // to się poprawnie skompiluje, przy założeniu zadeklarowania użycia przestrzeni nazw std

string s = to string(7); // to się nie skompiluje, gdyż nie ma w danej jednostce translacji określonego identyfikatora "to"

 

komentarz 8 czerwca 2015 przez Pinio Gaduła (3,520 p.)

zdziwiłbym się gdyby 'string s = to string(7)' Ci poszło wyraznie uzyłem 'to_string' :) 

Dobra koniec tematu szkoda czasu na taka pierdołe:)

komentarz 8 czerwca 2015 przez draghan VIP (106,230 p.)
To spójrz jeszcze raz na Twój pierwszy post. ;) I zgadzam się, nasz wątek można zamknąć.

Podobne pytania

0 głosów
0 odpowiedzi 224 wizyt
0 głosów
1 odpowiedź 111 wizyt
–1 głos
2 odpowiedzi 167 wizyt

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...