• 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

Object Storage Arubacloud
0 głosów
88 wizyt
pytanie zadane 19 lutego w C i C++ przez Jerzy Użytkownik (930 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 przez toko Dyskutant (7,670 p.)
wybrane 19 lutego 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 przez Jerzy Użytkownik (930 p.)
Super Dzięki .

Wszędzie szukałem

Może ktoś ma jeszcze pomysł !

Podobne pytania

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

92,666 zapytań

141,564 odpowiedzi

320,019 komentarzy

62,031 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.

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!

...