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

Else - kiedy jest potrzebne?

Object Storage Arubacloud
0 głosów
257 wizyt
pytanie zadane 7 grudnia 2016 w C i C++ przez dziedziu Początkujący (370 p.)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>

using namespace std;
string temat, nick;
string tresc[5];
string odpA[5], odpB[5],odpC[5],odpD[5];
string poprawna[5];
string odpowiedz;
int punkty=0;

int main()
{
    int nr_linii=1;
    string linia;
    int nr_pytania=0;
    fstream plik;
    plik.open("quiz.txt",ios::in);
    if (plik.good()==false)
    {
        cout<<"Nie udalo sie otworzyc pliku!";
        exit(0);
    }
    while(getline(plik,linia))
    {
        switch(nr_linii)
        {
        case 1:
            temat=linia;
            break;
        case 2:
            nick=linia;
            break;
        case 3:
            tresc[nr_pytania]=linia;
            break;
        case 4:
            odpA[nr_pytania]=linia;
            break;
        case 5:
            odpB[nr_pytania]=linia;
            break;
        case 6:
            odpC[nr_pytania]=linia;
            break;
        case 7:
            odpD[nr_pytania]=linia;
            break;
        case 8:
            poprawna[nr_pytania]=linia;
            break;

        }
        if(nr_linii==8)
        {
            nr_linii=2;
            nr_pytania++;
        }
        nr_linii++;
    }
    plik.close();
    for(int i=0; i<=4; i++)
    {
        cout<<endl<<tresc[i]<<endl;
        cout<<"A. "<<odpA[i]<<endl;
        cout<<"B. "<<odpB[i]<<endl;
        cout<<"C. "<<odpC[i]<<endl;
        cout<<"D. "<<odpD[i]<<endl;
        cout<<"Twoja odpowiedz: ";
        cin>>odpowiedz;
        transform(odpowiedz.begin(),odpowiedz.end(),odpowiedz.begin(),::tolower);
        if (odpowiedz==poprawna[i])
        {
            cout<<" Dobrze! Zdobywasz punkt!"<<endl;
            punkty++;
        }
        else cout<<"Zle! Brak punktu!Poprawna odpowiedz: "<<poprawna[i]<<endl;

    }
    cout<<endl<<"koniec quizu! Zdobyles punkty: "<<punkty;

    return 0;
}

Cześć wszystkim, jest to mój pierwszy post na tym forum, na początku mojej drogi nauki programowania :) Mam pytanie odnośnie kodu c++ z odcinka 7 kursu programowania w c++ na kanale pasja informatyki. Po fragmencie kodu, gdzie sprawdzamy czy plik istnieje funkcją if, nie zapisaliśmy else w przypadku, co dzieje się gdy plik ten jest. Operacja ta jest wykonywana automatycznie w przypadku gdy warunek if nie jest spełniony. Stąd moje pytanie, po co w przypadku gdzie możliwe są tylko dwie odpowiedzi, i nie ma potrzeby użycia else if w celu rozpatrzenia trzeciej lub kolejnej opcji używamy else? Pozdrawiam serdecznie :)

 

1 odpowiedź

+1 głos
odpowiedź 7 grudnia 2016 przez xandros Nałogowiec (29,450 p.)
wybrane 7 grudnia 2016 przez dziedziu
 
Najlepsza
Ponieważ jeśli plik nie istnieje, zamykamy cały program i nic więcej się nie wykona, więc else nie jest potrzebne.

Moglibyśmy oczywiście usunąć exit(0); i reszte kodu (od 27 do 84 lini) opatulić w else { }.
komentarz 7 grudnia 2016 przez dziedziu Początkujący (370 p.)
dziękuję za odp :)

Podobne pytania

0 głosów
2 odpowiedzi 438 wizyt
pytanie zadane 8 lutego 2023 w JavaScript przez niezalogowany
0 głosów
2 odpowiedzi 264 wizyt
pytanie zadane 10 lutego 2021 w C i C++ przez Mr.Bread Nowicjusz (170 p.)
0 głosów
1 odpowiedź 159 wizyt
pytanie zadane 9 października 2020 w PHP przez vingilot85 Obywatel (1,150 p.)

92,551 zapytań

141,399 odpowiedzi

319,530 komentarzy

61,937 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!

...