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

Dodawanie kilku liczb-Visual Studio 2013

Object Storage Arubacloud
0 głosów
971 wizyt
pytanie zadane 21 czerwca 2016 w C i C++ przez wojtekw0703 Użytkownik (960 p.)
edycja 21 czerwca 2016 przez wojtekw0703

Witam. Z tego względu,że nie otrzymałem jednoznacznej odpowiedzi w poprzednim pytaniu zdam je ponownie. 
Jeśli dodaję do siebie tylko dwie liczby to wszystko działa, natomiast jeśli chcę dodać od razu do siebie z 3 lub więcej liczb to kalkulator nie działa poprawnie. Jak mogę to naprawić ? Tutaj ONP nie może być użyte. Mała konfiguracja kodu wystarczy, tylko nie wiem jaka...

 

private: System::Void button17_Click(System::Object^  sender, System::EventArgs^  e) {
	pierwsza = Convert::ToDouble(okno->Text);
	operacja = '+';
	status = true;
}
private: System::Void button21_Click(System::Object^  sender, System::EventArgs^  e) {

		druga = Convert::ToDouble(okno->Text);

	

	switch (operacja)
	{
	
	case '+':
		wynik = pierwsza + druga;
		pierwsza = wynik;

	break;
		
       }

 

2 odpowiedzi

0 głosów
odpowiedź 21 czerwca 2016 przez p0m0 Obywatel (1,190 p.)
Nie jestem pewien (nie piszę programów graficznych), ale nie masz w ogóle trzeciej liczby. Aby działało powinieneś ją ustawić, następnie sprawdzić, jaki jest operator między drugą i trzecią liczbą, a na koniec, jeśli jest to plus, to wykonać:
wynik += trzecia;
komentarz 21 czerwca 2016 przez wojtekw0703 Użytkownik (960 p.)
Oki, dzięki wielkie za szybką odpowiedź. Tylko teraz to co napisałeś to będzie działać tylko dla trzech liczb,które wpiszę. A co jeśli wpiszę np.: 5+9+3+6 ? ;)
komentarz 21 czerwca 2016 przez p0m0 Obywatel (1,190 p.)

Jeśli chcesz dodawać dowolnie wiele liczb, to zrób to w pętli.

Oddzielasz od tekstu pierwszą liczbę.

wynik=pierwsza;

powtarzasz liczbę równą (liczbie znaków '+' w tekście - 1 )

Oddzielasz kolejną liczbę

wynik += kolejna

 

Mam nadzieję, że rozumiesz koncepcję.

komentarz 21 czerwca 2016 przez p0m0 Obywatel (1,190 p.)
#include<iostream>
using namespace std;
int calc(string s){
	int out=0, help=0;
	for(int i=0;i<s.size();i++){
		if(s[i]=='+'){
			out+=help;
			help=0;
		}
		else{
			help*=10;
			help+=int(s[i]-'0');
		}
	}
	out+=help;
	help=0;
	return out;
}
int main(){
	string s;
	cin >> s;
	cout << calc(s) <<'\n';
	return 0;
}

Tu masz prosty program, który wczytuje jeden wiersz składający się z liczb i symboli '+', zaś na wyjście daje sumę tych liczb (chyba o to Ci chodziło).

Teraz wystarczy, że w swoim programie wczytasz stringa z wejścia i przekażesz do funkcji calc, a otrzymasz wynik.

0 głosów
odpowiedź 21 czerwca 2016 przez wojtekw0703 Użytkownik (960 p.)
Ktoś jeszcze ma jakieś pomysły ? Kalkulator zachowuje się tak jakby nie pamiętał poprzedniej zmiennej... (5+6+2 = u niego 8). Proszę o pomoc.
komentarz 21 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
Jeśli ONP nie działa, chociaż nie wiem ja. Spróbuj użyć tablic i petli lub po prostu użyj nawiasów.

Podobne pytania

0 głosów
2 odpowiedzi 1,518 wizyt
0 głosów
0 odpowiedzi 1,084 wizyt
pytanie zadane 4 listopada 2020 w C i C++ przez Bartosz007 Nowicjusz (120 p.)

92,550 zapytań

141,392 odpowiedzi

319,519 komentarzy

61,935 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!

...