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

Poprawnosc int'a

Object Storage Arubacloud
0 głosów
269 wizyt
pytanie zadane 9 sierpnia 2015 w C i C++ przez niezalogowany
Bardzo bym prosił o jakiś pomysł na funkcję w którym sprawdza się, czy wspisana liczba jest int'em, char'em itd. Pomysł na to, albo gotowy kod (o co bym mniej prosił). Z góry dzięki :).

2 odpowiedzi

+1 głos
odpowiedź 9 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)
Może da się coś takiego zrobić, ale po co? W C++ po to się tworzy dane o znanych typach, aby nie mieć potrzeby do robienia takiego sprawdzania.
komentarz 9 sierpnia 2015 przez niezalogowany
switch nie obsługuje string a u mnie jest menu gdzie gdzie wybór to np 13 a char tego nie pomieści (chyba) więc jak inaczej miałbym to zrobić??
komentarz 9 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)

Jeśli chcesz sprawdzić, czy do strumienia cin została wpisana odpowiednia wartość, to spróbuj użyć metod good i fail (ale nie jestem pewien ich funkcjonalności).

komentarz 9 sierpnia 2015 przez Tisamon Bywalec (2,090 p.)
Jeśli switch nie obsługuje stringów, to te 13 możesz zrzutować na inta. Wtedy już powinno pójść.
komentarz 9 sierpnia 2015 przez niezalogowany
ok poczytam na ten temat dzięki wielkie
komentarz 9 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)
komentarz 9 sierpnia 2015 przez niezalogowany

Jeśli switch nie obsługuje stringów, to te 13 możesz zrzutować na inta. Wtedy już powinno pójść.

Genialne! Dzięki wielkie

komentarz 9 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)
To był sarkazm?
komentarz 9 sierpnia 2015 przez niezalogowany
Nie, szczerze mówię. Dzięki zaraz tego spróbuję
komentarz 9 sierpnia 2015 przez Krawiec91 Pasjonat (19,600 p.)
Wybór to 13 (int) czy "13" (string).
0 głosów
odpowiedź 9 sierpnia 2015 przez Krawiec91 Pasjonat (19,600 p.)
Nie widzę za bardzo sensu tworzenia takiej funkcji. Typ char nazwałbym specjalizowanym typem int do przechowywania znaków. Ale poza tą specjalizacją char nie różni się od int'a właściwościami, poza rozmiarem oczywiście (char - 1 bajt, int - zwykle 4 - bajty). Do zmiennej char możesz normalnie przypisywać liczby całkowite jak do typu int i wykonywać na nich obliczenia (dodawanie, odejmowania, etc) takie same jak dla typu int.
W programowaniu mikrokontrolerów 8 - bitowych przydają się zmienne typu char z powodu ich rozmiaru. Jeśli operuje się na liczbach 8 - bitowych, to nie ma sensu deklarowania dla nich zmiennych typu int, żeby nie marnować niepotrzebnie pamięci.
komentarz 9 sierpnia 2015 przez niezalogowany
to jak to zrobić
komentarz 9 sierpnia 2015 przez Krawiec91 Pasjonat (19,600 p.)
Jak widziałem w komentarzach pisałeś o menu z użyciem switcha. Jak już było napisane wcześniej, switch nie obsługuje stringów, tylko zmienne typu int, a w tym i typu char.
Co do porównywania czy liczba jest typu int czy char to może być problem. Bo jak pisałem wcześniej oba typy przechowują liczby całkowite.
Rozsądnym rozwiązaniem jest konwersja z typu string czy c-string (tablicy znaków) na int i użycie tego w switchu albo użycie od razu zmiennej typu int. Czyli wybór użytkownika zapisujesz jako liczbę a nie znaki.

Podobne pytania

0 głosów
1 odpowiedź 561 wizyt
0 głosów
1 odpowiedź 189 wizyt
0 głosów
0 odpowiedzi 273 wizyt
pytanie zadane 27 grudnia 2018 w PHP przez BlvckFox Gaduła (4,240 p.)

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,004 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!

...