Treść zadania:
Napisz program zawierający klasę Komputer posiadającą pola prywatne:
procesor, kartaGraficzna, częstotliwość,pojemność dysku,ilośćPamięci.
Klasa powinna posiadać dwa konstruktory:
– ustawiający nazwę procesora i karty graficznej
– ustawiający nazwę procesora, nazwę karty graficznej oraz pojemność dysku
Zaimplementuj metody pozwalające na ustawienie i wyświetlanie wszystkich pól klacy Komputer.Zaproponuj funkcje przeciążające operatory porównania(<,>)w celu porównania pojemności dysku komputerów.
Poniżej zamieszczam to co udało mi się napisać, ale mój problem jest taki czy ten przeciążony operator jest dobrze zrobiony, jeśli nie to co mam zmienić, i druga sprawa jak się dostać później już normalnie w main() do tej funkcji wpisz() która jest zdefiniowana w klasie. Bo chce żeby mi się na ekranie wyświetlały te wszystkie zapytania o podanie tych danych dla komputera.
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
class komputer{
char cpu[40];
char grafika[40];
int czestotliwosc;
int hdd;
int ram;
public:
void wpisz()
{
char nazwa1,nazwa2;
int f,dysk,Ram;
cout<<"nazwa procesora :"<<endl;
cin>>nazwa1;
cout<<"nazwa karty graficznej: "<<endl;
cin>>nazwa2;
cout<<"czestotliwosc procesora: "<<endl;
cin>>f;
cout<<"pojemnosc dysku twardego: "<<"GB"<<endl;
cin>>dysk;
cout<<"RAM :"<<endl;
cin>>Ram;
};
void wypisz(){
cout<<"nazwa procesora :"<<cpu<<endl;
cout<<"nazwa karty graficznej: "<<grafika<<endl;
cout<<"czestotliwosc procesora: "<<czestotliwosc<<endl;
cout<<"pojemnosc dysku twardego: "<<hdd<<"GB"<<endl;
cout<<"RAM :"<<ram<<endl;
};
komputer( char * nazwa1, char * nazwa2){
strcpy(cpu,nazwa1);
strcpy(grafika,nazwa2);
};
komputer(char * nazwa1,char *nazwa2,int dysk){
strcpy(cpu,nazwa1);
strcpy(grafika,nazwa2);
hdd=dysk;
};
komputer komp3( char*nazwa1,char*nazwa2, int f,int dysk ,int Ram){
strcpy(cpu,nazwa1);
strcpy(grafika,nazwa2);
czestotliwosc=f;
hdd=dysk;
ram=Ram;
};
////////////////////////////////
bool operator < ( komputer komp) ;
};
bool komputer::operator < (komputer komp)
{
if(this->hdd<komp.hdd)
return true;
else
return false;
}
/////////////////////////////////////
int main()
{
komputer komp1("Celeron","Radeon");
komputer komp2("Pentium4","NVidia",140);
komputer komp4("Pentium3","Radeon",50);
//komputer komp3(char*nazwa1,char*nazwa2,int f,int dysk ,int Ram);
komp2.wypisz();
komp4.wypisz();
cout<<endl;
cout<<endl;
if(komp4<komp2) { cout << " Drugi komputer ma wiekszy dysk" << endl; }
else { cout << " Pierwszy komputer ma wiekszy dysk" << endl; };
cout<<endl;
cout<<endl;
system ("pause");
return 0;
}