BARTOSZ NOWAK, GR. 14, ID, WIMiR
SPRAWOZDANIE Z ĆWICZEŃ NR. 9
DATA: 06.05.2009r
ZADANIE 1+2
//Cwiczenia 9 C++3 zadanie 1+2 Bartosz Nowak gr 14 ID
using namespace std;
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <fstream>
class budynek
{
private:
int lpiet;
int lpom;
int pow;
int los;
int lok;
int lokall;
int losall;
int powall;
public:
void wpiszlpiet(int x);
void wpiszlpom(int x);
void wpiszpow(int x);
void wpiszlos(int x);
void wpiszlok(int x);
void pokazlpiet();
void pokazlpom();
void pokazpow();
void pokazlos();
void pokazlok();
void pokazlokall();
void pokazlosall();
void pokazpowall();
void operator++();
int operator+(budynek x);
int retlpiet();
int retlpom();
int retpow();
int retlos();
int retlok();
budynek();
budynek(int a,int b,int c,int d, int e);
};
void budynek::wpiszlpiet(int x)
{
lpiet=x;
}
void budynek::wpiszlpom(int x)
{
lpom=x;
}
void budynek::wpiszpow(int x)
{
pow=x;
}
void budynek::wpiszlos(int x)
{
los=x;
}
void budynek::wpiszlok(int x)
{
lok=x;
}
void budynek::pokazlpiet()
{
cout<<"jest "<<lpiet<<" pieter"<<endl;
}
void budynek::pokazlpom()
{
cout<<"jest "<<lpom<<" pomieszczen na pietrze"<<endl;
}
void budynek::pokazpow()
{
cout<<"kazde pomieszczenie ma "<<pow<<" metrow kwadratowych"<<endl;
}
void budynek::pokazlos()
{
cout<<"w kazdym pomieszczeniu moze byc "<<los<<" osob"<<endl;
}
void budynek::pokazlok()
{
cout<<"w kazdym pomieszczeniu jest "<<lok<<" okien"<<endl;
}
void budynek::pokazlokall()
{
lokall=lok*lpom*lpiet;
cout<<"w budynku jest "<<lokall<<" okien"<<endl;
}
void budynek::pokazlosall()
{
losall=los*lpom*lpiet;
cout<<"w budynku moze byc "<<losall<<" osob"<<endl;
}
void budynek::pokazpowall()
{
powall=pow*lpom*lpiet;
cout<<"powierzchnia uzytkowa budynku to: "<<powall<<" metrow kwadratowych"<<endl;
}
budynek::budynek()
{
}
budynek::budynek(int a,int b,int c,int d, int e)
{
lpiet=a;
lpom=b;
pow=c;
los=d;
lok=e;
}
void budynek::operator++()
{
lpiet=lpiet+1;
}
int budynek::operator+(budynek x)
{
int a,b;
a=pow*lpom*lpiet;
b=x.pow*x.lpom*x.lpiet;
return a+b;
}
int budynek::retlpiet()
{
return lpiet;
}
int budynek::retlpom()
{
return lpom;
}
int budynek::retpow()
{
return pow;
}
int budynek::retlos()
{
return los;
}
int budynek::retlok()
{
return lok;
}
int main (int argc, char *argv[])
{
budynek budynek1;
budynek1.wpiszlpiet(7);
budynek1.wpiszlpom(8);
budynek1.wpiszpow(78);
budynek1.wpiszlos(3);
budynek1.wpiszlok(5);
budynek budynek2(100,10,5,75,3);
budynek budynek3(4,2,50,4,5);
cout<<"Budynki:"<<endl;
cout<<endl;
cout<<"Budynek1:"<<endl;
budynek1.pokazlpiet();
budynek1.pokazlpom();
budynek1.pokazpow();
budynek1.pokazlos();
budynek1.pokazlok();
budynek1.pokazlokall();
budynek1.pokazlosall();
budynek1.pokazpowall();
cout<<endl;
cout<<"Budynek2:"<<endl;
budynek2.pokazlpiet();
budynek2.pokazlpom();
budynek2.pokazpow();
budynek2.pokazlos();
budynek2.pokazlok();
budynek2.pokazlokall();
budynek2.pokazlosall();
budynek2.pokazpowall();
cout<<endl;
cout<<"Budynek3:"<<endl;
budynek3.pokazlpiet();
budynek3.pokazlpom();
budynek3.pokazpow();
budynek3.pokazlos();
budynek3.pokazlok();
budynek3.pokazlokall();
budynek3.pokazlosall();
budynek3.pokazpowall();
cout<<endl;
cout<<"Powierzchnia budynkow 1 i 2 wynosi: "<<budynek1+budynek2<<" metrow kwadratowych"<<endl;
cout<<endl;
++budynek3;
cout<<"W budynku3 po dodaniu jednego pietra ";
budynek3.pokazlpiet();
cout<<endl;
cout<<endl;
cout<<"Aby zamknac nacisnij enter...";
ofstream plik("budynki.txt",ios::app);
plik<<"Liczba pieter w budynku3: ";
int x;
x=budynek3.retlpiet();
plik<<x;
plik<<"\n";
plik<<"Liczba pomieszczen w budynku3: ";
x=budynek3.retlpom();
plik<<x;
plik<<"\n";
plik<<"Powierzchnia jednego pomieszczenia w budynku3: ";
x=budynek3.retpow();
plik<<x;
plik<<"\n";
plik<<"Liczba osob mogaca zmiescic sie w jednym pomieszczeniu budynku3: ";
x=budynek3.retlos();
plik<<x;
plik<<"\n";
plik<<"Liczba okien w jednym pomieszczeniu budynku3: ";
x=budynek3.retlok();
plik<<x;
plik<<"\n";
plik.close();
cin.get();
return 0;
}
ZADANIE 3
//Cwiczenia 7 C++1 zadanie 10 Bartosz Nowak gr 14 ID
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
class osoba
{
private:
string imie;
string nazwisko;
int wzrost;
int wiek;
bool plec;
public:
void wpisz_dane();
void wyswietl();
void czysc();
osoba();
osoba(string a,string b,int c,int d, bool e);
string retimie();
string retnazwisko();
int retwzrost();
int retwiek();
bool retplec();
};
void osoba::wpisz_dane()
{
string a;
string b;
int c;
int d;
bool e;
string f;
string g;
cout << "Podaj imie:";
cin >> a;
cout << "Podaj nazwisko:";
cin >> b;
cout << "Podaj wzrost:";
cin >> c;
cout << "Podaj wiek";
cin >> d;
cout << "Podaj plec";
cin >> e;
imie=a;
nazwisko=b;
wzrost=c;
wiek=d;
plec=e;
}
void osoba::wyswietl()
{
cout<<"Imie:"<<imie<<endl;
cout<<"Nazwisko:"<<nazwisko<<endl;
cout<<"Wzrost:"<<wzrost<<endl;
cout<<"Wiek:"<<wiek<<endl;
cout<<"Plec:"<<plec<<endl;
}
void osoba::czysc()
{
imie="Jan";
nazwisko="Kowalski";
wzrost=0;
wiek=0;
plec=0;
}
osoba::osoba()
{
imie="Jan";
nazwisko="Kowalski";
wzrost=0;
wiek=0;
plec=0;
}
osoba::osoba(string a,string b,int c,int d, bool e)
{
imie=a;
nazwisko=b;
wzrost=c;
wiek=d;
plec=e;
}
string osoba::retimie()
{
return imie;
}
string osoba::retnazwisko()
{
return nazwisko;
}
int osoba::retwzrost()
{
return wzrost;
}
int osoba::retwiek()
{
return wiek;
}
bool osoba::retplec()
{
return plec;
}
int main(int argc, char *argv[])
{
char znak;
string a,tab[4];
bool plec;
int i;
fstream plik;
plik.open("osoba.txt",ios::in);
plik.seekg(0);
a="";
i=0;
while(!plik.eof())
{
znak=plik.get();
if(znak==32)
{
tab[i]=a;
i++;
a="";
}
else a=a+znak;
}
if (tab[4]=="1")plec=1;
else plec=0;
osoba os1(tab[0],tab[1],atoi(tab[2].c_str()),atoi(tab[3].c_str()),plec);
plik.close();
os1.wyswietl();
ofstream plik2("osoba1.txt",ios::app);
a=os1.retimie();
plik2<<a;
plik2<<"\n";
a=os1.retnazwisko();
plik2<<a;
plik2<<"\n";
i=os1.retwzrost();
plik2<<i;
plik2<<"\n";
i=os1.retwiek();
plik2<<i;
plik2<<"\n";
plec=os1.retplec();
plik2<<plec;
plik2<<"\n";
plik2.close();
cin.get();
system("PAUSE");
return 0;
}