A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
|
tanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2024/02/28 18:14] knehez |
tanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2024/02/28 18:20] (aktuális) knehez |
||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| - | ==== Kördiagramm ===== | + | ==== Kördiagram ===== |
| feladat: Készítsen egy C programot, amely egy kördiagramot jelenít meg az egyes bevételi források százalékos megoszlásával egy képzeletbeli vállalat esetén. A kördiagram mellett egy összefoglaló (legend) is szerepeljen, amely az egyes bevételi forrásokat színes téglalapokkal és címkékkel azonosítja. | feladat: Készítsen egy C programot, amely egy kördiagramot jelenít meg az egyes bevételi források százalékos megoszlásával egy képzeletbeli vállalat esetén. A kördiagram mellett egy összefoglaló (legend) is szerepeljen, amely az egyes bevételi forrásokat színes téglalapokkal és címkékkel azonosítja. | ||
| Sor 58: | Sor 58: | ||
| } | } | ||
| + | </sxh> | ||
| + | |||
| + | ===== Oszlopdiagram ===== | ||
| + | |||
| + | {{:tanszek:oktatas:muszaki_informatika:pasted:20240228-181856.png}} | ||
| + | |||
| + | <sxh c> | ||
| + | #include <raylib.h> | ||
| + | |||
| + | int main() { | ||
| + | const int screenWidth = 800; | ||
| + | const int screenHeight = 450; | ||
| + | InitWindow(screenWidth, screenHeight, "Oszlopdiagram"); | ||
| + | |||
| + | SetTargetFPS(60); | ||
| + | |||
| + | // Oszlopdiagram adatok | ||
| + | float szazalekok[] = {30.0f, 25.0f, 20.0f, 15.0f, 10.0f}; // Összesen 100% | ||
| + | Color szinek[] = {RED, GREEN, BLUE, ORANGE, PURPLE}; // Minden szelethez egy szín | ||
| + | const char *cimkek[] = {"Termekertekesites", "Szolgaltatasok", "Licencdijak", "Befektetesek", "Egyeb"}; | ||
| + | |||
| + | // Oszlopok beállításai | ||
| + | int oszlopSzelesseg = 50; | ||
| + | int oszlopKoz = 20; | ||
| + | int diagramX = 100; // Diagram kezdő X pozíciója | ||
| + | int alapMagassag = screenHeight - 100; // Az oszlopok alapja | ||
| + | |||
| + | while (!WindowShouldClose()) { | ||
| + | BeginDrawing(); | ||
| + | ClearBackground(RAYWHITE); | ||
| + | |||
| + | for (int i = 0; i < 5; i++) { | ||
| + | // Oszlop magasságának és pozíciójának kiszámítása | ||
| + | float oszlopMagassag = (szazalekok[i] / 100.0f) * (screenHeight - 200); | ||
| + | int oszlopX = diagramX + i * (oszlopSzelesseg + oszlopKoz); | ||
| + | |||
| + | // Oszlop rajzolása | ||
| + | DrawRectangle(oszlopX, alapMagassag - oszlopMagassag, oszlopSzelesseg, oszlopMagassag, szinek[i]); | ||
| + | } | ||
| + | |||
| + | // összefoglaló (legend) | ||
| + | int legendX = screenWidth - 200; // X pozíció | ||
| + | int legendY = 50; // Kezdő Y pozíció | ||
| + | int magassag = 20; // Minden sor magassága | ||
| + | for (int i = 0; i < 5; i++) { | ||
| + | // Szín téglalap rajzolása | ||
| + | DrawRectangle(legendX, legendY + i * (magassag + 5), 20, magassag, szinek[i]); | ||
| + | // Címke rajzolása | ||
| + | DrawText(cimkek[i], legendX + 25, legendY + i * (magassag + 5), 10, BLACK); | ||
| + | } | ||
| + | |||
| + | EndDrawing(); | ||
| + | } | ||
| + | |||
| + | CloseWindow(); | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| </sxh> | </sxh> | ||