Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Litery w zmiennej float i spacje

rafael1604 11 Sie 2012 23:57 1107 3
  • #1 11 Sie 2012 23:57
    rafael1604
    Poziom 10  

    Siemka!
    Mam dwa problemy, a mianowicie:
    I.
    Jak uniemożliwić wprowadzenie liter do zmiennej float?
    Mała próbka kodu:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    II.
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Jednak podany tekst wyświetlany jest tylko do spacji.
    Będę wdzięczny także za rozwiązanie bazujące na std::cout i std::cin

    Prosiłbym o małą podpowiedź co z tym zrobić...
    Z góry dzięki!!!

    0 3
  • Pomocny post
    #2 12 Sie 2012 00:15
    mickpr
    Poziom 39  

    rafael1604 napisał:
    Jak uniemożliwić wprowadzenie liter do zmiennej float?

    Najprościej - pobieraj znaki pojedynczo i filtruj tylko to, co chcesz żeby było dozwolone.
    Przy okazji rozwiążesz słynny problem kropki/przecinka.

    rafael1604 napisał:
    Jednak podany tekst wyświetlany jest tylko do spacji.

    Związane jest to z działaniem funkcji scanf - poczytaj dokładnie jak się ona zachowuje (jak są obsługiwane znaki "białe").
    http://pl.wikibooks.org/wiki/C/scanf

    0
  • Pomocny post
    #3 12 Sie 2012 08:19
    markonedj
    Poziom 22  

    Możesz też prościej:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #4 12 Sie 2012 12:18
    stanleysts
    Poziom 27  

    Żeby odbierać dane i weryfikować czy to są liczby musisz zrobić tak jak mówią koledzy -> sprawdzać po jednym znaku i interpretować go. Jeśli natomiast w takich przypadkach jak ten drugi chcesz korzystać z cin/cout to niestety musisz sobie sam ten operator sam zdefiniować np coś w stylu (w zależności od konkretnych potrzeb):

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0