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

Odczyt z pliku

Hosting forpsi easy 1 pln
0 głosów
225 wizyt
pytanie zadane 20 czerwca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)

Jestem początkująca programistką i ćwiczę sobie odczyt z plików. Stworzyłam prosty program, który powinien odczytać sumę dwóch liczb. Suma wynosi 51, z kompilator pokazuje  1972572512. Nie wiem dlaczego,a co ważniejsze jak to naprawić?  Oto mój kod:

 

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int a,b;

    fstream plik;
    plik.open("Suma.txt", ios::in);

    if(plik.good() == false)
    {
        cout<< "plik nie istnieje!";
    }


    plik.close();
cout<<a+b<<endl;

    return 0;
}

 

2 odpowiedzi

–1 głos
odpowiedź 20 czerwca 2019 przez Ilmefy Obywatel (1,950 p.)
wybrane 21 czerwca 2019 przez magda_19
 
Najlepsza

Musisz napisać funkcję która wczyta tekst do stringa, a następnie podzielić to w jakiś sensowny sposób, żeby uzyskać 2 różne stringi. Poprzez podzielenie w sensowny sposób mam na myśli np. zapisanie pierwszej liczy w 1 linijce, a drugiej w drugiej. Wtedy czytasz linijka po linijce i przypisujesz wartość odczytaną do stringa, którego następnie parsujesz do int'a. Wtedy możesz dodawać integery. Niestety nie ogarniam C++ w sposób który pozwoliłby mi napisać dokładnie jak to powinno działać, ale w C# to wyglądałoby mniej więcej tak:

            string[] tablicastringow= System.IO.File.ReadAllLines("SCIEZKA DO PLIKU"); //Tutaj wczytujemy sobie plik i przypisujemy do tablicy stringow
            string Liczba1 = tablicastringow[0];//Tutaj przypisujemy wartość pierwszej linijki do string'a
            string Liczba2 = tablicastringow[1];//a tutaj wartość drugiej linijki
            int _Liczba1 = int.Parse(Liczba1); //Parsowanie do int'a pierwszej liczby
            int _Liczba2 = int.Parse(Liczba1);//Parsowanie do int'a drugiej liczby
            int suma = _Liczba1 + _Liczba2;

Ogólnie kodu tego nie przerzucisz do C++, ale pozwoli CI zobaczyć jaka kolejność i co powinnaś zrobić. Jak coś to pytaj.

komentarz 20 czerwca 2019 przez DragonCoder Nałogowiec (36,500 p.)
Czy to nie jest c#?
komentarz 20 czerwca 2019 przez Ilmefy Obywatel (1,950 p.)
tak też powiedziałem, że jest to C# i nie przerzuci do C++. Bardziej chodziło mi o ukazanie co powinna zrobić, aby udało jej się dojść do oczekiwanego rezultatu. Myślę, że to pomoże, ponieważ odczytanie pliku jak widać już potrafi, więc teraz wie co googlować,
1
komentarz 21 czerwca 2019 przez j23 Mędrzec (194,340 p.)

Musisz napisać funkcję która wczyta tekst do stringa, a następnie podzielić to w jakiś sensowny sposób, żeby uzyskać 2 różne stringi.

Komplikowanie sprawy:

plik >> a >> b;

 

+1 głos
odpowiedź 20 czerwca 2019 przez Secrus Nałogowiec (32,880 p.)
Otwierasz plik i go zamykasz, a zmienne mają wartości domyślne, nie masz nigdzie pobierania wartości liczb z pliku

Podobne pytania

0 głosów
0 odpowiedzi 160 wizyt
pytanie zadane 24 marca w C i C++ przez natalia2002. Początkujący (370 p.)
0 głosów
1 odpowiedź 294 wizyt
+1 głos
1 odpowiedź 285 wizyt
pytanie zadane 26 kwietnia 2022 w Java przez cfaniaczek Nowicjusz (200 p.)

92,125 zapytań

140,785 odpowiedzi

317,804 komentarzy

61,446 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1468p. - Łukasz Eckert
  2. 1444p. - Dawid128
  3. 1430p. - CC PL
  4. 1419p. - rafalszastok
  5. 1418p. - Marcin Putra
  6. 1373p. - Mikbac
  7. 1362p. - rucin93
  8. 1351p. - sefirek
  9. 1296p. - Adrian Wieprzkowicz
  10. 1267p. - Eryk Andrzejewski
  11. 1260p. - TheLukaszNs
  12. 1239p. - JarekDev
  13. 1188p. - Rafał Trójniak
  14. 1179p. - 13NOONE37
  15. 1144p. - Michal Drewniak
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.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...