[c++]Wczytywanie z pliku dwóch typów danych
[c++]Wczytywanie z pliku dwóch typów danych
Mam pytanie: jak wczytać z pliku txt. dane typu string i int? Wiem, że powinno być coś takiego jak zobaczy spacje to, żeby szło dalej. Poproszę o w miarę proste formułki.
Coś w typie:
Mama 45
Tata 34
Dziecko 16
Ilosc_zjedzonych_cukierkow
mama 23
tata 13
dziecko 3
Również dobrze by było, aby zliczało z drugiej kolumny liczby, bo to już jako tako mam, ale z tymi wszystkimi formułkami mi się trochę myli. Nie chciałabym używać tablic.
No i co zrobić aby się zatrzymało w miejscu ilosc_zjedzonych_cukierkow i np. przed tym dodawało liczby, a po tym "ilośc_zjedzonych_cukierków" sumowało i odejmowało od tej pierwszej kolumny przed tym wyrazem?
Niech wpisze to do pliku innego.
Dziękuję za każdą jakąkolwiek pomoc
Coś w typie:
Mama 45
Tata 34
Dziecko 16
Ilosc_zjedzonych_cukierkow
mama 23
tata 13
dziecko 3
Również dobrze by było, aby zliczało z drugiej kolumny liczby, bo to już jako tako mam, ale z tymi wszystkimi formułkami mi się trochę myli. Nie chciałabym używać tablic.
No i co zrobić aby się zatrzymało w miejscu ilosc_zjedzonych_cukierkow i np. przed tym dodawało liczby, a po tym "ilośc_zjedzonych_cukierków" sumowało i odejmowało od tej pierwszej kolumny przed tym wyrazem?
Niech wpisze to do pliku innego.
Dziękuję za każdą jakąkolwiek pomoc
-
- Użytkownik
- Posty: 1567
- Rejestracja: 15 gru 2008, o 16:38
- Płeć: Mężczyzna
- Lokalizacja: Ostrzeszów/Wrocław
- Podziękował: 8 razy
- Pomógł: 398 razy
[c++]Wczytywanie z pliku dwóch typów danych
Normalnie po kolei sczytujesz, np.:
Kod: Zaznacz cały
moj_plik >> moj_string >> moja_liczba;
[c++]Wczytywanie z pliku dwóch typów danych
Tak, to akurat wiem. Problem w tym, że nie nie da rady wczytać liczby po tekście. W sensie coś zrobić z nią. Chyba, że coś źle robię. Chciałabym, aby mi liczyło z tej drugiej kolumny liczby. A wychodzi mi cały czas 0 lub nic.
[c++]Wczytywanie z pliku dwóch typów danych
Hm no w sumie to jest ciąg dalszy mojego poprzedniego pliku z tamtego tematu z wczoraj. Próbuję na kilka sposobów zrobić to, aby mi liczyło. Zmodyfikowałam oczywiście dane do tego, co tu napisałam. Po prostu mogę plik skopiować z tamtego tematu tutaj, nic więcej nie mam w sumie. Tylko moje próby, które raczej na nic się nie zdają. Nie wiem jak zrobić, aby mi przechodziło ten tekst i liczyło tylko liczby
-
- Użytkownik
- Posty: 1567
- Rejestracja: 15 gru 2008, o 16:38
- Płeć: Mężczyzna
- Lokalizacja: Ostrzeszów/Wrocław
- Podziękował: 8 razy
- Pomógł: 398 razy
[c++]Wczytywanie z pliku dwóch typów danych
Wszystko działa tak jak mówiłem:
Dla przykładowego pliku:
Dostaję poprawny wydruk:
Oczywiście możesz tez zatrzymywać tak jak chcesz: zmieniacjąc pętlę np. tak:
Kod: Zaznacz cały
#include <iostream>
#include <fstream>
#include <string>
int main ()
{
std::ifstream fin("abc.txt");
int liczba=0, suma=0;
std::string osoba;
while ( fin >> osoba >> liczba )
suma+=liczba;
std::cout << suma << std::endl;
fin.close();
return 0;
}
Kod: Zaznacz cały
mama 14
tata 13
ola 7
Kod: Zaznacz cały
adifek@adifek-linux:~$ g++ mat.cpp -Wall -pedantic
adifek@adifek-linux:~$ ./a.out
34
Kod: Zaznacz cały
while ( fin >> osoba >> liczba )
{
if( osoba == "text zatrzymujacy" )
break;
suma+=liczba;
}
[c++]Wczytywanie z pliku dwóch typów danych
Jej... dziękuję. Tyle niepotrzebnych formułek wpisuje, a to tylko tyle potrzeba było. Dziękuję i za cierpliwość też. Mam jeszcze takie pytanie, a co mam zrobić, aby mi liczyło po tym tekście? I jeżeli mam taki kolejny tekst to co zrobić, aby liczyło od niego do tamtego? Czyli od tych "wydatków" do "zarobków"?
Coś takiego
Mama 6
Tata 3
Ola 2
Wydatki
Mama 3
Tata 2
Ola1
Zarobki
Mama 5
Tata 6
Ola 10
Coś takiego
Mama 6
Tata 3
Ola 2
Wydatki
Mama 3
Tata 2
Ola1
Zarobki
Mama 5
Tata 6
Ola 10
-
- Użytkownik
- Posty: 1567
- Rejestracja: 15 gru 2008, o 16:38
- Płeć: Mężczyzna
- Lokalizacja: Ostrzeszów/Wrocław
- Podziękował: 8 razy
- Pomógł: 398 razy
[c++]Wczytywanie z pliku dwóch typów danych
Wszystko, co potrzebne już masz wyżej. Dalej wystarczy tylko pomyśleć A z tego Cię nie będe wyręczał.
[c++]Wczytywanie z pliku dwóch typów danych
Próbuję na kilka sposobów, ale chyba naprawdę jestem tępa jeżeli chodzi o tę informatykę... przyznaję