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

[C++] Jak "wyciągnąć" zmienną z pętli?

Ostatnio zmodyfikowano 2017-07-08 18:48
Autor Wiadomość
Zigo427
Temat założony przez niniejszego użytkownika
[C++] Jak "wyciągnąć" zmienną z pętli?
» 2017-07-08 16:19:54
Witam!
Jak wyżej widać mam problem ze zmienną w pętli.
Tutaj podaję kod:
C/C++
int sumowanie( int tabl[], int LiczbaTychGOcen )
{
    int ssuma;
    ssuma = 0;
    int suma;
    suma = 0;
    int i;
    while( i < LiczbaTychGOcen )
    {
        ssuma = suma + tabl[ i ];
        i++;
    }
    return ssuma;

Chodzi mi o to, że kompilator po zwróceniu z funkcji wartości ssuma twierdzi, że taka zmienna nie została zadeklarowana w programie. Jak rozwiązać ten problem? Czyli jak zrobić tak, żeby po zwróceniu ssuma (o ile wogóle zobaczy tą zmienną) nie wyświetlało się 0 tylko wartość z pętli.
P-163127
pekfos
» 2017-07-08 16:46:27
Podany kod co prawda jest błędny, ale nie ma związku z problemem, o którym piszesz.
P-163128
Zigo427
Temat założony przez niniejszego użytkownika
» 2017-07-08 17:10:45
Rozumiem. Mógłbym poznać te błędy? Swoją drogą bardziej chodzi mi o to, że po zwróceniu przez funkcję wartości ssuma wyświetla się 0, a nie odpowiednia wartość.
P-163129
marcolo2307
» 2017-07-08 17:24:49
Zmienna i ma przypadkową wartość, prawdopodobnie większą od LiczbaTychGOcen, więc pętla nie wykonuje się ani razu.
P-163130
Zigo427
Temat założony przez niniejszego użytkownika
» 2017-07-08 17:33:41
Dzięki. Jeśli możesz jeszcze to przejrzyj co tutaj jest źle, bo ja już nie mam siły :/

Pewnie połowa jest źle, ale chciałem, żeby był to kalkulator średniej ocen szkolnych.
C/C++
#include <iostream>


using namespace std;

int sumowanie( int tabl[], int LiczbaTychGOcen )
{
    int ssuma;
    ssuma = 0;
    int suma;
    suma = 0;
    int i = 0;
    while( i < LiczbaTychGOcen )
    {
        ssuma = suma + tabl[ i ];
        i++;
    }
    return ssuma;
}
int main()
{
   
    cout << "Witaj w kalkulatorze sredniej ocen szkolnych! Wystarczy, ze podasz odpowiednie informacje, a program policzy wszystko za ciebie! " << endl;
    int LiczbaOcen;
    int i;
    i = 0;
    cout << "Podaj liczbe ocen jakie wpiszesz: " << endl;
    cin >> LiczbaOcen;
    int licznik = 0;
    int tablica[ i ];
   
    do
    {
       
        int tablica[ i ];
        licznik++;
        cout << "Podaj " << licznik << " ocene: " << endl;
        cin >> tablica[ i ];
        i++;
    } while( i < LiczbaOcen );
   
   
   
   
    cout << "Wpisales juz wszystkie swoje oceny. Teraz zaczekaj, az program obliczy srednia tych ocen... " << endl;
    cout << "------------------------------------------------------------------------- " << endl;
    cout << "Srednia " << LiczbaOcen << " podanych wczesniej ocen wynosi: " << sumowanie( tablica, LiczbaOcen ) << endl;
    cout << "------------------------------------------------------------------------- " << endl;
   
    return 0;
}

Po włączeniu programu tak on wygląda:

Witaj w kalkulatorze sredniej ocen szkolnych! Wystarczy, ze podasz odpowiednie informacje, a program policzy wszystko za ciebie!
Podaj liczbe ocen jakie wpiszesz:
3
Podaj 1 ocene:
1
Podaj 2 ocene:
1
Podaj 3 ocene:
1
Wpisales juz wszystkie swoje oceny. Teraz zaczekaj, az program obliczy srednia tych ocen...
-------------------------------------------------------------------------
Srednia 3 podanych wczesniej ocen wynosi: 6946516
-------------------------------------------------------------------------
P-163131
marcolo2307
» 2017-07-08 17:43:06
Nie możesz tworzyć tablic w ten sposób. Użyj std::vector lub zaalokuj ją dynamicznie.
P-163133
Zigo427
Temat założony przez niniejszego użytkownika
» 2017-07-08 18:48:32
Eh... Te pojęcia nie są jeszcze dla mnie :D Nie ten poziom. Tak czy inaczej dzięki za zainteresowanie i pomoc. Temat uważam za zamknięty.
P-163137
« 1 »
  Strona 1 z 1