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

Jezyk C++ - zrozumienie działania programu

VPS Starter Arubacloud
0 głosów
201 wizyt
pytanie zadane 29 listopada 2017 w C i C++ przez belkocik Początkujący (330 p.)
edycja 29 listopada 2017 przez criss

Cześć. Wytłumaczycie mi jak ten program działa ? Glubie się w tym i nie rozumiem co do czego się odnosi i jakie funkcje pełnia ;/ Najwieksze problemy mam w tworzeniu deklaracji i później odnoszenia sie do niej

z.h

struct Zespolona
{
	double Rzecz;
	double Uroj;
};

double ModulZ(Zespolona); // Tutaj deklarujemy zmienna zmiennoprzecinkowa ktora uzywa struktury Zespolona?

Zespolona DodajZ(Zespolona, Zespolona);

z.cpp

#include "stdafx.h"
#include "z.h"
#include <math.h>

double ModulZ(Zespolona Z1)
{
	return sqrt(Z1.Rzecz*Z1.Rzecz + Z1.Uroj*Z1.Uroj); 
}

Zespolona DodajZ(Zespolona Z2, Zespolona Z3)
{
	Zespolona ZSuma; //
	ZSuma.Rzecz = Z2.Rzecz + Z3.Rzecz; 
	ZSuma.Uroj = Z2.Uroj + Z3.Uroj;
	return (ZSuma);

liczbyzespolone.cpp

#include "stdafx.h"
#include "z.h"

int main()
{

	Zespolona Z = { 1.5, -2.5 };
	double Wynik;
	Wynik = ModulZ(Z);
	
	Zespolona Z2 = { 1.5, -2.4 };
	Zespolona ZWynik;
	ZWynik = DodajZ(Z, Z2);
	
}

co polecacie zeby to ogarnac?

komentarz 29 listopada 2017 przez criss Mędrzec (172,590 p.)
double ModulZ(Zespolona); // Tutaj deklarujemy zmienna zmiennoprzecinkowa ktora uzywa struktury Zespolona?

 Nie, to deklaracja funkcji.

co polecacie zeby to ogarnac?

Jakikolwiek kurs podstaw c++ (tak, to jest c++, nie C, zaraz poprawie nazwe tematu). Odpal kilka pierwszych odcinków proceduralnego c++ (bo najwyraźniej masz problemy nawet z funkcjami) i kilka pierwszych odcinków obiektowego (pewnie już w pierwszym będzie wyjaśnione wszystko czego potrzebujesz) chociażby u MZ (kanał Pasja Informatyki na yt). Polecam jednak ten kurs. Generalnie rzeczy na tyle ogólne i podstawowe, że nie ma sensu tłumaczyć na forum. 

komentarz 29 listopada 2017 przez belkocik Początkujący (330 p.)
edycja 29 listopada 2017 przez belkocik
To jest jezyk C - tak nam wykladowca powiedzial ktorego tlumaczenie nie jest zrozumiale ;/

do tego nie korzystamy wogole z printf tylko debuggera
komentarz 29 listopada 2017 przez draghan VIP (106,230 p.)

tak, to jest c++, nie C, zaraz poprawie nazwe tematu

Na jakiej podstawie takie stwierdzenie, Criss?

komentarz 29 listopada 2017 przez criss Mędrzec (172,590 p.)
Brak słówka struct w deklaracji obiektu Z czy Z2 (w C jest wymagane). Poza tym.. chyba faktycznie nic. Tym się zasugerowałem, może troche przesadzam, ale imo to nie jest w porządku jeśli gość (prowadzący zajęcia) okraja sobie C++ tak żeby wyglądał jak C, ale zostawiając jakieś drobne uprzyjemniacze. No i rozszerzenie .cpp, więc kompilator i tak kompilowałby to jako c++ nawet jeśli słówko struct by tam było.

1 odpowiedź

0 głosów
odpowiedź 29 listopada 2017 przez k222 Nałogowiec (30,150 p.)

z pliku .h

double ModulZ(Zespolona); 
Zespolona DodajZ(Zespolona, Zespolona);

To są deklaracje funkcji, pierwsza przyjmuje w argumencie jeden obiekt struktury Zminna i zwraca double, druga przyjmuje jako argumenty dwa obiekty Zmienna i zwraca obiekt Zmienna

w drugim pliku masz napisane dokładnie te funkcje. Przy deklarowaniu ich  w  .h wystarczyło podać tylko typ argumentów, tutaj już masz typ i nazwę

double ModulZ(Zespolona Z1)
Zespolona DodajZ(Zespolona Z2, Zespolona Z3)

Pierwsza funkcja zwraca moduł liczby zespolonej, druga sumę dwóch liczb zespolonych

Trzeci plik to main i użycie funkcji

komentarz 29 listopada 2017 przez belkocik Początkujący (330 p.)
To jest jezyk C - tak nam wykladowca powiedzial ktorego tlumaczenie nie jest zrozumiale ;/
komentarz 29 listopada 2017 przez k222 Nałogowiec (30,150 p.)
Jeżeli wykłady są do kitu to się na nie nie chodzi (chyba że u was musicie to współczuję), lepiej wziąć dobrą książkę do języka albo tutoriale na youtube i samemu się nauczyć, a co do konkretnych tytułów to poszukaj w internecie co jest aktualnie polecane.

Podobne pytania

0 głosów
2 odpowiedzi 333 wizyt
pytanie zadane 13 kwietnia 2021 w Python przez qwert 100 Obywatel (1,250 p.)
0 głosów
2 odpowiedzi 495 wizyt
pytanie zadane 25 sierpnia 2017 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 176 wizyt
pytanie zadane 14 stycznia 2017 w C i C++ przez heros22pt Użytkownik (950 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...