Skocz do zawartości


Zdjęcie

Zamiana stringa na int


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 M@tix

M@tix
  • Użytkownicy
  • 216 postów

Napisano 12 kwiecień 2014 - 15:30

Witam.
Mam plik tekstowy z numerami telefonów. Potrzebuję każdy z tych numerów zamienić na liczbę. Nie chce żadnych gotowych funkcji. Chce od podstaw kod, który to zamieni. Jak to zrobić?
  • 0


#2 mw_1975

mw_1975
  • Użytkownicy
  • 2535 postów

Napisano 13 kwiecień 2014 - 08:07

Proste jak drut.

- wczytujesz kolejne numery z pliku
- Dla każdego numeru z osobna:
- najpierw sprawdzasz, czy wczytany numer zawiera TYLKO I WYŁĄCZNIE cyfry 0-9. Każdy inny znak jest zakazany.
- do wcześniej przygotowanej zmiennej typu INT podstawiasz pierwszą cyfrę,a raczej różnicę pomiędzy kodem ASCII pierwszego (w praktyce ostatniego w numerze, czyli trzeba przetwarzać łąńcuch tekstowy od końca). Coś takiego
liczba=Ord(znak[1])-Ord('0')
Potem do końca stringu: mnożysz zmienną liczba przez 10 i dodajesz wartość jak wyżej, zmieniając Ord(znak[i[) - robisz to w pętli.
liczba=liczba*10+Ord(znak[i])-Ord('0')
gdzie i jest długością ciągu znaków
Wyświetlasz otrzymaną cyfrę i 4+ leci.
  • 0
AMD Phenom II 955
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W

#3 ~janusz

~janusz
  • Użytkownicy
  • 238 postów

Napisano 13 kwiecień 2014 - 08:53

Lub użyć języka troszkę wyższego poziomu niż C, korzystać z wyrażeń regularnych, try-catch, i wysokopoziomowych funkcji operujących na plikach od razu wczytujących całą linię tekstu a nawet funkcji parsujących string na integer. Problemem zwykle jest tylko sposób zapisania tego nru telefonu w pliku (sposób oddzielania, myślniki między częściami i takie tam).
  • 0


Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych