main.cpp
//---------------------------------------------------------------------------
#include
<vcl.h>
#pragma hdrstop
#include
<stdio.h>
#include
<conio.h>
#include
<dstring.h>
#include
"inferencie.h"
//---------------------------------------------------------------------------
#pragma argsused
int main(int
argc, char* argv[])
{
char menoZak[20];
bool upgr;
prDatab dat;
inferenc infer;
dat.citKompon(); // nacita vsetky komponenty
dat.citZostavu(); // nacita vsetky dostupne
predvolene zostavy
dat.citZakazn(); // nacita existujucich
zakaznikov
dat.DatZakaz = dat.DatZakazP; // premiestni smernik na zaciatok zoznamu
//
OBTAIN
//
Zisti meno
//
printf("Napis priezvisko zakaznika:
"); scanf("%s", menoZak);
dat = infer.najdiZak(dat, menoZak ); // skukma ci novy alebo
// existujuci zakaznik
if ( dat.DatZakaz != NULL) { // ak existujuci
//
//
printf("zakaznik =
%s",dat.DatZakaz->zakaznik.priezvisko);
dat.citProfil(dat.DatZakaz->zakaznik.id);//nacita
profil
infer.vypisZakInf(dat); // prihlaseny zakaznik
//
//
String cesta =
"databazy/Zakaznik/";
// nacita cestu k ulozenej
cesta = cesta +
dat.DatZakaz->zakaznik.zostava; // zostave...
dat.citZakZost(cesta); // nacita poslednu
}
else { // ak
novy tak zaregistruje
dat = infer.registrujZakaz(dat,
menoZak); // zaregistrje zakaznika
printf ("Zakaznik uspesne
registrovany!!!");
}
//ak uz registrovany zakaznik (stary)
ponukne ponuku na upgrade...
if(dat.DatZakaz->zakaznik.registr)
upgr = infer.zaujUpgr(dat);
else infer.zistiPoziad(dat); //ak stary zisti si o nom info...
//ak poziadavka o upgrade kladne ide upgradovat...
if(upgr) infer.upgrZost(dat);
printf("Uloha skoncena");
getchar();
getchar();
return 0;
}
//---------------------------------------------------------------------------
inferencie.cpp
//---------------------------------------------------------------------------
#include
<vcl.h>
#pragma hdrstop
#include
"inferencie.h"
//---------------------------------------------------------------------------
#pragma
package(smart_init)
void
inferenc::vypisZakInf(prDatab dat){
clrscr();
printf("%i",dat.DatZakaz->zakaznik.id);
printf("Priezvisko zakaznika:
%s\n",dat.DatZakaz->zakaznik.priezvisko);
printf("Bydlisko zakaznika:
%s\n",dat.DatZakaz->zakaznik.mesto);
if ( dat.DatZakaz->zakaznik.registr)
printf("Stary zakaznik...\n\n");
else printf("Novy
zakaznik...\n\n");
}
prDatab
inferenc::najdiZak(prDatab prDat, char *meno){
for (int i = 0; i <
prDat.DatZakazP->zakaznik.pocet; i++){
if(strcmp(prDat.DatZakaz->zakaznik.priezvisko,meno) == 0) return
prDat;
prDat.DatZakaz =
prDat.DatZakaz->next;
}
return prDat;
}
// na
zaregistrovanie zakaznika
prDatab
inferenc::registrujZakaz(prDatab prDat, char *priezvisko){
char telCis[15];
char mesto[20];
String zost = "zost_";
int id;
prDat.DatZakaz = prDat.DatZakazP;
while(prDat.DatZakaz != NULL){
if(prDat.DatZakaz->next == NULL){
prDat.DatZakaz->next = new
DBZakaznik();
break;
}
prDat.DatZakaz =
prDat.DatZakaz->next;
}
prDat.DatZakaz = prDat.DatZakaz->next;
clrscr();
//
//
OBTAIN
//
Zisti udaje
printf("Priezvisko zakaznika: %s\n",priezvisko);
strcpy(prDat.DatZakaz->zakaznik.priezvisko, priezvisko);
printf("telCis zakaznika: ");
scanf("%s",prDat.DatZakaz->zakaznik.telCis);
printf("Bydlisko (mesto): ");
scanf("%s",prDat.DatZakaz->zakaznik.mesto);
zost += priezvisko;
//
//
Registruj
//
strcpy(prDat.DatZakaz->zakaznik.zostava,
zost.c_str());
prDat.DatZakaz->zakaznik.id =
prDat.DatZakazP->zakaznik.pocet += 1;
prDat.DatZakaz->zakaznik.registr = false;
return prDat;
}
// OBTAIN
// Zisti
profil
//
prDatab
inferenc::vytProfil(prDatab prDat,int id){
int proc;
int graf;
int disk;
int monit;
int cena;
int nove;
printf(" Uprednostnit grafiku ATI(0)/NVIDIA(1)?
:");scanf("%i",&graf);
printf(" Uprednostnit disk
WD(0)/Seagate(1)? :");scanf("%i",&disk);
printf(" Uprednostnit monitor
LCD(0)/CRT(1)? :");scanf("%i",&monit);
if (graf == 0) strcpy(prDat.prof.grafika,
"ATI");
else strcpy(prDat.prof.grafika,
"NVIDIA");
if (disk == 0) strcpy(prDat.prof.disk,
"WD");
else strcpy(prDat.prof.disk,
"Seagate");
if (monit == 0) strcpy(prDat.prof.monitor,
"LCD");
else strcpy(prDat.prof.monitor,
"CRT");
return prDat;
}
// OBTAIN
//
bool
inferenc::zaujUpgr(prDatab dat){
Info info;
int proces;
int ram;
int graf;
int hard;
clrscr();
vypisZakInf(dat);
printf("\n Posledna zostava
\n\n");
dat.zobrazZost();
printf("\n\n");
printf("Zaujem o upgrade??
NIE(0)/ANO(1): "); scanf("%i",&info.zaujem);
if( info.zaujem == 0) return false;
else return true;
}
// OBTAIN
//
void inferenc::zistiPoziad(prDatab
dat){
int tmp;
poziad.hry = 0;
poziad.kanc = 0;
poziad.multim = 0;
vypisZakInf(dat);
printf("Pozadujete procesor??
INTEL(0)/AMD(1) : "); scanf("%i",&poziad.proces);
printf("Pouzivat najma na hry??
NIE(0)/ANO(1): "); scanf("%i",&poziad.hry);
if ( poziad.hry == 0){
printf("Pouzivat na multimedia??
NIE(0)/ANO(1): "); scanf("%i",&poziad.multim);
if ( poziad.multim == 0){
printf("Pouzivat v
kancelari?? NIE(0)/ANO(1):");
scanf("%i",&poziad.kanc);
}
}
if(poziad.hry == 0)
if(poziad.kanc == 0)
if(poziad.multim == 0){
printf(" Nedostatocne
kriteria...\n"); // ked si
nevybral ani jednu moznost
return; // tak program
konci
}
vykon.max = false;
vykon.mid = false;
vykon.min = false;
if (poziad.hry == 1) vykon.max = true;
else if (poziad.multim == 1) vykon.mid =
true;
else if (poziad.kanc == 1) vykon.min = true;
vyberZost(dat);
}
//
// UPGRADE
//
void
inferenc::upgrZost(prDatab dat){
int i=0;
int poc=0;
updatKompon(dat); //vybera komponenty na upgrade..
prefKompon(dat); //vyberie specificke podla profilu
//
//
dat.zakZost = tmpZost; // vytvori novu upgradovanu zostavu..
//zistenie ceny...
int cena =
dat.zakZost->zostava.doska.cena + dat.zakZost->zostava.mechan.cena +
dat.zakZost->zostava.hard.cena +
dat.zakZost->zostava.monit.cena +
dat.zakZost->zostava.pamat.cena +
dat.zakZost->zostava.procesor.cena +
dat.zakZost->zostava.grafika.cena;
dat.zakZost->zostava.celkCena =
cena;
printf("\nUpgradovana zostava:
\n\n");
dat.zobrazZost(); //zobrazi upgradovanu
zostavu
spokojnost(dat); //zistuje spokojnost
}
//
//
void
inferenc::vyberZost(prDatab dat){
vybZost = new
DBZostavy();
vybZostP = new
DBZostavy();
char typ[10];
char pr[10];
int vyber = 99;
if (vykon.max)
strcpy(typ,"GAME");
else if (vykon.mid)
strcpy(typ,"MULT");
else if (vykon.min)
strcpy(typ,"OFFICE");
if ( poziad.proces == 0) strcpy(pr,
"INTEL");
else if ( poziad.proces == 1)
strcpy(pr, "AMD");
dat.vsetky = dat.vsetkyP;
pocet = 0;
i = 0;
while (dat.vsetky != NULL){
//zistuje potrebne
poziadavky na vyber...
if ( (strcmp(dat.vsetky->zostava.typ,
typ ) == 0) &&
(strcmp(dat.vsetky->zostava.procesor.znacka, pr) == 0) ){
vybr[pocet] = i; // vyberie indexy moznych
zostav
pocet ++;
}
i ++;
dat.vsetky = dat.vsetky->next;
}
if(pocet > 1){
randomize();
vyber = random(pocet);
}
if (pocet == 1)
vyber = 0;
if(pocet != 0) {
dat.vsetky = dat.vsetkyP;
i = 0;
while (dat.vsetky != NULL){
if (i == vybr[vyber]){
dat.zakZost = dat.vsetky;
//vybrana zostava.....
}
i ++;
dat.vsetky = dat.vsetky->next;
}
//nacita (vytvori sa profil)
noveho uzivatela
printf("\n");
dat = vytProfil(dat,
dat.DatZakaz->zakaznik.id);
// vola
sa metoda na modifikaciu zostavy na
//zaklade profilu
modifZost(dat);
// ak
neexistuje taka zostava
}else {
printf(" Nemame taku
zostavu...");
getchar();
getchar();
exit (0);
}
}
//
//
void
inferenc::updatKompon(prDatab dat){
int vyber = 99;
int prah[2];
pocet = 0;
i = 0;
dat.DatKompon.kompon->grafika
= dat.DatKompon.kompon->grafikaP;
if(strcmp(dat.zakZost->zostava.typ,
"GAME") == 0) {
prah[0] =
dat.zakZost->zostava.grafika.rank; prah[1] = 11;
}
else
if(strcmp(dat.zakZost->zostava.typ, "MULT") == 0) {
prah[0] = dat.zakZost->zostava.grafika.rank;
prah[1] = 7;
}
else
if(strcmp(dat.zakZost->zostava.typ, "OFFICE") == 0) {
prah[0] =
dat.zakZost->zostava.grafika.rank; prah[1] = 5;
}
// vyberaju sa jednotlive
kompatibilne a aj mozne komponenty na vymenu
while(dat.DatKompon.kompon->grafika != NULL){
if(dat.DatKompon.kompon->grafika->rank >= prah[0] &&
dat.DatKompon.kompon->grafika->rank < prah[1] &&
strcmp(dat.DatKompon.kompon->grafika->slot,
dat.zakZost->zostava.chipSet.vgaPort) == 0 ){
vybrG[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->grafika
= dat.DatKompon.kompon->grafika->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->hard =
dat.DatKompon.kompon->hardP;
while(dat.DatKompon.kompon->hard != NULL){
if(strcmp(dat.DatKompon.kompon->hard->rozhr,
dat.zakZost->zostava.chipSet.rozhranie) == 0 &&
dat.DatKompon.kompon->hard->rank >
dat.zakZost->zostava.hard.rank){
printf("vyber:
%i",i);
vybrH[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->hard
= dat.DatKompon.kompon->hard->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monitP;
while(dat.DatKompon.kompon->monit != NULL){
if(
dat.DatKompon.kompon->monit->rank >=
dat.zakZost->zostava.monit.rank){
vybrM[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->monit
= dat.DatKompon.kompon->monit->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->procesor
= dat.DatKompon.kompon->procesorP;
while(dat.DatKompon.kompon->procesor != NULL){
if(strcmp(dat.DatKompon.kompon->procesor->socket,
dat.zakZost->zostava.chipSet.socket) == 0 &&
dat.DatKompon.kompon->procesor->rank >
dat.zakZost->zostava.pamat.rank &&
dat.DatKompon.kompon->procesor->rank < prah[1] ){
vybrP[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->procesor
= dat.DatKompon.kompon->procesor->next;
}
pocet1 = 0;
i = 0;
dat.DatKompon.kompon->pamat =
dat.DatKompon.kompon->pamatP;
while(dat.DatKompon.kompon->pamat != NULL){
if (
dat.DatKompon.kompon->pamat->rank > dat.zakZost->zostava.pamat.rank
&&
dat.DatKompon.kompon->pamat->rank < prah[1] ){
vybrR[pocet1] = i;
pocet1 ++;
}
i++;
dat.DatKompon.kompon->pamat
= dat.DatKompon.kompon->pamat->next;
}
}
//
// Vyber
komponenty ktore spolupracuju
//
void
inferenc::vyberKompon(prDatab dat){
int vyber = 99;
int prah[2];
pocet = 0;
i = 0;
dat.DatKompon.kompon->grafika
= dat.DatKompon.kompon->grafikaP;
if(poziad.hry == 1) { prah[0] =
7; prah[1] = 11; }
else if(poziad.multim == 1) {
prah[0] = 5; prah[1] = 7;}
else if(poziad.kanc == 1) {
prah[0] = 1; prah[1] = 5; }
if(strcmp(dat.zakZost->zostava.typ, "GAME") == 0) {
prah[0] =
dat.zakZost->zostava.grafika.rank; prah[1] = 11;
}
else
if(strcmp(dat.zakZost->zostava.typ, "MULT") == 0) {
prah[0] =
dat.zakZost->zostava.grafika.rank; prah[1] = 7;
}
else
if(strcmp(dat.zakZost->zostava.typ, "OFFICE") == 0) {
prah[0] =
dat.zakZost->zostava.grafika.rank; prah[1] = 5;
}
// vyberu sa
kompatibilne komponenty
while(dat.DatKompon.kompon->grafika != NULL){
if(dat.DatKompon.kompon->grafika->rank >= prah[0] &&
dat.DatKompon.kompon->grafika->rank
< prah[1] &&
strcmp(dat.DatKompon.kompon->grafika->slot,
dat.zakZost->zostava.chipSet.vgaPort) == 0 ){
printf("\n Peter
%s--%s",dat.DatKompon.kompon->grafika->znacka,dat.DatKompon.kompon->grafika->chip);
vybrG[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->grafika =
dat.DatKompon.kompon->grafika->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->hard =
dat.DatKompon.kompon->hardP;
while(dat.DatKompon.kompon->hard != NULL &&
dat.DatKompon.kompon->hard->rank >
dat.zakZost->zostava.hard.rank ){
if(strcmp(dat.DatKompon.kompon->hard->rozhr,
dat.zakZost->zostava.chipSet.rozhranie) == 0 ){
vybrH[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->hard
= dat.DatKompon.kompon->hard->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monitP;
while(dat.DatKompon.kompon->monit != NULL){
if
(dat.DatKompon.kompon->monit->rank >
dat.zakZost->zostava.monit.rank) {
vybrM[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->monit
= dat.DatKompon.kompon->monit->next;
}
pocet = 0;
i = 0;
dat.DatKompon.kompon->procesor
= dat.DatKompon.kompon->procesorP;
while(dat.DatKompon.kompon->procesor != NULL){
if(strcmp(dat.DatKompon.kompon->procesor->socket,
dat.zakZost->zostava.chipSet.socket) == 0 &&
dat.DatKompon.kompon->procesor->rank >= prah[0] &&
dat.DatKompon.kompon->procesor->rank < prah[1] ){
vybrP[pocet] = i;
pocet ++;
}
i++;
dat.DatKompon.kompon->procesor =
dat.DatKompon.kompon->procesor->next;
}
}
//
// Prefiltruj
//
//
// Vyber
komponentov na vymenu
//
void
inferenc::prefKompon(prDatab dat){
int vyber[5];
int vybrane;
tmpZost = new DBZostavy();
tmpZost = dat.zakZost;
// zistuje ktore komponenty su zelane na
zaklade profilu
i = 0;
tmp[0] = 0;
vybrane = 0;
dat.DatKompon.kompon->grafika =
dat.DatKompon.kompon->grafikaP;
while(dat.DatKompon.kompon->grafika != NULL){
if (i == vybrG[vybrane]){
if(strcmp(dat.prof.grafika, dat.DatKompon.kompon->grafika->chip
) == 0){
vybrG[tmp[0]] = i;
tmp[0]++;
}
vybrane ++;
}
i++;
dat.DatKompon.kompon->grafika =
dat.DatKompon.kompon->grafika->next;
}
i = 0;
tmp[1] = 0;
vybrane = 0;
dat.DatKompon.kompon->hard =
dat.DatKompon.kompon->hardP;
while(dat.DatKompon.kompon->hard
!= NULL){
if (i == vybrH[vybrane]){
if(strcmp(dat.prof.disk,
dat.DatKompon.kompon->hard->znacka ) == 0){
vybrH[tmp[1]] = i;
tmp[1]++;
}
vybrane ++;
}
i++;
dat.DatKompon.kompon->hard =
dat.DatKompon.kompon->hard->next;
}
i = 0;
tmp[2] = 0;
vybrane = 0;
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monitP;
while(dat.DatKompon.kompon->monit
!= NULL){
if (i == vybrM[vybrane]){
if(strcmp(dat.prof.monitor,
dat.DatKompon.kompon->monit->typ ) == 0){
vybrM[tmp[2]] = i;
tmp[2]++;
}
vybrane ++;
}
i++;
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monit->next;
}
tmp[3] = pocet;
tmp[4] = pocet1;
randomize();
for(int i = 0; i < 5; i++){
if(tmp[i] > 1){
vyber[i] = random(tmp[i]);
}
if (tmp[i] == 1)
vyber[i] = 0;
}
// vyber daneho komponentu
if (tmp[0] != 0){
dat.DatKompon.kompon->grafika =
dat.DatKompon.kompon->grafikaP;
i = 0;
while (dat.DatKompon.kompon->grafika
!= NULL){
if (i == vybrG[vyber[0]]){
//nastavi sa index na vybrany
komponent
//a nahradi sa
nahradKomp(dat,0);
}
i ++;
dat.DatKompon.kompon->grafika =
dat.DatKompon.kompon->grafika->next;
}
}
// vybera hard disk
if (tmp[1] != 0){
dat.DatKompon.kompon->hard =
dat.DatKompon.kompon->hardP;
i = 0;
while (dat.DatKompon.kompon->hard
!= NULL){
if (i == vybrH[vyber[1]]){
//nastavi sa index na vybrany
komponent
//a nahradi sa
nahradKomp(dat,1);
}
i ++;
dat.DatKompon.kompon->hard = dat.DatKompon.kompon->hard->next;
}
}
if (tmp[2] != 0){
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monitP;
i = 0;
while
(dat.DatKompon.kompon->monit != NULL){
if (i == vybrM[vyber[2]]){
//nastavi sa index na vybrany
komponent
//a nahradi sa
nahradKomp(dat,2);
}
i ++;
dat.DatKompon.kompon->monit =
dat.DatKompon.kompon->monit->next;
}
}
if (tmp[3] != 0){
dat.DatKompon.kompon->procesor =
dat.DatKompon.kompon->procesorP;
i = 0;
while
(dat.DatKompon.kompon->procesor != NULL){
if (i == vybrP[vyber[3]]){
//nastavi sa index na vybrany komponent
//a nahradi sa
nahradKomp(dat,3);
}
i ++;
dat.DatKompon.kompon->procesor
= dat.DatKompon.kompon->procesor->next;
}
}
if (tmp[4] != 0){
dat.DatKompon.kompon->pamat =
dat.DatKompon.kompon->pamatP;
i = 0;
while
(dat.DatKompon.kompon->pamat != NULL){
if (i == vybrR[vyber[3]]){
//nastavi sa index na vybrany
komponent
//a nahradi sa
nahradKomp(dat,4);
}
i ++;
dat.DatKompon.kompon->pamat =
dat.DatKompon.kompon->pamat->next;
}
}
}
//
void
inferenc::nahradKomp(prDatab dat, int typ){
if (typ == 0 && tmp[0] !=0) {
strcpy(tmpZost->zostava.grafika.znacka,
dat.DatKompon.kompon->grafika->znacka);
strcpy(tmpZost->zostava.grafika.typ,
dat.DatKompon.kompon->grafika->typ);
strcpy(tmpZost->zostava.grafika.slot,
dat.DatKompon.kompon->grafika->slot);
strcpy(tmpZost->zostava.grafika.chip,
dat.DatKompon.kompon->grafika->chip);
tmpZost->zostava.grafika.rank =
dat.DatKompon.kompon->grafika->rank;
tmpZost->zostava.grafika.cena =
dat.DatKompon.kompon->grafika->cena;
}
if(typ == 1 && tmp[1] != 0) {
strcpy(tmpZost->zostava.hard.znacka,
dat.DatKompon.kompon->hard->znacka);
strcpy(tmpZost->zostava.hard.velkost,
dat.DatKompon.kompon->hard->velkost);
strcpy(tmpZost->zostava.hard.rozhr,
dat.DatKompon.kompon->hard->rozhr);
strcpy(tmpZost->zostava.hard.cache,
dat.DatKompon.kompon->hard->cache);
tmpZost->zostava.hard.otacky =
dat.DatKompon.kompon->hard->otacky;
tmpZost->zostava.hard.rank
= dat.DatKompon.kompon->hard->rank;
tmpZost->zostava.hard.cena =
dat.DatKompon.kompon->hard->cena;
}
if(typ == 2 && tmp[2] != 0) {
strcpy(tmpZost->zostava.monit.znacka,
dat.DatKompon.kompon->monit->znacka);
strcpy(tmpZost->zostava.monit.popis,
dat.DatKompon.kompon->monit->popis);
strcpy(tmpZost->zostava.monit.typ,
dat.DatKompon.kompon->monit->typ);
tmpZost->zostava.monit.palce =
dat.DatKompon.kompon->monit->palce;
tmpZost->zostava.monit.rank
= dat.DatKompon.kompon->monit->rank;
tmpZost->zostava.monit.cena
= dat.DatKompon.kompon->monit->cena;
}
if(typ == 3 && tmp[3] !=0) {
strcpy(tmpZost->zostava.procesor.znacka,
dat.DatKompon.kompon->procesor->znacka);
strcpy(tmpZost->zostava.procesor.typ,
dat.DatKompon.kompon->procesor->typ);
strcpy(tmpZost->zostava.procesor.oznac,
dat.DatKompon.kompon->procesor->oznac);
strcpy(tmpZost->zostava.procesor.socket,
dat.DatKompon.kompon->procesor->socket);
tmpZost->zostava.procesor.rank =
dat.DatKompon.kompon->procesor->rank;
tmpZost->zostava.procesor.cena =
dat.DatKompon.kompon->procesor->cena;
}
if(typ == 4 && tmp[4] !=0) {
strcpy(tmpZost->zostava.pamat.znacka,
dat.DatKompon.kompon->pamat->znacka);
strcpy(tmpZost->zostava.pamat.velkost,
dat.DatKompon.kompon->pamat->velkost);
strcpy(tmpZost->zostava.pamat.zbernica, dat.DatKompon.kompon->pamat->zbernica);
tmpZost->zostava.pamat.rank
= dat.DatKompon.kompon->pamat->rank;
tmpZost->zostava.pamat.cena
= dat.DatKompon.kompon->pamat->cena;
}
}
//
// MODIFIKUJ
//
void inferenc::modifZost(prDatab
dat){
char typ[10];
int i=0;
int poc=0;
vyberKompon(dat); // vyber komponentov na
vymenu
prefKompon(dat); // vyber podla profilu
//
//
dat.zakZost = tmpZost;
//zisti sa cena
int cena =
dat.zakZost->zostava.doska.cena + dat.zakZost->zostava.mechan.cena +
dat.zakZost->zostava.hard.cena +
dat.zakZost->zostava.monit.cena +
dat.zakZost->zostava.pamat.cena +
dat.zakZost->zostava.procesor.cena +
dat.zakZost->zostava.grafika.cena;
dat.zakZost->zostava.celkCena =
cena;
printf("\nZostava: \n\n");
dat.zobrazZost(); // zobrazi sa zostava
printf("\n");
spokojnost(dat); // zistuje spokojnost
}
// OBTAIN
void
inferenc::spokojnost(prDatab dat){
Info info;
printf(" Spokojny?? NIE(0)/ANO(1)
:"); scanf("%i",&info.spokojnost);
if( info.spokojnost == 1) { //spokojny
printf(" Sme radi, ze sme Vam
mohli pomoct...\n\n");
ulozZak(dat);
}else { //nespokojny
printf(" Skoda, ze Vam nemozme
pomoct...\n\n");
}
getchar();
getchar();
exit (0);
}
// ulozi
zakaznika do databazy
void
inferenc::ulozZak(prDatab prDat){
prDat.ulozZost();
prDat.ulozZak();
prDat.ulozProf();
}