![]() |
1,216,863 Üye | 460,209 Konu | 4,520,464 Mesaj | 3935 Online |
![]() ![]() ![]() ![]() |
|
|||||||
![]() |
|
|
LinkBack | Seçenekler | Stil |
|
|
#1 |
|
Bir hastaneye tedavi için gelen hastaların kaydını tutan bir c++ kodu yazmam gerekiyordu. Gerekli bütün fonksiyonları hazırladım, menüyü de tamamladım. Bütün hataları düzelttim ancak sadece 1 hata kaldı:
error C2661: 'CPacient::CPacient' : no overloaded function takes 3 parameters Visual C++ 6.0 ile derledim. Saatlerce uğraştım ancak bu hatayı çözemedim. Parantez içindeki 3 değişkeni sildiğimde derleme tamamlanıyor ancak bu sefer de menü içindeki diğer fonksiyonlar çalışmıyor. Kod uzun gelebilir, ancak hata sadece birkaç satır ile alakalı. Anlıyorsanız fazla vaktinizi almaz. Yardım ederseniz çok sevinirim. Kod:
#include<iostream>
#include<vector>
#include<string>
#include<conio.h>
#include<algorithm>
using namespace std;
class CPacient
{
string zaboliavane;
int poseshtenia;
public:
CPacient(string zaboliavane,unsigned poseshtenia)
{
zaboliavane = zaboliavane;
poseshtenia = poseshtenia;
}
CPacient(const CPacient &cc)
{
zaboliavane = cc.zaboliavane;
poseshtenia = cc.poseshtenia;
}
string getzaboliavane() const
{
return zaboliavane;
}
unsigned getposeshtenia() const
{
return poseshtenia;
}
void setzaboliavane(string zaboliavane)
{
zaboliavane = zaboliavane;
}
void setposeshtenia(unsigned poseshtenia)
{
poseshtenia = poseshtenia;
}
unsigned carOld()
{
return 2007-poseshtenia;
}
CPacient &operator=(const CPacient &cc2)
{
zaboliavane = cc2.zaboliavane;
poseshtenia = cc2.poseshtenia;
return *this;
}
void output(ostream& stream)
{
stream<<zaboliavane<<", "<<poseshtenia<<endl;
}
void input(istream& stream)
{
stream>>zaboliavane>>poseshtenia;
}
friend ostream &operator<<(ostream& stream,CPacient cc);
friend istream &operator>>(istream& stream,CPacient &cc);
};
istream &operator>>(istream& stream,CPacient &cc)
{
cc.input(stream);
return stream;
}
ostream &operator<<(ostream& stream,CPacient cc)
{
cc.output(stream);
return stream;
}
int operator<(CPacient c1,CPacient c2)
{
return c1.getposeshtenia()<c2.getposeshtenia();
}
int operator==(CPacient c1,CPacient c2)
{
return c1.getposeshtenia()==c2.getposeshtenia();
}
class PacientInfo: public CPacient
{
string ime;
string dispanseriziran;
unsigned sbl;
public:
PacientInfo():CPacient("","",0)
{
ime = "";
dispanseriziran = "";
sbl = 0;
}
PacientInfo(string ime,string dispanseriziran,unsigned sbl,string zaboliavane,unsigned poseshtenia):CPacient(zaboliavane, poseshtenia)
{
ime = ime;
dispanseriziran = dispanseriziran;
sbl= sbl;
}
string getime()
{
return ime;
}
string getdispanseriziran() const
{
return dispanseriziran;
}
unsigned getsbl()
{
return sbl;
}
PacientInfo &operator=(const PacientInfo &cc2)
{
ime = cc2.ime;
dispanseriziran = cc2.dispanseriziran;
sbl = cc2.sbl;
setposeshtenia(cc2.getposeshtenia());
setzaboliavane(cc2.getzaboliavane());
return *this;
}
};
bool operator<(PacientInfo c1,PacientInfo c2)
{
return c1.getposeshtenia()>c2.getposeshtenia();
}
void sorts(vector<PacientInfo>& v)
{
sort(v.begin(),v.end());
for(register int i = 0;i<v.size();i++)
{
cout<<v[i].getime()<<" "<<v[i].getzaboliavane()<<endl;
}
}
void dispanseriziranPacient(vector<PacientInfo> v,string dispanseriziran)
{
for(register int i = 0;i<v.size();i++)
{
if(v[i].getdispanseriziran()==dispanseriziran)
{
cout<<"Ime:"<<v[i].getime()<<" "<<"Sumata na bezplatni lekarstva: "<<v[i].getsbl()<<endl;
}
}
}
void maxPoseshtenia(vector<PacientInfo> &v)
{
int max = v[0].getposeshtenia();
int tempI = 0;
for(register int i = 0;i<v.size();i++)
{
if(max<v[i].getposeshtenia())
{
max = v[i].getposeshtenia();
tempI = i;
}
}
cout<<"Pacientyt koito e s nai goliam broi poseshtenia e : "<<max<<" "<<v[tempI].getime()<<endl;
}
void minPoseshtenia(vector<PacientInfo> &v)
{
int min = v[0].getposeshtenia();
int tempI = 0;
for(register int i = 0;i>v.size();i--)
{
if(min>v[i].getposeshtenia())
{
min = v[i].getposeshtenia();
tempI = i;
}
}
cout<<"Pacientyt koito e s nai malyk broi poseshtenia e : "<<min<<" "<<v[tempI].getime()<<endl;
}
void Suma(vector<PacientInfo> &v,int a,int b)
{
for(register int i = 0;i<v.size();i++)
{
if(v[i].getsbl()>=a&&v[i].getsbl()<=b)
{
cout<<v[i].getzaboliavane()<<": "<<v[i].getsbl()<<" lv."<<endl;
}
}
}
int izbor=0;
void menu()
{
do
{
cout<<endl<<"******* MENU *******"<<endl<<endl;
cout<<"1. Vyvejdane na danni"<<endl;
cout<<"2. Sortirane na pacienti po zaboliavane"<<endl;
cout<<"3. Max. i min. broi poseshtenia"<<endl;
cout<<"4. Broja na vsichki dispanserizirani"<<endl;
cout<<"5. Sortirane po sumite na bezplatnite lekarstva"<<endl;
cout<<"6. Izhod"<<endl;
cout<<"Izberete neshto ot menu (1-6) : ";
cin>>izbor;
cout<<endl;
}
while(izbor<1||izbor>6);
}
void main()
{
int a,i;
vector<PacientInfo> pt;
string ime;
string dispanseriziran;
unsigned sbl;
string zaboliavane;
unsigned poseshtenia;
do{
menu();
switch(izbor)
{
case 1:
{
cout<<"Za kolko pacienti shte vyvedete dannite? "<<endl;
cin>>a;
for(i=0;i<a;i++)
{
cout<<"Vyvedete imeto na pacienta: "<<endl;
cin>>ime;
cout<<"Pacientyt dispanseriziran li e? (Vyvedete 'da' ili 'ne') "<<endl;
cin>>dispanseriziran;
cout<<"Vyvedete broja poseshtenia za poslednata godina: "<<endl;
cin>>poseshtenia;
cout<<"Suma na izpisanite bezplatni lekarstva (po Leva) : "<<endl;
cin>>sbl;
cout<<"Zaboliavane (imeto na bolestta): "<<endl;
cin>>zaboliavane;
PacientInfo ob(ime,dispanseriziran,sbl, zaboliavane, poseshtenia);
pt.push_back(ob);
}
break;
}
case 2:
{
cout<<"Sortirane na pacientite po zaboliavane:"<<endl<<endl;
sorts(pt);
break;
}
case 3:
{
maxPoseshtenia(pt);
minPoseshtenia(pt);
break;
}
case 4:
{
dispanseriziranPacient(pt,"da");
break;
}
case 5:
{
int a,b;
cout<<"Bezplatnite lekarstva sys suma pod 100 leva:"<<endl;
a=0;
b=100;
Suma(pt,a,b);
cout<<"Bezplatnite lekarstva sys suma mejdu 100 i 1000 leva:"<<endl;
a=101;
b=1000;
Suma(pt,a,b);
cout<<"Bezplatnite lekarstva sys suma nad 1000 leva:"<<endl;
a=1001;
b=65535;
Suma(pt,a,b);
break;
}
}
}while(izbor!=6);
}
|
|
|
|
|

