problemy z modulo

0

Hej, otóż kolega poprosił mnie o napisanie programu do Minecraft'a (tak wiem) odnośnie pewnego moda (Magical Crops). Chodzi o przeliczanie esencji tak więc 4 to 1 wyższego poziomu (tieru) tych poziomów jest 5 (inferium, prudentium, intermidium, superium, supremium) . Podaje się odpowiednie dane i na ich podstawie program oblicza potrzebną ilość esencji (jeżeli liczba nie jest podzielna przez 4 zwraca odpowiednia od 3 w dół) .Jeżeli dam mu jako pierwszą wartość 4 drugą 1 a resztę 0 powinno zwracać 2 tymczasem zwraca "6825024 i inferium 2147303424". Możecie mi wyjaśnić co źle zrobiłem? Z góry dzięki wszystkim!

#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main()
{
    cout << "Witaj w liczniku esencji do Moda Magical Crops (Mystical Agriculture)" << endl;
    while (true) {
        int inferium;
        int prudentium;
        int intermidium;
        int superium;
        int supremium;
        char litera;
        int wynik;
        int ilosc;
        int reszta;
        cout << "Ile masz esencji? (po kolei poczynajac od inferium jezeli nie masz wpisz 0)" << endl;
        cin >> inferium >> prudentium >> intermidium >> superium >> supremium;
        cout << "Na jaka i ile esencji chcialbys to zamienic?  ilosc pozniej \n p - prudentium \n i - intermidium \n s - superium \n c - supremium" << endl;
        cin >> litera;
        switch (litera) {
        case 'p':
            if (inferium % 4 == 0) {
                wynik = inferium / 4;
                wynik += prudentium;
            }
            else {
                if (inferium % 4 != 0) {
                    reszta = inferium % 4;
                    wynik = inferium - inferium % 4 + prudentium;
                }
            }
            wynik = ilosc;
            cout << wynik << " i inferium " << reszta << endl;
            break;
        }
    }
    system("pause");
    return 0;
}
3

Jaś dostał 10 jabłek, ile jabłek ma jaś? Milion, bo wcześniej miał 999990 jabłek. Inicjalizuj zmienne.

wynik = ilosc;

To psuje, bo wyliczony wynik nadpisujesz losową wartością (której odczyt to UB, bo jest niezainicjalizowana).

I tak na przyszłość: http://forum.4programmers.net/Newbie/173798-jak_tytulowac_watki_na_forum Dlaczego nikt nie odpowiada w moim wątku? tym razem pokolorowałem i sformatowałem kod, ale nie jesteś na forum od dziś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1