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

Projekt liczby zespolone dodawanie, odejmowanie,dzielenie,modul jak napisac funkcje

Cloud VPS
+1 głos
4,245 wizyt
pytanie zadane 12 czerwca 2015 w C i C++ przez L1sterin Nowicjusz (150 p.)
Dzień dobry. Z góry bardzo przepraszam o ile podobny temat był. Chcę napisać program do obliczeń liczb zespolonych ich dodawanie, odejmowanie, dzielenie, modul. Moj program po uruchomieniu przedstawia prosty interfejs z opcją wyboru 1,2,3,4. W jaki sposób napisać funkcję aby po wybraniu np dodawania (1)  poprzedni ekran został wyczyszczony, a program poprosiłby o podanie czesci urojonej i rzeczywistej pierwszej liczby, nastepnie drugiej, a po dodaniu 1 i 2 wypisał jej wartosc oraz zapytał o to czy chę wrócić do menu głównego czy wyjsć z programu. Na początek chciałby napisać tylko taką częsć kodu czyli w każdym wypadku dodawanie, odejmowanie i dzielenie tylko 2ch liczb. Bardzo proszę o poradę  i z góry serdecznie dziękuję za każdą odpowiedź. Pozdrawiam.

 

Mój dotychczasowy fragment kodu.

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <math.h>

using namespace std;
int x;
char wybor;
int main()
{
cout<<"WITAMY W PROGRAMIE DO OBLICZEN NA LICZBACH ZESPOLONYCH"<<endl;
    Sleep(3000);
    system("cls");
cout<<"Wybierz funkcje jaka Cie interesuje"<<endl<<endl<<endl;
    Sleep(1000);
cout<<"\t"<<"MENU GLOWNE"<<endl<<endl;
    Sleep(1000);

cout<<"************************************"<<endl;
cout<<"*"<<"                                  *"<<endl;
cout<<"*"<<"\t""1. Dodawanie"<<"               *"<<endl;
    Sleep(1000);
cout<<"*"<<"\t"<<"2. Odejmowanie"<<"             *"<<endl;
    Sleep(1000);
cout<<"*"<<"\t"<<"3. Dzielenie"<<"               *"<<endl;
    Sleep(1000);
cout<<"*"<<"\t"<<"4. Modul"<<"                   *"<<endl;
    Sleep(1000);
cout<<"*"<<"\t"<<"5. WYJSCIE Z PROGRAMU"<<"      *"<<endl;
    Sleep(1000);
cout<<"*"<<"                                  *"<<endl;
cout<<"************************************"<<endl;

wybor=getch();
switch(wybor)
{
case '1':
    cout<<"Wybrales dodawanie!"<<endl;
    break;
case '2':
    cout<<"Wybrales odejmowanie!"<<endl;
    break;
case '3':
    cout<<"Wybrales dzielenie!"<<endl;
    break;
case '4':
    cout<<"Wybrales modul!"<<endl;
    break;
case '5':
    cout<<"Dziekujemy za skorzystanie z programu!"<<endl;
    Sleep(3000);
    exit(0);
    break;
default:
    cout<<"Nie ma takiej opcji w menu"<<endl;
}
system("cls");
return 0;
}

3 odpowiedzi

+2 głosów
odpowiedź 12 czerwca 2015 przez Kelmac Gaduła (3,970 p.)
Najlepiej będzie jak napiszesz sobie klase Zespolona z parametrami double rzeczywista; double urojona; a w niej metody dodawanie, odejmowanie itp, przeładowania operatorów ( +, - , =+, itp));

To potemw  programie wystarrczy że stworzysz takie obiekty
Zespolona a(5,1), b(10,5);  //a=5+j1, b=10+j5
Zespolona suma(0,0);
to potem możesz cos takiego zrobić
suma=a+b //bo w klasach są metody dodawanai napisane i przeładowanie operatorów + i =

cout<<suma; //jęsli przeładowałęseś oeprator <<;