Tüm yerli ve yabancı
diziler HHİzle'de siz dizi severler ile buluşuyor.
|
|
#2 |
|
Merhaba, kod uzun olduğu için fazla inceleyemedim ama sorunun şu olduğu kanaatindeyim:
CPacient sınıfından türettiğin PacientInfo sınıfına ait şu kurucu fonksiyonda PacientInfo():CPacient("","",0) { ime = ""; dispanseriziran = ""; sbl = 0; } CPacient sınıfına ait olan(aslında olmayan) CPacient("","",0) kurucu fonksiyonunu çağırmışsın. işte sorunda tam burada: CPacient sınıfında 3 argüman alan bir kurucu yok. başka sorun olursa yardımcı olmaya çalışırım. |
|
|
|
|
| Bu mesaj için jokey kullanıcısına teşekkür edenler: | moonlife1 (03-06-2009) |

Tüm yerli ve yabancı
diziler HHİzle'de siz dizi severler ile buluşuyor.
![]() |
| Etiketler |
| function, hata, kodumda, overloaded, parameters, takes |
| Seçenekler | |
| Stil | |
|
|
|
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:46 PM.
|
| Forum | Yasal Uyarı | HH |
|
Kullanılan Portal Sürümü : HH Portal Script Sürümü : vBulletin Version 3.8.4 PL1 Seo Yazılımı : vBSEO ©2009, Crawlability, Inc Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Sitemiz Internet Explorer 6+, Firefox 2.0.0.14+, Opera 9.52+, Safari 3.1.2+, Chrome 0.2.153.1+ ve 1024x768+ Ekran Çözünürlüğünde Test Edilmiştir. Sponsor Bağlantı : dövme | mirc indir | dövme | mirc | sohbet | sohbet | msn show |
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı
amaç edinmiştir. Sitemiz, 5651 sayılı yasada
tanımlanan .yer sağlayıcı. olarak hizmet
vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri
kontrol etme yükümlülüğü yoktur. Bu sebeple, sitemiz .uyar
ve kaldır. prensibini benimsemiştir. Telif hakkına konu olan eserlerin
yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini
düşünen hak sahipleri veya meslek birlikleri,
abuse@hackhell.com mail adresinden bize
ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından
incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler
sitemizden kaldırılacaktır. Ayrıca, mahkemelerden talep gelmesi halinde hukuka
aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için
gerekli teknik veriler sağlanacaktır.
|
|