Zmiana tekstu na liczby w C

0

Hej, mam takie zadanie:
Zapisz funkcję konwertującą tekst na liczbę typu int, która posiada jeden parametr: tablicę znaków typu char[].
Funkcja ma być typu int, ma zwracać wartość całkowitą.
Funkcja ma (w jakiś sposób) konwertować kolejne znaki-cyfry na liczbę całkowitą.
Musisz sprawdzić ile cyfr podano i odpowiednio zbudować wartość wyniku z kolejnych znaków-cyfr. Musisz skonwertować każdy kolejny znak-cyfrę
na odpowiadającą mu liczbę. Zapewne trzeba będzie coś przesunąć względem znaku z tabeli ASCII. Przy konstrukcji wyniku zapewne będzie potrzeba użyć także jakiegoś mnożenia.
Wykorzystanie gotowych konwerterów dostępnych w bibliotekach jest niedozwolone.
W głównym kodzie wczytaj do bufora tekstowego kilka cyfr (które mają symbolizować naszą liczbę).
Wywołaj funkcję konwertującą, jako jej parametr wstawiając bufor tekstowy.
Wyświetl na ekranie liczbę całkowitą, wartość zwróconą przez funkcję.

Właściwie to niezbyt rozumiem, mam np.'1234' zmienić na 1234? byłabym wdzięczna za wszelkie wskazówki, lub w ogóle za rozwiazanie ;)

2

Na początek - zastanów się jak z cyfr 1, 3, 7 stworzyć wartość 137, przy czym wolno Ci wykonywać tylko dwie operacje

  • dodawanie
  • mnożenie przez 10 (i wolno Ci go użyć tylko dwa razy)
2
  1. inicjalizujesz zmienną out jako zero.
  2. przejeżdżasz kolejno przez znaki tekstu i dla każdego znaku:
  • na podstawie kodu znaku w ASCII obliczasz liczbę n (np. zero ma kod 48. Czyli jeśli masz kod 50, to 50 - 48 = 2) https://www.ascii-code.com/ (optymistycznie zakładam, że w tekście znajdują się tylko cyfry)
  • mnożysz out przez 10 i dodajesz do niej obliczoną liczbę n:
    out = out * 10 + n. To wynika z tego, w jaki sposób działa system pozycyjny. Czyli wiedza z podstawówki.

i w zmiennej out będziesz miała wynikową liczbę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1