Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby podzielne przez 3,5 i 7

Ostatnio zmodyfikowano 2015-04-28 13:03
Autor Wiadomość
Klatyk
Temat założony przez niniejszego użytkownika
Liczby podzielne przez 3,5 i 7
» 2015-04-27 19:18:41
Miałem napisać program który miał za zadanie:


jak liczba podzielna przez 3 to wypisz fizz,
jak przez 5 to wypisz fuzz a jak przez 7 to buzz,
a jak przez 3 i 5 to fizzfuzz, jak 3 i 7 to fizzbuzz,
jak 5 i 7 to fuzzbuzz a jak 3 5 i 7 to fizzfuzzbuzz

Napisałem kod jednak działa to dla pojedynczych warunków dla tych złożonych nie :(
jak podam np. 15 to zamiast wypisać "fizzfuzz" wypisuje tylko "fizz" czyli, że jest podzielne przez 3 a czy przez 5 już nie sprawdza i to samo z resztą czyli 3 i 7, 5 i 7 oraz 3 i 5 i 7

C/C++
#include <iostream>

using namespace std;

int main()
{
    int x = 0;
    cout << "Podaj x ";
    cin >> x;
    if( x % 3 == 0 ) {
        cout << "fizz";
    }
    else if( x % 5 == 0 ) {
        cout << "fuzz";
    }
    else if( x % 7 == 0 ) {
        cout << "buzz";
    }
    else if( x % 3 == 0 && x % 5 == 0 ) {
        cout << "fizzfuzz";
    }
    else if( x % 3 == 0 && x % 7 == 0 ) {
        cout << "fizzbuzz";
    }
    else if( x % 5 == 0 && x % 7 == 0 ) {
        cout << "fuzzbuzz";
    }
    else if( x % 3 == 0 && x % 5 == 0 && x % 7 == 0 ) {
        cout << "fizzfuzzbuzz";
    }
    else cout << "Error";
   
    return 0;
}
P-131512
pekfos
» 2015-04-27 19:24:24
Wywal wszystkie else, połowa warunków jest niepotrzebna.
P-131513
Klatyk
Temat założony przez niniejszego użytkownika
.
» 2015-04-27 19:27:52
Wywaliłem else to teraz wypisuje np. przy 15 "fizzfuzzfizzfuzz" czyli, że podzielna przez 3, 5 oraz 15 a chce tylko fizzfuzz

EDIT: w sumie można wywalić 4 ify i zostawić tylko te trzy pierwsze
P-131514
uhc
» 2015-04-28 13:03:40
Daj 3 warunki if dla każdego warunku i jeden else, gdyby żaden nie działał
P-131551
« 1 »
  Strona 1 z 1