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

Jak to zrobić lepiej c++

0 głosów
118 wizyt
pytanie zadane 2 sierpnia w C i C++ przez H1rund0 Nowicjusz (160 p.)

Cześć,

Przerabiam ostatnio książkę z zadaniami dla języka python, ale w c++. Aktualnie jestem na zadaniu nr 5, które 

brzmi następująco: 

„Masz takie wyrażenie: (((a1+a2)*a3)-a4)/a5 (elementy od a1 do a5 są typu zmiennoprzecinkowego: float). Pobierz z klawiatury każdą ze zmiennych a1 do a5, oblicz wartość wyrażenia i wyświetl wynik. Zwróć uwagę na wartość zmiennej a5. W przypadku, gdy jej wartość będzie równa 0, nie wykonuj działania, tylko poinformuj o tym.”

Fragmenty z książki: Tomasz Jaśniewski. „Python. Zbiór zadań z rozwiązaniami”. 

#include <iostream>

using namespace std;

float a [5];
float suma;

int main()
{
for(int i = 0; i<4;i++)
	{

		cout<<"Podaj liczbę a"<<i+1<<": ";
		cin>> a[i];a

	}
	cout<<"Podaj liczbę a5: ";
	cin>> a[4];
if(a[4]<=0)
	{
		while(a[4]==0)
		{
			cout<<"Podaj liczbę większą niż 0";
			cin>> a[4];
		}
	}
suma = (((a[0]+a[1])*a[2])-a[3])/a[4];	
cout<<suma;
}

Problemy które rozwiązałem na około to jest pobranie liczby nr 5 poza pętlą, żeby móc zrobić while który sprawdzi czy liczba jest większa od zera. Wygląda to dla mnie koślawo i myślę, że można by to zapisać lepiej, no ale nie wiem jak. Każde rady na wagę złota.

1 odpowiedź

0 głosów
odpowiedź 2 sierpnia przez WojAbuk Gaduła (3,660 p.)
Nie używaj zmiennych globalnych bez potrzeby, using namespace std; też nie jest zalecane, choć przy prostych problemach nie robi różnicy. Co do twojego pytania, to najbardziej eleganckie jest wczytanie wszystkich zmiennych w pętli, a następnie warunkiem sprawdzić, czy a5 jest równe 0. Warto też podzielić kod na funkcje i by funkcja main zwracała wartość. Ogólnie w C/C++ obowiązuje konwencja, że w przypadku zakończenia programu sukcesem zwracamy 0, a w przeciwnym wypadku kod błędu.

Podobne pytania

+1 głos
1 odpowiedź 731 wizyt
pytanie zadane 6 listopada 2015 w C i C++ przez Baakoma Użytkownik (780 p.)
0 głosów
1 odpowiedź 915 wizyt
pytanie zadane 5 czerwca 2017 w C i C++ przez Huberti Gaduła (4,500 p.)
0 głosów
1 odpowiedź 973 wizyt
pytanie zadane 16 sierpnia 2016 w C i C++ przez Informatyk# Obywatel (1,060 p.)

93,777 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...