Diskuze: Sčítání hodnot
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Vytvoř si celočíselné proměnné uknum, num a sum. Sum inicializuj na nulu. Vyzvi uživatele o zadání uknum a načti uknum. Vytvoř do-while cyklus ve kterém uživatele vyzvi o zadání num. Zadej num. Přiřaď do sum pomocí += hodnotu num. V podmínce while testu na num != uknum. Za do-while cyklem vypiš hodnotu sum.
Tak z toho jsem vedle jak ta jedle ... Budu se muset ještě asi hoooooodně co učit
Tak nakonec jsem to dokázal napsat, jen nemůžu přijít na to. Jak psát hodnoty do jednoho řádku?
#include <iostream>
using namespace std;
int main()
{
double vstup, hodnota, kontrola;
vstup = 0;
kontrola = 1000;
cout << "Zadej cisla: ";
do
{
cin >> vstup;
hodnota += vstup;
} while (vstup != kontrola);
if (vstup = kontrola)
cout << hodnota << endl;
return (0);
}
Je důležité pochopit ze vstupní funkce běží v neblokujicim se cyklu s kontrolou. Pokud na vstupu je nějaká hodnota, je tato hodnota převzata vstupní funkci. Nenechat se zmást tím, že se načítá vždy jedna hodnota. Dále je třeba si uvědomit že vstup je bufferovany. Zadase-li několik hodnot oddělené bílým znakem, budou se tyto hodnoty postupně předávat do vstupu. Vždy však je prováděna podmínka řídící cyklus. Pokud není nalezena shoda, cyklus se ukončí. Pokud ve vstupním bufferu jsou stále nějaké hodnoty, budou tyto hodnoty převzaty následujícími vstupními funkcemi. Na to je třeba myslet.
Tedy závěrem: Můžeš zadat několik hodnot na jednom řádku oddělené bílým znakem které ukoncis znakem CR. Je však třeba myslet na to, že vyhodnotí-li se podmínka cyklu jako nepravdivá dříve nežli jsou načteny všechny hodnoty, zůstanou některé hodnoty ve vstupním bufferu.
Zobrazeno 5 zpráv z 5.