p.s. gdzieś już gotowa klasa complex do liczb zespolonych chyba w bibliotece stl; ale zachęcam do pisania własnej.
p.s.s w książce pana grębosza "Symfonia c++" podajże jest pisanie takiej klasy, przy rozdziale o klasach chyba
komentarz 12 czerwca 2015 przez Radfler VIP (101,030 p.)

Po co ma definiować własną klasę, skoro może użyć standardowej std::complex<double>? Poza tym patrząc na jakość kodu, on pewnie nie wie co to jest klasa ;)

komentarz 12 czerwca 2015 przez Kelmac Gaduła (3,970 p.)
Bo pisząc własną klasę, to dobre ćwiczenie na naukę pisania kals i ich zrozumienie, fakt , jeśli umię już dobrze użwyać, to by sie nie pytał o to. Stosowanie gotowych kals jest dobre przy wiekszych projektach, albo jak juz się te podstawy opanowało. to się ym nie przejmujesz.

No przynajmiej takie moje skromne myslenie
komentarz 12 czerwca 2015 przez Pieniek Gaduła (3,330 p.)
Popieram w 100% przez gotowce ludzie głupiej listy nie umieją poprawnie zakodzić.
komentarz 12 czerwca 2015 przez Domagalsky Obywatel (1,000 p.)
Kożystając z gotowców niczego się nie nauczysz.
Pamiętajmy również że gotowce nie zawsze są napisane poprawnie.
Np. Wyszukiwanie Binarne w Javie było źle napisane aż do JAVY 6.0!!
Ogółem 2/3 książek z Binar Searching zawierają ten sam błąd.
0 głosów
odpowiedź 12 czerwca 2015 przez Radfler VIP (101,030 p.)

Zapisz 5 funkcji, każda dla innej operacji:

void dodaj() {

    system("cls");
    double imag1, real1, imag2, real2;
    cin >> real1 >> imag1 >> real2 >> imag2;
    cout << real1+real2 << ", " << imag1+imag2;    
}

I każdą funkcję zdefiniuj w ten sposób. Możesz też użyć biblioteki <complex> (http://en.cppreference.com/w/cpp/header/complex). W mainie napisz kod, który zapyta o powrót do menu. Cała filozofia :)

0 głosów
odpowiedź 12 czerwca 2015 przez Pieniek Gaduła (3,330 p.)

Znalazłem coś takiego na dysku może coś się Ci z tego przyda

class urojona{
public:
	int z;
	int i;
	urojona(){
		z = 0;
		i = 0;
	}
	urojona(int z_, int i_){
		z = z_;
		i = i_;
	}
	const bool operator>(const urojona& zmienna) {
		if (z > zmienna.z){
			return true;
		}
		if (z < zmienna.z){
			return false;
		}
		if (i > zmienna.i)
			return true;
		return false;
	};
	const bool operator==(const urojona& zmienna) {
		if (z == zmienna.z && i == zmienna.i){
			return true;
		}
		return false;
	}
	void operator=(const urojona& zmienna) {
		z = zmienna.z;
		i = zmienna.i;
	}
	friend istream& operator>>(istream& b, urojona& p){
		return b >> p.z >> p.i;
	}
	friend ostream& operator<<(ostream& b, const urojona& p){
		return b << p.z << " + " << p.i << "i, ";
	}
};

 

Podobne pytania

0 głosów
0 odpowiedzi 343 wizyt
pytanie zadane 21 października 2017 w Matematyka, fizyka, logika przez ELyyE Początkujący (320 p.)
0 głosów
3 odpowiedzi 1,132 wizyt
pytanie zadane 17 listopada 2015 w C i C++ przez Delebrith Początkujący (250 p.)
0 głosów
1 odpowiedź 2,844 wizyt
pytanie zadane 19 grudnia 2019 w Assembler przez progNewbie Obywatel (1,130 p.)

93,487 zapytań

142,420 odpowiedzi

322,772 komentarzy

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

Kursy INF.02 i INF.03
...