User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:alapveto_diagrammok

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2024/02/28 17:59] – létrehozva kneheztanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2025/03/12 18:43] (current) knehez
Line 1: Line 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. 
 + 
 +{{:tanszek:oktatas:muszaki_informatika:pasted:20240228-181425.png}}
  
 <sxh c> <sxh c>
 +#include "raylib.h"
 +
 +int main() {
 +    const int screenWidth = 800;
 +    const int screenHeight = 450;
 +    InitWindow(screenWidth, screenHeight, "Kordiagram");
 +
 +    SetTargetFPS(60);
 +
 +    // Kördiagram 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"};
 +
 +    while (!WindowShouldClose()) {
 +        BeginDrawing();
 +        ClearBackground(RAYWHITE);
 +
 +        // Kördiagram középpontja és sugara
 +        Vector2 kozep = {screenWidth / 2.0f, screenHeight / 2.0f};
 +        float sugar = 180.0f;
 +
 +        float kezdoSzog = 90.0f;
 +        for (int i = 0; i < 5; i++) {
 +            float szog = 360.0f * (szazalekok[i] / 100.0f);
 +
 +            // Szelet rajzolása
 +            DrawCircleSector(kozep, sugar, kezdoSzog - szog, kezdoSzog, 100, szinek[i]);
 +            DrawCircleSectorLines(kozep, sugar, kezdoSzog - szog, kezdoSzog, 100, DARKGRAY);
 +
 +            kezdoSzog -= szog;
 +        }
 +
 +        // Osszefoglalo rajzolása (legends)
 +        int legendX = screenWidth - 200; // X pozíció
 +        int legendY = 50; // Kezdő Y pozíciój
 +        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>
 +
 +===== 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>
tanszek/oktatas/muszaki_informatika/alapveto_diagrammok.1709143147.txt.gz · Last modified: 2024/02/28 17:59 by knehez