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

Odczytywanie danych za pomocą operatora >> ZADANIE ..

0 głosów
523 wizyt
pytanie zadane 12 września 2018 w C i C++ przez Archeon Początkujący (480 p.)

Witam,

Próbuję zrobić zadanie domowe o takim poleceniu :

"Otwórz plik tekstowy, w którym będą znajdowały się tylko liczby całkowite, oddzielone od siebie spacjami. Następnie napisz program, który wczyta wszystkie liczby z pliku i wypisze sumę wszystkich liczb na standardowym wyjściu."

Napisałem kod.. ale niestety nie działa prawidłowo.

 

#include <iostream>
#include <string>
#include <fstream>

using namespace std;
									// POLECENIE //
															
/* Otwórz plik tekstowy, w którym będą znajdowały się tylko liczby całkowite, oddzielone od siebie spacjami.
Następnie napisz program, który wczyta wszystkie liczby z pliku i wypisze sumę wszystkich liczb na standardowym wyjściu. */


bool wczytajPlik(string nazwa_pliku)
{
	fstream plik;
	plik.open(nazwa_pliku.c_str()	);
//...................................................	
	if(	!plik.good()	)
	{
		cout << "Nie mozna odczytac pliku .." << endl;
		return false;
	}
//...................................................	
	while(	true	) 
	{
	cout << "Podaj ile liczb chcesz wpisac: " << endl;
	int ilosc_liczb;
	if(plik.good())
	{
	int suma = 0;
	int tab[ilosc_liczb];
	for ( int i = 0; i<ilosc_liczb; i++)
	{
	plik >> tab[i];
	suma += tab[i];
	}
	cout << "Suma z " << ilosc_liczb << " liczb wynosi: " << suma << endl;
	}
	else 
	break;
}
    return true;
       plik.close();
}





int main(int argc, char** argv) {
	
wczytajPlik("pusty.txt");
		
	
	
	return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 12 września 2018 przez Poczprogramista123 Bywalec (2,900 p.)
edycja 12 września 2018 przez Poczprogramista123
1.Gdzie nadajesz wartosc zmiennej ilosc_liczb?

2 Plil.close() nie wykona sie.
0 głosów
odpowiedź 12 września 2018 przez Archeon Początkujący (480 p.)

Zdaje się że źle zrozumiałem polecenie xD ..

Pozmieniałem kodzik i finalnie wszystko śmiga, czy właśnie o to chodziło w poleceniu ?

 

#include <iostream>
#include <string>
#include <fstream>

using namespace std;
									// POLECENIE //
															
/* Otwórz plik tekstowy, w którym będą znajdowały się tylko liczby całkowite, oddzielone od siebie spacjami.
Następnie napisz program, który wczyta wszystkie liczby z pliku i wypisze sumę wszystkich liczb na standardowym wyjściu. */


void wypisz_oraz_suma(int liczba1, int liczba2, int liczba3)
{
	cout << liczba1 << " + " << liczba2 << " + " << liczba3 << " = " << liczba1 + liczba2 + liczba3 << endl;
}

wczytajPlik(string nazwa_pliku)
{
	fstream plik;
	plik.open(	nazwa_pliku.c_str());
	if(	!plik.good()	)
	{
	cout << "Nie udalo sie wczytac pliku .. " << endl;
	return false;
	}
	while(plik.good())
	{
	int a, b, c;
	plik >> a >> b >> c;
	wypisz_oraz_suma(a, b, c);
	break;
	}
	return true;
		
}



int main(int argc, char** argv) {
	
wczytajPlik("pusty.txt");
		
	
	
	return 0;
}

 

1
komentarz 13 września 2018 przez j23 Mędrzec (195,240 p.)
A gdzie jest napisane w poleceniu, że masz wypisywać sumy trzech liczb?
komentarz 13 września 2018 przez Archeon Początkujący (480 p.)
Sam sobie przyjąłem, ponieważ w rozdziale był przykład właśnie z 3 liczbami.

Jak zrobić żeby sumował wszystkie liczby, jeśli nie wiemy ile ich jest ?
komentarz 13 września 2018 przez j23 Mędrzec (195,240 p.)
int acc = 0, v;

while(plik >> v) acc += v;

 

komentarz 13 września 2018 przez Archeon Początkujący (480 p.)
Troszkę poczytałem w internecie i sam do tego doszedłem wcześniej.

Ale dziękuję za pomoc

Podobne pytania

0 głosów
1 odpowiedź 460 wizyt
pytanie zadane 14 sierpnia 2016 w C i C++ przez Łukasz ER Początkujący (420 p.)
0 głosów
2 odpowiedzi 261 wizyt
0 głosów
1 odpowiedź 437 wizyt

93,423 zapytań

142,421 odpowiedzi

322,643 komentarzy

62,782 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...