Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
labor_peldak
/
lab_03
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
6d3c80a2
authored
Feb 19, 2019
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
elkeszult.h
parent
e7fed769
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
39 deletions
+54
-39
Komplex/elkeszult.h
+43
-0
Komplex/komplex.cbp
+1
-0
Komplex/komplex.h
+9
-38
Komplex/komplex_teszt.cpp
+1
-1
No files found.
Komplex/elkeszult.h
0 → 100644
View file @
6d3c80a2
#ifndef ELKESZULT_H
#define ELKESZULT_H
/**
* \file elkeszult.h
*
*/
/// Készültségi fok beállítása
#define ELKESZULT 0
/**
*ELKESZULT értéke - feladatok:
* 0. Csak az előre elkészített tagfüggvények (konstruktorok, getRe, abs) működnek.
* 1. Készítsen lekérdező függvényeket a valós és képzetes rész lekérdezésére:
* getRe(), getIm()! Ügyeljen arra, hogy konstans objektumra is működjön!
* (Konstans objektumra csak olyan tagfüggvény alkalmazható, ami nem
* változtatja az objektum állapotát.)
* A példában a getRe() függvénynek van const és nem const változata is.
* Esetünkben ez értelmetlen, de azt kívánja demonstrálni, hogy ez két külön
* tagfüggvény.
* 2. Készítsen beállító függvényeket a valós és képzetes rész beállítására!
* setRe(double), setIm(double)
* 3. Készítsen egyenlőségvizsgáló (==) operátort!
* A != operátort már elkészítettük, ami az == -re vezeti vissza a feladatot.
* 4. Készítsen + operátort (összeadás)! Működjön valóssal is (először csak jobbról)!
* 5. Készítsen olyan összeadó operátort, ami alkalmas valós + komplex összeadására!
* (A double + Komplex esetben a bal oldali operandus nem objektum, így globális
* operátorfüggvénnyel kell megvalósítani a feladatot.)
* 6. Készítsen += operátort!
* Megj: A += valós változatot már elkészítettük!
*
* Szorgalmi feladatok:
* 7. Legyen kiírható a komplex adat egy ostream típusú objektumra a << operátorral
* 1+34j ill. 1-34j alakban!
* Be lehessen olvasni egy istream típusú objektumból a >> operátorral
* ugyanilyen (1+34j) alakban!
* Megj: A kért kiírási formátumban a képzetes rész előtt ki kell írni a képzetes rész
* előjelét (a pozitívat is), de a valós rész előtt csak a negatív előjel
* jelenjen meg! (tipp: showpos, noshowpos, ignore)
* 8. Valósítsa meg a ~ operátort, amely a komplex szám konjugáltját képzi.
* 9. Készítsen * operátort (szorzás)! Működjön valóssal balról és jobbról is!
* Készítsen *= operátort! Működjön valóssal (double) is!
*/
#endif
Komplex/komplex.cbp
View file @
6d3c80a2
...
...
@@ -32,6 +32,7 @@
<Add
option=
"-Wall"
/>
<Add
directory=
"gtest/include"
/>
</Compiler>
<Unit
filename=
"elkeszult.h"
/>
<Unit
filename=
"gtest_lite.h"
/>
<Unit
filename=
"komplex.cpp"
/>
<Unit
filename=
"komplex.h"
/>
...
...
Komplex/komplex.h
View file @
6d3c80a2
...
...
@@ -9,48 +9,19 @@
*/
#ifndef KOMPLEX_H
#define KOMPLEX_H
/**
* Az Ön feladata a komplex.cpp fájlban megvalósítani (definiálni) az egyes
* függvényeket. Ahogyan halad a megvalósítással egyre több tesztesetet kell
* lefuttatni, ezért az ELKESZULT makró értéket folyamatosan növelje a
* feladatsorszámoknak megfelelően!
* Ebben a fájlban mást nem szükséges módosítania.
*/
#define ELKESZULT 0
/**
*ELKESZULT értéke - feladatok:
* 0. Csak az előre elkészített tagfüggvények (konstruktorok, getRe, abs) működnek.
* 1. Készítsen lekérdező függvényeket a valós és képzetes rész lekérdezésére:
* getRe(), getIm()! Ügyeljen arra, hogy konstans objektumra is működjön!
* (Konstans objektumra csak olyan tagfüggvény alkalmazható, ami nem
* változtatja az objektum állapotát.)
* A példában a getRe() függvénynek van const és nem const változata is.
* Esetünkben ez értelmetlen, de azt kívánja demonstrálni, hogy ez két külön
* tagfüggvény.
* 2. Készítsen beállító függvényeket a valós és képzetes rész beállítására!
* setRe(double), setIm(double)
* 3. Készítsen egyenlőségvizsgáló (==) operátort!
* A != operátort már elkészítettük, ami az == -re vezeti vissza a feladatot.
* 4. Készítsen + operátort (összeadás)! Működjön valóssal is (először csak jobbról)!
* 5. Készítsen olyan összeadó operatort, ami alkalmas valós + komplex összeadására!
* (A double + Komplex esetben a bal oldali operandus nem objektum, így globális
* operátorfüggvénnyel kell megvalósítani a feladatot.)
* 6. Készítsen += operátort!
* Megj: A += valós változatot már elkészítettük!
* Az Ön feladata a komplex.cpp fájlban megvalósítani (definiálni) a hiányzó függvényeket.
* Ahogyan halad a megvalósítással egyre több tesztesetet kell lefuttatni,
* ezért az ELKESZULT makró értéket a készültségi foknak megfelelően állítsa be az
* elkeszult.h fájlban!
* Ne hagyjon ki feladatot, sorban haladjon!
*
* Szorgalmi feladatok:
* 7. Legyen kiírható a komplex adat egy ostream típusú objektumra a << operátorral
* 1+34j ill. 1-34j alakban!
* Be lehessen olvasni egy istream típusú objektumból a >> operátorral
* ugyanilyen (1+34j) alakban!
* Megj: A kért kiírási formátumban a képzetes rész előtt ki kell írni a képzetes rész
* előjelét (a pozitívat is), de a valós rész előtt csak a negatív előjel
* jelenjen meg! (tipp: showpos, noshowpos, ignore)
* 8. Valósítsa meg a ~ operátort, amely a komplex szám konjugáltját képzi.
* 9. Készítsen * operátort (szorzás)! Működjön valóssal balról és jobbról is!
* Készítsen *= operátort! Működjön valóssal (double) is!
* Ebben a fájlban nem kell módosítania semmit.
*/
#include "elkeszult.h"
/// Komplex osztály deklarációja
/// Lesz olyan feladat, amelynél ezt is bővítenie kell!
class
Komplex
{
...
...
Komplex/komplex_teszt.cpp
View file @
6d3c80a2
...
...
@@ -13,7 +13,7 @@
#include <sstream>
#include "gtest_lite.h"
#include "elkeszult.h"
#include "komplex.h"
int
main
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment