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

Konwersja przez itoa (c++)

0 głosów
194 wizyt
pytanie zadane 17 lipca 2018 w C i C++ przez Sic Mądrala (7,370 p.)

Witam!

Proszę o podpowiedź dlaczego funkcja jest nie widoczna w programie.

Chcę utworzyć konwersje liczb dziesiętnych na dziesiętne, szesnastkowe i dwójkowe za pomocą funkcji itoa. Problem polega na tym, że kompilator nie widzi tej funckji. W dodatku kod utworzony na stronach jest niestety błędny.

#include <iostream>
#include <cstdio>
 
int main()
{
          int value, nr;
          char sign[15];
          std::cout << "Wybierz opcje\n1.Dziesiątkowy\n2.Binarny\n3.Szesnastkowy\n4.Zakończ\n";
          std::cin >> nr;
          while( nr == 4)
          {
                  switch(nr)
                  {
                          case 1:
                                  std::cout << "Podaj liczbę: "; std::cin >> value;
                                  std::cout << itoa(value, sign, 10);
                          break;
                          case 2:
                                  std::cout << "Podaj liczbę: "; std::cin >> value;
                                  std::cout << itoa(value, sign, 2);
                          break;
                          case 3:
                                  std::cout << "Podaj liczbę: "; std::cin >> value;
                                  std::cout << itoa(value, sign, 16);
                          break;
                  }//switch
          }//while
  
 }

 

4 odpowiedzi

0 głosów
odpowiedź 17 lipca 2018 przez VirtualMember Stary wyjadacz (12,150 p.)

Co do błędu to prawdopodobnie brakuje Ci tego includa <cstdlib> (stdlib.h)

link: http://www.cplusplus.com/reference/cstdlib/itoa/

#include <cstdlib>

 

0 głosów
odpowiedź 17 lipca 2018 przez Ukasz Użytkownik (940 p.)
Spróbuj z biblioteką <cstdlib>
komentarz 17 lipca 2018 przez Sic Mądrala (7,370 p.)

Problem jest w tym, że już tego próbowałem. Dalej nie działa:

kod.cpp:16:38: error: ‘itoa’ was not declared in this scope
     std::cout << itoa(value, sign, 10);

 

komentarz 17 lipca 2018 przez Ukasz Użytkownik (940 p.)
W jakim IDE pracujesz? Możliwe że to wina kompilatora. Nie wszystkie obsługują funkcję itoa, aczkolwiek pierwszy raz się z takim czymś spotykam...
komentarz 17 lipca 2018 przez Sic Mądrala (7,370 p.)
g++5 na linuxie .
0 głosów
odpowiedź 17 lipca 2018 przez mokrowski VIP (111,080 p.)

Już Ci odpowiedział @VirtualMember ale jak widzę sam nie doczytał źródła które podał. Gdzieś na środku tej strony masz:

This function is not defined in ANSI-C and is not part of C++, but is supported by some compilers.

Mówiąc wprost. Lepszy jest inny sposób. Np ten: https://en.cppreference.com/w/cpp/string/basic_string/stol

 

komentarz 17 lipca 2018 przez Sic Mądrala (7,370 p.)
Po co ta kłótnia skoro obaj nie wnieśliście więcej niż sam zdołałem zebrać informacji ?
komentarz 17 lipca 2018 przez VirtualMember Stary wyjadacz (12,150 p.)

@mokrowski wywołał mnie jakobym powoływał się na źródła, których nawet nie czytam, co jest niesprawiedliwą bzdurą stąd naturalnie spytałem o podstawy takiego zachowania. Nie nazwałbym tego kłótnią, a raczej respektowaniem konsekwencji słów.

komentarz 18 lipca 2018 przez Sic Mądrala (7,370 p.)
W takim razie wymiane nie zgodną z tematem prowadźcie prywatnie, ponieważ nie zamierzam wyszukiwać istotnych treści pomiędzy wyminą zdań, która donikąd nie prowadzi.
1
komentarz 18 lipca 2018 przez mokrowski VIP (111,080 p.)

@Sic, ja skończyłem.

@VirtualMember, z całą pewnością itoa(...) nie jest powodem dla którego warto tracić czas na bezsensowne dyskusje. Przeczytaj uwagi ze zrozumieniem bez emocjonalnego zarzucania komukolwiek złej woli.

1
komentarz 18 lipca 2018 przez VirtualMember Stary wyjadacz (12,150 p.)
Cały czas chłodno patrzę na dyskusję i w dalszym ciągu nie dostrzegam logicznego powodu Twojego osądu. Czy sprawa jest błaha czy wielce poważna, bzdur na czyiś temat wygadywać nie można. Na przyszłość po prostu waż słowa a nie będziesz miał takich problemów. Pozdrawiam.
0 głosów
odpowiedź 17 lipca 2018 przez VirtualMember Stary wyjadacz (12,150 p.)

Jeśli chcesz jakieś ciekawe podejście do zamiany liczb to jeszcze polecę:

LINK

komentarz 17 lipca 2018 przez Sic Mądrala (7,370 p.)
Dziękuję, jednak wole rozwiązać problem który dotyczy funkcji wbudowanej.

Podobne pytania

0 głosów
1 odpowiedź 86 wizyt
pytanie zadane 14 sierpnia 2016 w C i C++ przez thekibi27 Obywatel (1,870 p.)
0 głosów
1 odpowiedź 103 wizyt
0 głosów
1 odpowiedź 485 wizyt
pytanie zadane 27 listopada 2017 w C i C++ przez Messien Nowicjusz (140 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

65,753 zapytań

112,389 odpowiedzi

237,306 komentarzy

46,699 pasjonatów

Przeglądających: 239
Pasjonatów: 17 Gości: 222

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...