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

optymalizacja i nauka na przykładzie kalkulatora

42 Warsaw Coding Academy
0 głosów
229 wizyt
pytanie zadane 22 grudnia 2019 w C i C++ przez Ja_się-jeszcze-uczę Nowicjusz (150 p.)
#include<iostream>
#include<windows.h>  
#include<math.h>
using namespace std;
int wybor, powt, a;
float suma,suma1,liczba[999];

int main()
{
	for (;;)
	{
		cout << endl <<"MENU" << endl;
		cout << "1.oddawanie" << endl;
		cout << "2.odejmowanie" << endl;
		cout << "3. mnozenie" << endl;
		cout << "4 dzielenie" << endl;
		cout << "5 pierwisatek" << endl;
		cout << "6 zakoncz program " << endl;
		cout << "Wybieram : ";
		cin >> wybor;
		
		
			switch (wybor)
			{
			case 1:
				cout << "ile liczb chcesz dodac ? ";
				cin >> powt;
				for (a = 0; a < powt; a++)
				{
					cout << "podaj " << a + 1 << " liczbe ";
					cin >> suma;
					suma1 += suma;

				}
				cout << "wynik to " << suma1;
				break;
			case 2:
				cout << "ile liczb chcesz odjac ? ";
				cin >> powt;
				for (a = 1; a <= 1; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];
					liczba[0] = liczba[1] * 2;
					liczba[0] -= liczba[1];
				}
                for (a = 2; a <= powt; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];
				
				
					 liczba[0] -= liczba[a];
					
				}
				cout << "wynik to " << liczba[0];
				break;
             case 3:
				cout << "ile liczb chcesz pomnozyc ? ";
				cin >> powt;
				for (a = 1; a <= 1; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];
					liczba[0] = 1;
					liczba[0] *= liczba[1];
				}
				for (a = 2; a <= powt; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];


					liczba[0] *= liczba[a];
				}
				cout << "wynik to " << liczba[0];
				break;
			case 4:
				cout << "ile liczb chcesz podzielic ? ";
				cin >> powt;
				for (a = 1; a <= 1; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];
					liczba[0] = 1;
					liczba[0] *= liczba[a];
				}
				for (a = 2; a <= powt; a++)
				{
					cout << "podaj " << a << " liczbe ";
					cin >> liczba[a];
                    liczba[0] /= liczba[a];
				}
				cout << "wynik to " << liczba[0];
				break;
			case 5:
				cout << "jaką liczbe chesz sperwiastkwac ? ";
				cin >> powt;
				cout << "wynik to : " << sqrt(powt);
			case 6:
				return(0);
				break;
			default:
				cout << " wynik to";
					cout << " Jestes cepem ";
					return(0);
					break;
			}
		
			return(0);
	}
}

Chciałem aby ten kalkulator obliczał dowolną ilość liczb jednakże czuje że da się ten program napisać zwięźlej ale nie wiem do końca jak więc zwracam się do was o lekcje jak to zrobić.

1 odpowiedź

0 głosów
odpowiedź 22 grudnia 2019 przez DragonCoder Nałogowiec (36,500 p.)
wybrane 19 stycznia 2020 przez Ja_się-jeszcze-uczę
 
Najlepsza

1. Wykonywanie dowolnej operacji, tzn misz masz, to polecam ONP. (https://eduinf.waw.pl/inf/alg/001_search/0102.php)

2. Zmiennych globalnych sie nie uzywa, chyba jest jest do tego uzasadniony powod

3. Nazwy zmiennych polecam nazywac po angielsku o zeby mialy znaczenie, tzn ( int x; zamienic na int maximalNumberOf... ;). Zmienna sama w sobie powinna wyrazac to co robi

4. Tablica z 999 komórkami, chociaz uzyjesz 3?bez sensowne zabieranie pamiecii. Uzywaj std::vector

5. 

for (a = 1; a <= 1; a++)
                {

Nie wiem po co jest ten zapis, powtarzaj dopóki a jest mniejsze lub rowne 1,gdy a ma wartosc 1? I to az 3 razy w kodzie, po co? 

6. Lepiej zrobic (tak mi sie wydaje) do.... while (wybor! =6), wtedy bedzie sie powtarzac tak dlugo, az wybor jest rozny o 6. 

Podobne pytania

0 głosów
1 odpowiedź 495 wizyt
pytanie zadane 20 grudnia 2019 w C i C++ przez _Kuba_ Początkujący (250 p.)
0 głosów
2 odpowiedzi 374 wizyt
+1 głos
3 odpowiedzi 960 wizyt
pytanie zadane 24 września 2019 w Python przez ninjaa Nowicjusz (240 p.)

93,398 zapytań

142,390 odpowiedzi

322,576 komentarzy

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...