Witam, definiuje klasę osoba tutaj mój kod:
#include <iostream>
#include <conio.h>
#include <string>
#include <cassert>
class Osoba
{
public:
std::string pierwszeimie;
std::string drugieimie;
std::string nazwisk;
int IleImion();
std::string Imie();
std::string Imiona();
std::string Nazwisko();
std::string ImionaINazwisko();
std::string InicjalyINazwisko();
};
int Osoba::IleImion()
{
int liczbaimion;
if(drugieimie=="")
{
liczbaimion=1;
std::cout<<liczbaimion<<"\n";
}
else
{
liczbaimion=2;
std::cout<<liczbaimion<<"\n";
}
return liczbaimion;
}
std::string Osoba::Imie()
{
std::cout<<pierwszeimie<<"\n";
return pierwszeimie;
}
std::string Osoba::Imiona()
{
std::string imio;
if(drugieimie=="")
{
imio=pierwszeimie;
std::cout<<imio<<"\n";
}
else
{
imio=pierwszeimie+" "+drugieimie;
std::cout<<imio<<"\n";
}
return imio;
}
std::string Osoba::Nazwisko()
{
std::cout<<nazwisk<<"\n";
return nazwisk;
}
std::string Osoba::ImionaINazwisko()
{
std::string imieinazwisko;
if(drugieimie=="")
{
imieinazwisko=pierwszeimie+" "+nazwisk;
std::cout<<imieinazwisko<<"\n";
}
else
{
imieinazwisko=pierwszeimie+" "+drugieimie+" "+nazwisk;
std::cout<<imieinazwisko<<"\n";
}
return imieinazwisko;
}
std::string Osoba::InicjalyINazwisko()
{
std::string inicjaly;
if(drugieimie=="")
{
inicjaly=pierwszeimie[1]+". "+nazwisk;
std::cout<<inicjaly;
}
else
{
inicjaly=pierwszeimie[1]+". "+drugieimie[1]+" "+nazwisk;
std::cout<<inicjaly;
}
return inicjaly;
}
int main()
{
Osoba czlowiek;
czlowiek.pierwszeimie="Jan";
czlowiek.drugieimie="Karol";
czlowiek.nazwisk="Wscieklica";
czlowiek.Imie();
czlowiek.IleImion();
czlowiek.Imiona();
czlowiek.Nazwisko();
czlowiek.ImionaINazwisko();
czlowiek.InicjalyINazwisko();
}
I teraz tak, nie wypisuje mi inicjałów i jeszcze chciałbym tą osobe człowiek tworzyć w taki sposób:
Osoba czlowiek("Jan","Karol","Wscieklica"); ale wtedy program nie działa, próbowałem to jakoś naprawić ale mi nie wychodzi. Gdyby ktoś mógłby mi pomóc byłbym wdzięczny, pozdrawiam serdczenie