teszt
-
commissioner #1785
#include<stdio.h>
#include<conio.h>
#include<ctype.h> // toupper();
#include<string.h> // strcpy();
#include<stdlib.h> // exit();
typedef int bool;
class Terem
{
protected:
char helye[10];
int ulohelyekSzama;
bool sotetitheto;
public:
char* Get_helye (void) {return helye;}
void Set_helye (char* akt_hely) { strcpy(helye, akt_hely); }
int Get_ulohelyekSzama (void) {return ulohelyekSzama;}
void Set_ulohelyekSzama (int akt_ulohelyek) {ulohelyekSzama = akt_ulohelyek;}
bool Get_sotetitheto (void) {return sotetitheto;}
void Set_sotetitheto (bool akt_sotetitheto) {sotetitheto = akt_sotetitheto;}
};
class Eloadoterem : public Terem
{
private:
bool hangosithato;
bool beepitettProjektor;
bool lepcsozetesPadsorok;
public:
bool Get_hangosithato (void) {return hangosithato;}
void Set_hangosithato (bool akt_hangosithato) {hangosithato = akt_hangosithato;}
bool Get_beepProj (void) {return beepitettProjektor;}
void Set_beepProj (bool akt_beepProj) {beepitettProjektor = akt_beepProj;}
bool Get_lepcsPad (void) {return lepcsozetesPadsorok;}
void Set_lepcsPad (bool akt_lepcsPad) {lepcsozetesPadsorok = akt_lepcsPad;}
};
enum OP_RENDSZER {Windows2000,WindowsXP,Linux,egyeb};
char opr [4][12] = {"Windows2000","Windows XP","Linux","egyeb"};
class Szamitogep_labor : public Terem
{
private:
int szamitogepekSzama;
bool halozatiKapcsolat;
OP_RENDSZER operaciosRendszer;
public:
int Get_szgSzam (void) {return szamitogepekSzama;}
void Set_szgSzam (int akt_szgszam) {szamitogepekSzama = akt_szgszam;}
bool Get_haloKapcs (void) {return halozatiKapcsolat;}
void Set_haloKapcs (bool akt_haloKapcs) {halozatiKapcsolat = akt_haloKapcs;}
OP_RENDSZER Get_opRendszer (void) {return operaciosRendszer;}
void Set_opRendszer (OP_RENDSZER akt_opRendszer) {operaciosRendszer = akt_opRendszer;}
};
void main()
{
clrscr();
printf ("Terem program\n\n");
printf ("___Előadótermek adatainak feltöltése___\n");
int eaTermekSzama;
do
{
printf ("Előadótermek száma=");
scanf ("%d", &eaTermekSzama);
} while (eaTermekSzama < 0 || eaTermekSzama > 32565);
Eloadoterem* EloadoteremP;
EloadoteremP = new Eloadoterem [eaTermekSzama];
if (EloadoteremP == NULL)
{
printf("Hiba! Sikertelen memóriafoglalás, program leáll!");
exit (0);
}
char hely [10];
int ulohelyek;
for (int i = 0; i < eaTermekSzama; i++)
{
printf ("%d. előadóterem adatainak feltöltése:\n", i+1);
printf ("előadóterem helye=");
scanf ("%s", &hely);
EloadoteremP[i].Set_helye (hely);
printf ("ülőhelyek száma=");
scanf ("%d", &ulohelyek);
EloadoteremP[i].Set_ulohelyekSzama (ulohelyek);
printf ("sötétíthető (I/N)?");
if (toupper(getch()) == 'I')
EloadoteremP[i].Set_sotetitheto (1);
else EloadoteremP[i].Set_sotetitheto (0);
printf ("\nhangosítható (I/N)?");
if (toupper(getch()) == 'I')
EloadoteremP[i].Set_hangosithato (1);
else EloadoteremP[i].Set_hangosithato (0);
printf ("\nbeépített projektor van (I/N)?");
if (toupper(getch()) == 'I')
EloadoteremP[i].Set_beepProj (1);
else EloadoteremP[i].Set_beepProj (0);
printf ("\nlépcsőzetesek a padsorok (I/N)?");
if (toupper(getch()) == 'I')
EloadoteremP[i].Set_lepcsPad (1);
else EloadoteremP[i].Set_lepcsPad (0);
clrscr();
}
printf ("A hangosítható és egyúttal projektorral is ellátott előadótermek adatainak kilistázása:\n");
for (i = 0; i < eaTermekSzama; i++)
{
if (EloadoteremP[i].Get_hangosithato() == 1 && EloadoteremP[i].Get_beepProj() == 1)
{
printf ("%d. előadóterem adatai:\n", i+1);
printf ("helye:"); puts(EloadoteremP[i].Get_helye());
printf ("\nülőhelyek száma:%d", EloadoteremP[i].Get_ulohelyekSzama());
if (EloadoteremP[i].Get_sotetitheto())
printf("\nsötétíthető");
else printf("\nnem sötétíthető");
if (EloadoteremP[i].Get_lepcsPad())
printf("\nlépcsőzetes padsorok vannak");
else printf("\nnincsenek lépcsőzetes padsorok");
printf ("\nNyomjon meg egy billentyűt a folytatáshoz!");
getch();
}
}
delete EloadoteremP;
clrscr();
printf ("___Számítógép laborok adatainak feltöltése___");
int szgLaborokSzama;
int szgkSzama;
do
{
printf ("\nSzámítógép laborok száma=");
scanf ("%d", &szgLaborokSzama);
} while (szgLaborokSzama < 0 || szgLaborokSzama > 32565);
Szamitogep_labor* Szamitogep_laborP;
Szamitogep_laborP = new Szamitogep_labor [szgLaborokSzama];
if (Szamitogep_laborP == NULL)
{
printf("Hiba! Sikertelen memóriafoglalás, program leáll!");
exit (0);
}
for (i = 0; i < szgLaborokSzama; i++)
{
printf ("\n%d. számítógép labor adatainak feltöltése:", i+1);
printf ("\nhelye:");
scanf ("%s", &hely);
Szamitogep_laborP[i].Set_helye (hely);
printf ("ülőhelyek száma=");
scanf ("%d", &ulohelyek);
Szamitogep_laborP[i].Set_ulohelyekSzama (ulohelyek);
printf ("sötétíthető (I/N)?");
if (toupper(getch()) == 'I')
Szamitogep_laborP[i].Set_sotetitheto (1);
else Szamitogep_laborP[i].Set_sotetitheto (0);
printf("\nszámítógépek száma=");
scanf ("%d", &szgkSzama);
Szamitogep_laborP[i].Set_szgSzam (szgkSzama);
printf ("hálózati kapcsolat van (I/N)?");
if (toupper(getch()) == 'I')
Szamitogep_laborP[i].Set_haloKapcs (1);
else Szamitogep_laborP[i].Set_haloKapcs (0);
printf ("\n\n");
int y = 0;
for (OP_RENDSZER op = Windows2000; op <= 3; op++, y++)
printf ("%d: %s ", y, opr[op]);
printf ("\ntelepített operációs rendszer sorszáma (0..3)=");
int sorszam;
scanf ("%d", &sorszam);
Szamitogep_laborP[i].Set_opRendszer ( (OP_RENDSZER) sorszam );
clrscr();
}
float ulohelyosszeg;
float db = 0;
float atlag;
for (i = 0; i < szgLaborokSzama; i++)
{
if (Szamitogep_laborP[i].Get_opRendszer() == Windows2000)
{
ulohelyosszeg += Szamitogep_laborP[i].Get_ulohelyekSzama();
db++;
}
}
if (db != 0)
atlag = ulohelyosszeg / db;
else atlag = ulohelyosszeg;
printf ("\nA Windows 2000 operációs rendszert futtató számítógép laborok átlagos ülőhelyszáma= %f", atlag);
delete Szamitogep_laborP;
printf ("\n\nNyomjon meg egy billentyűt a kilépéshez!");
getch();
}