Witam, Zetknąłem się ostatnio z 7. częścią poradnika c++ MZ. Obejrzałem film, wykonałem wszystko sam po czym po kolei skrupulatnie sprawdzałem błędy ( nie mówię że jest idealnie), jednak po odpaleniu programu okazało się że pokazuje mi się tylko "treść" i "odpD". Wszystko było ok, bo po prostu myślałem że mam jakiś błąd w kodzie więc dla porównania pobrałem wersje Pana M.Z. Po odpaleniu jej okazało się że ona też nie działa. Koniec końców jestem w punkcie wyjścia więc odzywam się do was internauci i proszę o pomoc.
Z góry dziękuje i pozdrawiam ;).
Tu daje mój kod:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <stdio.h>
using namespace std;
string temat, nick;
string tresc[5];
string odpA[5], odpB[5], odpC[5], odpD[5];
string poprawna[5];
int nr_linii = 1;
string linia;
int nr_pytania=0;
int punkty=0;
string odpowiedz;
int main()
{
fstream plik;
plik.open("quiz.txt", ios::in);
if(plik.good()==false)
{
cerr<<"ERROR - Brak 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: odpA[nr_pytania]=linia; break;
case 6: odpA[nr_pytania]=linia; break;
case 7: odpA[nr_pytania]=linia; break;
case 8: poprawna[nr_pytania]=linia; break;
}
if(nr_linii==8)
{
nr_linii=2;
nr_pytania++;
}
A tu daje mój zapis z notatnika:
Programowanie w C++
XYZ
Typ zmiennych o nazwie float przechowuje:
liczby calkowite
napisy
liczby zmiennoprzecinkowe
pojedyncze znaki
c
Wstrzymanie wykonania programu na czas 2 sekund uzyskasz instrukcja:
Wait(2000)
Stop(2000)
Delay(2000)
Sleep(2000)
d
Ktora deklaracja jest zapisana poprawnie?
int x;
integer x;
x:integer;
x=integer;
a
Z jakiego przedzialu zostanie wylosowana liczba: rand()%10+2
0..9
2..9
2..11
0..11
c
Ile razy wykona sie petla: for (int i=4; i>=-2; i--)
ani razu
nieskonczenie wiele razy
6
7
d
nr_linii++;
}
plik.close();
plik.clear();
for(int i=0; i<10; 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<<"Brawo, zdobywasz punkt!"<<endl;
punkty++;
}
else cout<<"Zle! nie zdobywasz punktu. Poprawna odpowiedz: "<<poprawna[i]<<endl;
}
cout<<"Koniec quizu! Posiadasz "<<punkty<<" punkty!";
getchar();getchar();
return 0;
}