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++ - Liczby całkowite (7 liczb)

Ripper-PL 22 Paź 2013 18:23 1761 12
  • #1 22 Paź 2013 18:23
    Ripper-PL
    Poziom 9  

    Witam, mam problem z jednym z zadań, ponieważ jestem początkujący:
    Jak zapisać sekwencje , która będzie akceptować tylko liczby całkowite ?? tzn. mam do podania 7 liczb i zostaną na nich wykonane działania matematyczne, ale muszą to być lcizby całkowite, no i moje pytanie brzmi. Jak to zapisać aby w razie podania liczby niecałkowitej cofało nas spowrotem do podawania tej liczby i wyśiwetlało komunikat aby ponownie wybrać liczbę całkowita, chciałbym to również o ile jest to możliwe zapisać jak najbardziej zwięźle w najkrótszej możliwej liczbie wierszy tzn. np. zapisać jeden warunek który tyczy się wszystkich 7 liczb o kolei a nie pisać 7 warunków jeden po drugim. Z góry dziękuję za odpowiedź

    0 12
  • #3 22 Paź 2013 18:50
    Ripper-PL
    Poziom 9  

    Używam MS visual studio 2010 professional, a co do środowiska to nie orientuje się w tym zbytnio, muszę napisać program w trakcie zajęć w kompilatorze i tyle :).

    P.s
    Używam w nim komend cin/cout o ile to ma znaczenie, a jeśli ma to mogę wszystko zmienić na printf/scanf

    0
  • #4 22 Paź 2013 18:55
    mickpr
    Poziom 39  

    Ripper-PL napisał:
    musze napisać program w trakcie zajęć w kompilatorze i tyle
    Program piszesz w edytorze, kompilatorem kompilujesz go (tak gwoli ścisłości).

    0
  • #5 22 Paź 2013 19:05
    Dżyszla
    Poziom 42  

    Sposoby są dwa

    1: Zamiast wczytywać cały ciąg pobieraj pojedyncze znaki i składaj w liczbę, jednocześnie ignorując wszystkie inne
    2. Wczytaj wejście do ciągu tekstowego i dokonaj konwersji - jeśli ta zwróci wyjątek - uznaj, że podano niepoprawny zapis i nakaż wczytać ponownie (pętla).

    0
  • #6 22 Paź 2013 19:06
    kopek11111
    Poziom 17  

    Używasz instrukcji warunkowej if, warunek z resztą z dzielenia operator '%' a do cofania się do pytania o liczbę używasz pętli. Prawdopodobnie używasz C++ więc w google wyszukaj sobie jakiś kurs, powodzenia.

    0
  • #7 22 Paź 2013 19:14
    Ripper-PL
    Poziom 9  

    Hmmm..... jestem początkujący ogarniam switch,for,while,if itd. itp. ale ze słownictwa jakie jest używane jestem "zacofany", czy mógłby ktoś na szybkiego napisać mi kawałek kodu zawierający przymus używania liczb całkowitych ?? Żebym mógł się na czymś wzorować, bo naprawdę nie ogarniam tych całkowitych itd. itp. A tak warunek to przymus niestety. Z góry dziękuję.

    0
  • #8 22 Paź 2013 19:21
    kopek11111
    Poziom 17  

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Cały warunek:)

    0
  • #9 22 Paź 2013 19:42
    Ripper-PL
    Poziom 9  

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    A to czasami nie jest warunek na parzystośc albo nieparzystość liczb ?? Mógłbys wkomponować ten warunek pod dowolną liczbę a-g z tego kodu i jak się da to ew. zrobic jeden warunek dla wszystkie 7 liczb ?? Dzięki za pomoc (wiem wiem jestem troche niekumaty). I tak btw. jak napisać warunek mieszczacy się w jednej instrukcji, który wybierze najmniejszą z 4 liczb (prosiłbym o kawałek kodu jak się da, jak nie to trudno ) :). [/code]

    0
  • Pomocny post
    #10 22 Paź 2013 19:56
    Dżyszla
    Poziom 42  

    @Kopek - widzę kolega to nawet liczb parzystych od całkowitych nie rozróżnia, a próbuje radzić...

    @Ripper-PL - masz rację. :)
    Ad meritum - http://stackoverflow.com/questions/13212043/integer-input-validation-how albo http://www.youtube.com/watch?v=YIX7UhIKEIk - chyba szkoda kopiować internet.

    0
  • #11 22 Paź 2013 20:31
    Ripper-PL
    Poziom 9  

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Dobra wykombinowałem coś takiego, ale znowuż jest problem bo program dziwnym trafem zamaist 7 liczb oczekuje ich 11, wczesniej gdy w zamaist na double było na int to oczekwiał 9 ?? Wiesz może jak to naprawić ?? Dzięki za pomoc

    0
  • Pomocny post
    #12 22 Paź 2013 21:00
    kopek11111
    Poziom 17  

    Ale siara, sorki zmęczony byłem, nie doczytałem... Oczekuje ich więcej ponieważ pobierasz dane w dwóch liniach:

    Pierwsza:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Druga:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #13 22 Paź 2013 21:12
    Ripper-PL
    Poziom 9  

    Dobra usunąłem pierwszą linie i teraz jest wszystko cacy jak podam 7 liczb całkowitych, ale jak wpisze raz liczbę niecałkowita to znowu żąda więcej liczb niż powinien ??? Co jeszcze poprawić ?? Dzięki za pomoc :)

    Edit: Dobra działa niepotrzebnie usunałem 100 w jednym z wierszy. Dzięki za pomoc !!

    0