Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
Lukáš Havlíček:1.12.2019 13:47

Zdravím, procvičuju si cykly a narazil jsem na jeden problém. Mám vytvořený cyklus na zadávání čísel ten mi funguje v pořádku, ale když ty čísla chci sečíst, tak mi to vypíše uplně nesmyslný výsledek.

/*
Datum vytvoření: 1.12.2019
Vytvořil: Turbošneček

*/

#include<iostream>
#include<cstring>
#include<locale>



using namespace std;

int main()
{
        locale cze("Czech");
        locale::global(cze);

        /*     Promenne     */


        char cislo[6];
        int c;
        int vysledek = 0;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        cout << "\n\n\n";

        /*     Script programu     */



        for (c = 0; c < 5; c++)
        {
                cout << "   Zadejte " << c + 1 << ".číslo z pěti: ";
                cin >> cislo[c];
                vysledek += cislo[c];
        }

        cout << "   " << vysledek;





        cin.get();
        cin.get();
        return 0;
}

Když zadám samé osmičky, tak by mě to mělo vypsat součet 40, ale mě se zobrazí 280. Můžete mi prosím poradit, kde dělám chybu? Předem děkuji za odpovědi.

 
Odpovědět
1.12.2019 13:47
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Lukáš Havlíček:1.12.2019 14:13

Tak jsem to vyřešil. Promenou char cislo[6] jsem zmeni l na promenou int cislo a podle toho upravil i ten cyklus. Nyni program vypada takto.

/*
Datum vytvoření: 1.12.2019
Vytvořil: Turbošneček

*/

#include<iostream>
#include<cstring>
#include<locale>
#include<cmath>



using namespace std;

int main()
{
        locale cze("Czech");
        locale::global(cze);

        /*     Promenne     */


        int cislo;
        int c;
        int vysledek = 0;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        cout << "\n\n\n";

        /*     Script programu     */



        for (c = 0; c < 5; c++)
        {
                cout << "   Zadejte " << c + 1 << ".číslo z pěti: ";
                cin >> cislo;
                vysledek += cislo;
        }

        cout << "   " << vysledek;





        cin.get();
        cin.get();
        return 0;
}
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
1.12.2019 14:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.