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

Problem z odczytywaniem z pliku.

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
505 wizyt
pytanie zadane 27 stycznia 2020 w C i C++ przez kexiu Nowicjusz (170 p.)
wyniki.open("wyniki.txt",ios::in);
				if(wyniki.good()==false)
				{
					cout<<"nie zagrałeś jeszcze więc niema statystyk:)\n";
					getch();
				}
				else
				{
					
					while(getline(wyniki,napis))
					{
					
					if (naps[4]=='w')
					a++;
					else if(napis[4]=='p')
					b++;
					else if(napis[4]=='r')	
					c++;
					}
					x=a+b+c;
					x=x/100;
					cout<<"Wygrane-"<<a/x<<"%\n";
					cout<<"Przegrane-"<<b/x<<"%\n";
					cout<<"remisy-"<<c/x<<"%\n";
					wyniki.close();

Jest to część programu obliczająca procent wygranych, przegranych i remisów.

Dane do obliczeń są wczytywane z pliku z wynikami.

Kompilator nie pokazuje żadnych błędów ale po uruchomieniu nic nie jest wyświetlane. 

komentarz 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)
Czy jesteś pewien, że ten fragment kodu jest wykonywany?
komentarz 27 stycznia 2020 przez kexiu Nowicjusz (170 p.)
Nie jest on wykonywany ale nie wiem dlaczego.
komentarz 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)
Musisz pokazać więcej kodu, bez tego nie uda się nic stwierdzić.
komentarz 27 stycznia 2020 przez kexiu Nowicjusz (170 p.)
case '2':
			{
				system("cls");
				wyniki.open("wyniki.txt",ios::in);
				if(wyniki.good()==false)
				{
					cout<<"nie zagrałeś jeszcze więc niema statystyk:)\n";
					getch();
				}
				else
				{
					
					cout<<napis[4];
					while(getline(wyniki,napis))
					{
					
					if (z=='w')
					a++;
					else if(napis[4]=='p')
					b++;
					else if(napis[4]=='r')	
					c++;
					}
					x=a+b+c;
					x=x/100;
					cout<<"Wygrane-"<<a/x<<"%\n";
					cout<<"Przegrane-"<<b/x<<"%\n";
					cout<<"remisy-"<<c/x<<"%\n";
					cout<<napis;
					wyniki.close();
					
				    getch();	
				}
komentarz 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)
No to zaszalałeś.
komentarz 27 stycznia 2020 przez kexiu Nowicjusz (170 p.)
Mogę pokazać cały kod ale jest on długi.
komentarz 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)
Jeżeli wklejenie kodu tutaj jest problemem to możesz użyć do tego innego narzędzia. Np strony https://www.onlinegdb.com/online_c++_compiler
Wklejasz tam kod i naciskasz przycisk share.
Otrzymasz link, który nie zajmie tutaj dużo miejsca.
komentarz 27 stycznia 2020 przez kexiu Nowicjusz (170 p.)

1 odpowiedź

0 głosów
odpowiedź 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)

Problemem jest dzielenie przez zero.

x=a+b+c;
x=x/100; // jeżeli x jest mniejszy niż 100, to otrzymasz 0
cout<<"Wygrane-"<<a/x<<"%\n";

W przypadku odczytania pustej linii odczytujesz znak z poprzedniego napisu.
 

komentarz 27 stycznia 2020 przez tangarr Mędrzec (155,140 p.)
Zapomniałem dodać. Kod się wykonywał, ale podczas dzielenia przez 0 program się wywalał.
Rada na przyszłość: Dobrą metodą na badanie "przepływu sterowania" w programie jest wypisywanie dodatkowych informacji na ekranie.
komentarz 27 stycznia 2020 przez kexiu Nowicjusz (170 p.)
No tak, zapomniałem zamiast int dać float.

Dziękuję.

Podobne pytania

0 głosów
1 odpowiedź 142 wizyt
pytanie zadane 8 maja 2018 w PHP przez Browarnik123 Użytkownik (830 p.)
0 głosów
0 odpowiedzi 729 wizyt
pytanie zadane 17 maja 2021 w C i C++ przez ktoś123 Nowicjusz (180 p.)
0 głosów
1 odpowiedź 378 wizyt
pytanie zadane 23 lipca 2020 w Java przez sobussss Początkujący (350 p.)

93,175 zapytań

142,185 odpowiedzi

321,977 komentarzy

62,506 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1401p. - dia-Chann
  2. 1380p. - Łukasz Piwowar
  3. 1372p. - CC PL
  4. 1370p. - Łukasz Eckert
  5. 1351p. - Tomasz Bielak
  6. 1312p. - Łukasz Siedlecki
  7. 1302p. - rucin93
  8. 1181p. - rafalszastok
  9. 1164p. - Adrian Wieprzkowicz
  10. 1155p. - Piotr Aleksandrowicz
  11. 1149p. - Michał Telesz
  12. 1124p. - ssynowiec
  13. 1113p. - Michal Drewniak
  14. 1101p. - Dominik Łempicki (kapitan)
  15. 1087p. - Marcin Putra
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...