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

CIN nieograniczona ilość wejść

Object Storage Arubacloud
0 głosów
468 wizyt
pytanie zadane 26 października 2019 w C i C++ przez user124 Nowicjusz (210 p.)

Zadanie polega na tym, że mam do wpisania w pierwszej linijce 3 liczby wyjściem jest suma tych liczb, następne wejście to znów 3 liczby i wyjście do suma ich. Na początku trzeba podać wejścia, po podaniu wszystkiego następuje wypisanie wyników jeden pod drugim. Czy jest to możliwe do wykonania, bo nie mam na to pomysłu. Zaznaczę, że nie wiadomo ile będzie wejść na początku programu może być 2 może być 10 jak sobie z tym poradzić i kiedy następuje zakończenie wejść, żeby program wiedział ma zakończyć kiedy mu nie podam danych?

Input 1 2 3

Input 4 5 6

________

Output 6

Output 15

1 odpowiedź

0 głosów
odpowiedź 26 października 2019 przez Bondrusiek Maniak (61,370 p.)

Witam,

możesz użyć pętli while() która sprawdza czy dane wejściowe są poprawne a w samej pętli sumować elementy.

    int a, b, c;
    while(cin >> a >> b >> c)
    {
        cout << a+b+c << endl;
    }

 

komentarz 26 października 2019 przez user124 Nowicjusz (210 p.)
Ok ma to sens, ale kiedy program się zakończy jeśli celowo nie chce podawać złych liczb w celu przerwania programu?
komentarz 26 października 2019 przez Bondrusiek Maniak (61,370 p.)
Program zakończy się wtedy gdy podasz niepoprawne dane. Sam musisz założyć jaki jest warunek np. 10 danych, niepoprawne dane itp.
komentarz 26 października 2019 przez amelia.cpp Obywatel (1,860 p.)
Eof
komentarz 26 października 2019 przez Inn Gaduła (4,300 p.)
edycja 26 października 2019 przez Inn
@Bondrusiek, np. na SPOJU pętla zostanie zakończona gdy nie będzie już danych do wprowadzenia i nie musimy się o to martwić

http://www.cplusplus.com/reference/ios/ios/eof/
komentarz 26 października 2019 przez user124 Nowicjusz (210 p.)

Poniekąd sprawa się rozwiązała 

while(cin)

Działa to na zasadzie wpisuje dane, on daje mi wynik, i znów wpisuje dane. Ale to zadanie co przedstawiłem miało mi pomóc do innego z którym dalej mam problem

komentarz 26 października 2019 przez Inn Gaduła (4,300 p.)
Czyli z czym masz dokładnie problem?
komentarz 26 października 2019 przez user124 Nowicjusz (210 p.)
Mój problem o który pytałem został rozwiązany i narodził się następny problem :D
1
komentarz 26 października 2019 przez Inn Gaduła (4,300 p.)

To zamknij aktualny i rób następny laugh

 

komentarz 26 października 2019 przez user124 Nowicjusz (210 p.)
edycja 26 października 2019 przez user124

To jest już inne zadanie, program mi sprawdza poprawność kodu:

I teraz mój program na końcu dubluje ostatnia odpowiedź jak tego mogę uniknąć?

#include<iostream>
using namespace std;
int main()
{
	while (cin) {
		char a;
		int b, c;
		cin >> a >> b >> c;
		if (a == '/') {
			if (c == 0) { cout << "ERROR"<<endl; }
			else { cout << b / c << endl; }
		}
		else if (a == '%') {
			if (c == 0) { cout << "ERROR"<<endl; }
			else { cout << b % c << endl; }
		}
		else if (a == '+') {
			cout << b + c << endl;
		}
		else if (a == '-') {
			cout << b - c << endl;
		}
		else if (a == '*') {
			cout << b * c << endl;
		}
	}
}

 

komentarz 26 października 2019 przez user124 Nowicjusz (210 p.)

sprawa rozwiązana 

!cin.fail()

 

Podobne pytania

0 głosów
1 odpowiedź 179 wizyt
pytanie zadane 23 października 2020 w C i C++ przez adamos321 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 142 wizyt
pytanie zadane 11 maja 2020 w C i C++ przez Maciex0n Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 166 wizyt
pytanie zadane 14 października 2018 w C i C++ przez Sanchezklub Początkujący (400 p.)

92,555 zapytań

141,403 odpowiedzi

319,556 komentarzy

61,940 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...