• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z petlą zapętlającą program

Object Storage Arubacloud
0 głosów
160 wizyt
pytanie zadane 2 marca 2017 w C i C++ przez PolskiSiersciuch Nowicjusz (170 p.)
Witam.

Próbowałem stworzyć pętlę która mógłaby zapętlić mi program. Niestety po włączaniu programu w konsoli, pisała tam tylko treść "Nie ma takiej oceny"

Program:

#include <iostream>
using namespace std;

int main()
{
    int ocenaS;

    for (int i=1; i==100; i++)
{
    cout<<"Wpisz ocene semestralna"<<endl;
    cin>>ocenaS;
}
    switch(ocenaS)

    {
case 1:
    cout<<"Jedynka"<<endl;
    break;

case 2:
    cout<<"Dwojka"<<endl;
    break;

case 3:
    cout<<"Trojka"<<endl;
    break;

case 4:
    cout<<"Czworka"<<endl;
    break;

case 5:
    cout<<"Piatka"<<endl;
    break;

case 6:
    cout<<"Szostka"<<endl;
    break;

default:
    cout<<"Nie ma takiej oceny!"<<endl;
    }

    return 0;

}

4 odpowiedzi

+1 głos
odpowiedź 2 marca 2017 przez niezalogowany
wybrane 2 marca 2017 przez PolskiSiersciuch
 
Najlepsza

Masz w pętli błąd:

for (int i=1; i==100; i++) // tu powinno być jak już i<=100
komentarz 2 marca 2017 przez niezalogowany

I przeniósłbym też klamrę kończącą pętla za switch - wtedy program by sensowniej działał :) O tak:

#include <iostream>
using namespace std;

int main()
{
    int ocenaS;

    for (int i=1; i<=100; i++)
    {
        cout<<"Wpisz ocene semestralna"<<endl;
        cin>>ocenaS;

        switch(ocenaS)
        {
        case 1:
            cout<<"Jedynka"<<endl;
            break;

        case 2:
            cout<<"Dwojka"<<endl;
            break;

        case 3:
            cout<<"Trojka"<<endl;
            break;

        case 4:
            cout<<"Czworka"<<endl;
            break;

        case 5:
            cout<<"Piatka"<<endl;
            break;

        case 6:
            cout<<"Szostka"<<endl;
            break;

        default:
            cout<<"Nie ma takiej oceny!"<<endl;
        }
    }
    return 0;

}

 

komentarz 2 marca 2017 przez PolskiSiersciuch Nowicjusz (170 p.)
Dziękuję za pomoc :)
+2 głosów
odpowiedź 2 marca 2017 przez tangarr Mędrzec (154,780 p.)
Pętle for można opisać w następujący sposób:

for (inizjalizacja_zmiennych; warunek_dzialania ; operacje_przy_zakonczeniu_petli)

Twoja pętla zanim zacznie prace tworzy zmienną i równą 1. Następnie sprawdzasz warunek i==100 (słownie: czy zmienna i jest równa 100), który nie jest spełniony (bo i ma wartość 1 a nie 100), pętla kończy działanie.

Twoja pętla nie wykonała się ani razu. Zmienna ocenaS zawiera losową wartość i dlatego dostajesz napis "Nie ma takiej oceny"

Zauważ, że po poprawieniu warunku pętli wielokrotnie wczytasz z klawiatury liczbę i zapiszesz do zmiennej ocenaS, ale tylko raz wykonasz switcha.
komentarz 2 marca 2017 przez PolskiSiersciuch Nowicjusz (170 p.)
Dziękuje za pomoc. Nie samowite jak szybko ludzie potrafią tutaj odpowiadać :)
+1 głos
odpowiedź 2 marca 2017 przez Michał Kazula Pasjonat (19,540 p.)
while(true) { // code } ;-)

 

komentarz 2 marca 2017 przez PolskiSiersciuch Nowicjusz (170 p.)
Zapiszę sobie dzięki za pomóc
+1 głos
odpowiedź 2 marca 2017 przez Dexterim Dyskutant (8,370 p.)
Zapewne dlatego, że masz w złym miejscu klamre kończącą for i de facto  masz tylko jedna oceneS + warunek zły i == 100
komentarz 2 marca 2017 przez PolskiSiersciuch Nowicjusz (170 p.)
Dziękuje za informacje.

Podobne pytania

0 głosów
1 odpowiedź 284 wizyt
pytanie zadane 29 grudnia 2015 w C i C++ przez Clint Początkujący (270 p.)
0 głosów
1 odpowiedź 366 wizyt
pytanie zadane 14 września 2021 w Python przez Gowi Użytkownik (830 p.)
0 głosów
1 odpowiedź 123 wizyt

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...