- Azonnali informatikai kérdések órája
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen videókártyát?
- Bluetooth hangszórók
- Milyen TV-t vegyek?
- NVIDIA GeForce RTX 3060 Ti / 3070 / 3070 Ti (GA104)
- Azonnali VGA-s kérdések órája
- Apple asztali gépek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Új hozzászólás Aktív témák
-
sko
csendes tag
válasz
semij9699 #3740 üzenetére
Ha a feladatleírás tényleg csak annyi, hogy "Készítsen alkalmazást gőzgép modellezésre! Tárolja el fájljba az aktuális dátumot, időt, fordulatszámot!", akkor a bemeneted lehet a fűtés mértéke, ami némi késleltetéssel kiváltja a fordulatszám változását. Alapállapotban melegítés nincs, vízhőfok a környezetével megegyező, gőznyomás nincs, fordulatszám 0. A legegyszerűbb, ha a gép aktuális állapotát kizárólag a fordulatszámmal írod le.
Ha a fűtés intenzitása nő, később a fordulatszám is emelkedni kezd, amíg el nem éri az adott fűtési fokhoz tartozó fordulatszámot. Ha a fordulatszám elérte a maximumot, akkor további melegítés hatására már nem nő (tegyük fel, kinyit egy biztonsági szelep). Ha a fűtés alábbhagy, a fordulatszám is csökkenni fog.
Nehéz így kitalálni, de a megoldás állhat abból, hogy van valamilyen mód a fűtés fokának változtatására a form-on, ugyanott megjelenik az éppen aktuális fordulatszám, illetve azt kiírod egy fájlba a datetime-mal együtt. -
sko
csendes tag
válasz
dobragab #3718 üzenetére
Szívesen!
Nem ismerem a feladat részleteit, de a jó megoldás valószínűleg pont, kör, szakasz, stb. osztályokból állhat össze. A kör/szakasz képes lesz legalább az előre ismert pontjait tartalmazni (középpont, végpontok), esetleg adott pillanatban még ismeretleneket kiszámolni. Egy objektum másiktól való távolsága pedig a pontokon keresztül kerül meghatározásra.
Ha a feladatleírásban olyan jól behatárolható objektumok vannak, mint pont/kör/szakasz, akkor a programban is hasznos lehet leképezni azokat. A program törzse ezeken az objektumokon dolgozik, a háttérmunkát pedig az objektumokhoz rendelt "képességek" végzik el.
Jó kódolást!
-
sko
csendes tag
KREE, a C++-ban (OOP-ban) való programozás egyik alaptulajdonsága, hogy nem jó a később majd megszépítjük módszer, már az alapokat is jól kell lerakni. A te feladatod központi problémája két pont távolságának kiszámítása. Először ezt kell C++-ban leprogramozni. Íme itt egy lehetséges implementáció. Remélem minden tiszta benne, ha nem kérdezz nyugodtan! Ha tiszta, akkor innen kell továbblépni a pontok konténerekbe tárolásával és távolságuk kiszámításával.
#include <iostream>
#include <cmath>
using namespace std;
class Point
//If you need to calculate the distances of points, always start with creating a point object type.
{
int x = 0;
int y = 0;
public:
Point(): x(0), y(0) {}
Point(int X, int Y): x(X), y(Y) {}
float operator - (const Point&);
//Overloaded minus operator to calculate the distance of two points.
//This will enormously simplify your work later.
};
float Point::operator - (const Point& other)
{
int X = x - other.x;
int Y = y - other.y;
//No abs() necessary, because we will square the coordinates anyway.
float distance = sqrt(X*X + Y*Y);
//Could be double, long double, whatever you like.
return distance;
//There is no real need for this variable, you could return the result of sqrt() directly. Whatever you like.
}
int main()
{
Point middlepoint(8,-6);
Point endpoint(-5,10);
float dist = middlepoint - endpoint;
//Calculate the distance of these points. It's just that simple.
cout << dist << endl;
return 0;
} -
sko
csendes tag
válasz
bandi0000 #3673 üzenetére
A problémára két egyszerű megoldás létezik.
1. tegyél egy
cin >> ws;
-t acin.getline()
elé.2. használj a második, azaz a szám beolvasásához is
getline()
-t.A lényeg, hogy a getline egy adott delimiterig olvas és azt el kell tüntetni az input buffer-ből, mielőtt a második ciklus eljut a getline()-ig. Azaz egy további "retro" megoldás lehet
3. tegyél egy
getchar()
-t acin.getline()
elé.A getline delimiterét egyébként megadhatod neki harmadik paraméterként. A default értéke '\n'.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Azonnali informatikai kérdések órája
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- One otthoni szolgáltatások (TV, internet, telefon)
- Bluetooth hangszórók
- Milyen TV-t vegyek?
- Víztisztító berendezések - kancsók - szűrőbetétek
- Budakeszi, Páty, Telki, Budajenő, Zsámbék, Tök, Perbál topik
- További aktív témák...
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 16/1TB RTX A2000 4GB /1 Millió/
- Esport PC - i5 13400F, GTX 1080ti és 16gb DDR5
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Sony PlayStation 5 (PS5) Játékkonzol - Lemezes verzió, dobozában!
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- CarPlay / Android Auto adapter meglévő Android alapú fejegységhez
- Új! Számla + 1-3ÉV Gari! Áfás! Gamer PC - Számítógép! I5 14400F / RTX 3080 / 32GB DDR5 / 1TB SSD M.2
- Csere-Beszámítás! Gamer PC Számítógép! I5 12600KF / RTX 3070 / 32GB DDR4 / 512GB SSD
- LG 65" C1 OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest