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

Określenie czy wpisana zmienna jest literą, cyfrą czy znakiem specjalnym.

Object Storage Arubacloud
+2 głosów
717 wizyt
pytanie zadane 7 czerwca 2017 w C i C++ przez Daniel Kostecki Nowicjusz (160 p.)
Witam,

Jestem osobą bardzo początkująca i chce wykonać zadanie do szkoły.

Mam wykonać program który po wpisaniu znaku określi czym jest np. wpiszę "a" to ukaże się napis "wpisałeś małą litere" , wpiszę "4" to ukaże się "wpisałeś cyfrę" itp.

Wiem też że w C++ zmienne są nadawane odgórnie przez programistę, więc jak skonstruować warunek żeby rozróżniał od siebie cyfry, litery i znaki specjalne, z góry dziękuje za pomoc.

3 odpowiedzi

+3 głosów
odpowiedź 7 czerwca 2017 przez criss Mędrzec (172,590 p.)

Skorzystaj z funkcji z biblioteki <cctype>.

komentarz 7 czerwca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
niby spoko, ale po co, moim zdaniem za bardzo rozleniwia korzystanie z samych bibliotek
1
komentarz 7 czerwca 2017 przez criss Mędrzec (172,590 p.)
Możesz wszystko pisać od zera jak ci się tak podoba :P Wszystko rozchodzi się o szybkość pisania albo kontrole. "Rozleniwianie" imo nie jest argumentem w żadnym kierunku. Raczej łatwiej napisać std::isspace(c) niż c == ' ' || c == '\t' || c == '\n' (...), a efekt ten sam. Tyle, że kod ładniejszy i napisany szybciej.

Taki argument miałby większy sens gdyby korzystanie z bibliotek zakrywało ci coś co powinieneś wiedzieć, a tylko wołasz funkcje i jesteś zadowolony. Tylko że tutaj chodzi o głupie porównanie wartości, żadna wiedza tajemna.
1
komentarz 7 czerwca 2017 przez Wildee Gaduła (3,380 p.)
Można to również zapisać przedziałami np. if(c >= 65 && c <= 90) :) Nie trzeba każdego znaku oddzielnie
komentarz 7 czerwca 2017 przez criss Mędrzec (172,590 p.)
W przypadku sprawdzania czy jest literą/cyfrą itd tak. W przypadku takim jak podałem wyżej (białe znaki) już nie. Anyway - wciąż ładniej wygląda funkcja :P
komentarz 7 czerwca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
zawsze mozesz napisac funckje i bedzie wygladac tk samo
1
komentarz 7 czerwca 2017 przez unknown Nałogowiec (39,560 p.)
Zawsze można samemu sobie zbudować komputer z tranzystorów znalezionych na wysypisku śmieci a nie korzystać z gotowego komputera bo to rozleniwia
komentarz 7 czerwca 2017 przez criss Mędrzec (172,590 p.)
O czym ta dyskusja właściwie jest? :D

Sprawa jest prosta:
masz za dużo czasu - piszesz wszystko od zera
szanujesz swój czas - korzystasz z bibliotek (co nie znaczy, że nie wiesz co sie dzieje pod spodem)
komentarz 7 czerwca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
no wlasnie, uzywam bibliotek, z wdwoch powodow, niewiem jak to zrobic, nie mam czasu
1
komentarz 7 czerwca 2017 przez Wildee Gaduła (3,380 p.)
Cytując autora tematu - "Jestem osobą bardzo początkująca i chce wykonać zadanie do szkoły." Ja również, tak jak wy, jestem za korzystaniem z bilbiotek. Weźmy jednak taką hipotetyczną sytuację jako przykład. Jesteś początkującym programistą i dostajesz za zadanie posortowanie zbioru liczb. Oczywiście możesz skorzystać z bilbioteki i gotowych funkcji, ale samodzielnie napisanie algorytmu sortującego potrafi wiele nauczyć. Pozwala zrozumieć, jak to wszystko działa. Z tego powodu na miejscu autora wybrałbym napisanie tego programu bez korzystania z bilbioteki cctype :)
komentarz 7 czerwca 2017 przez criss Mędrzec (172,590 p.)
Zgodziłbym się gdyby faktycznie chodziło o sortowanie :P
+2 głosów
odpowiedź 7 czerwca 2017 przez Wildee Gaduła (3,380 p.)
Zapoznaj się z tablicą kodów ASCII. Każdy znak (char) ma przypisaną konkretną wartość liczbową. Możesz z tego skorzystać :)
+1 głos
odpowiedź 7 czerwca 2017 przez Benek Szeryf (90,790 p.)

Pobierz zmienną jako char i sprawdź jej kod ASCII.

Podobne pytania

0 głosów
1 odpowiedź 667 wizyt
0 głosów
1 odpowiedź 739 wizyt
0 głosów
1 odpowiedź 104 wizyt
pytanie zadane 22 lutego 2020 w C i C++ przez Niepokonana7999 Bywalec (2,270 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...