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

Wprowadzanie danych int w C++ - zakończenie przez ENTER

Cloud VPS
0 głosów
257 wizyt
pytanie zadane 19 lutego 2024 w C i C++ przez Jerzy Użytkownik (950 p.)
Dzień dobry
Napisałem taki program, który pozwala wprowadzać dane az nacisnę enter . Jednak zadeklarowałem daną string którą póżniej konweryje na int .I jak zrobić aby zadeklarować od razu int i po naciśnięciu ENTER wyświetlał mi sumę ? :

#include <iostream>

using namespace std;

int main()
{
    string znak;
    int suma=0;

    while(getline(cin,znak) && (!znak.empty())){
          int liczba=stoi(znak);

        suma+=liczba;
    }
    cout<<suma<<endl;
    return 0;

}

1 odpowiedź

0 głosów
odpowiedź 19 lutego 2024 przez toko Dyskutant (8,030 p.)
wybrane 19 lutego 2024 przez Jerzy
 
Najlepsza

Chyba można użyć `noskipws`, żeby nie ignorować białych znaków (entera) i `cin.ignore`, żeby zignorować enter po liczbie. Np.

#include <iostream>
using namespace std;
int main()
{
	int suma = 0;
	int liczba;
	while(cin >> noskipws >> liczba) { // noskipws, żeby się przerwało jeśli po prostu enter będzie
		suma += liczba;
		cin.ignore(); // zignorować enter, który jest po liczbie, żeby się nie przerwało
	}
	cout << suma << endl;
	return 0;
}
$ ./prog
1
2
3
4
5
6

21
$ 

Może ktoś znajdzie ładniejsze rozwiązanie.
A właściwie dlaczego czytanie po linii używając `getline` nie jest ok?

komentarz 19 lutego 2024 przez Jerzy Użytkownik (950 p.)
Super Dzięki .

Wszędzie szukałem

Może ktoś ma jeszcze pomysł !

Podobne pytania

0 głosów
2 odpowiedzi 872 wizyt
+2 głosów
7 odpowiedzi 6,426 wizyt
pytanie zadane 14 lipca 2020 w Systemy operacyjne, programy przez ordmeg Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 510 wizyt
pytanie zadane 22 października 2016 w C i C++ przez BIREXD Obywatel (1,180 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

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

Kursy INF.02 i INF.03
...