PDA

View Full Version : giup em bai` class nay voi'



macnhuocphi
20-05-2009, 22:22
em nói tóm tắt đề bài cho các anh em dễ hui? :
class nguoi: họ tên,địa chỉ,sdt;
class sinhvien kế thừa class người thêm mã sv,lop,khoa
class mon : mã môn, tên môn,dvht
class dk: là bạn của class sinhvien va class mon
yeu cau
1.nhập thêm 1 sinh viên(code của em là hàm nhapsv() )
2.nhập thêm 1 môn (code của em là hàm nhapsv())
3.đăng ký cho mỗi sv ít nhât 3 môn học. >>> cái này khó wa nếu mỗi 1 sv dk 1 môn học em làm dc chứ it nhất 3 môn hơi phiền em dùng mảng để gán nhưng hok hỉu sai chỗ nào mà hok gán đc

code của em


#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<fstream.h>
class nguoi
{
protected:
char ten[20],dc[20],dt[20];
} ;
class sv:public nguoi
{
char ma[20],lop[20],khoa[20];
public:
void show()
{
cout<<ten<<" "<<dc<<" "<<dt<<" "<<ma<<" "<<lop<<" "<<khoa<<endl;
}
void into(char *s1,char *s2,char *s3,char *s4, char *s5,char *s6)
{
strcpy(ten,s1);
strcpy(dc,s2);
strcpy(dt,s3);
strcpy(ma,s4);
strcpy(lop,s5);
strcpy(khoa,s6);
}
friend class dk;
}ds1;
class mon
{
private:
char mam[20],tenm[20];
int dvht;
public:
void show1()
{
cout<<mam<<" "<<tenm<<" "<<dvht;
}
void into1(char *x1,char *x2,int a)
{
strcpy(mam,x1);
strcpy(tenm,x2);
dvht=a;
}
char *getmam(){return mam;}
friend class dk;
}ds2;
class dk
{
private:
sv a;
mon b,c[10];
public:

void shownguoi()
{
a.show();
// for(int k=0;k<n;k++) cho nay em muon in ra cac mon dc
// dang ky
// c[k].show1();
}
char *getten()
{
return(a.ten);
}
char *getmam()
{
return(b.mam);
}
void setsv(sv temp){a=temp;}
void setmon(mon m){int k=0; c[k]=m;k++;}
}ds;
int kt1(char s[30])// ham nay de? nhap lai ma neu trung hoi dai` anh nao co the chinh ngan hon giup em dc ko
{
fstream f("SV.DAT",ios::in|ios::binary);
while(f.read((char*)(&ds),sizeof(ds)))
if(strcmp(s,ds.getten())==0)
{
cout<<"ma da trung moi nhap lai !";
f.close();
return 0;
}
f.close();
return 1;
}
int kt2(char s[30])
{
fstream f("mon.DAT",ios::in|ios::binary);
while(f.read((char*)(&ds),sizeof(ds)))
if(strcmp(s,ds.getmam())==0)
{
cout<<"ma da trung moi nhap lai !";
f.close();
return 0;
}
f.close();
return 1;
}
void nhapsv()
{
char s1[20],s2[20],s3[20],s4[20],s5[20],s6[20];
fstream f("SV.DAT",ios::app|ios::binary);
cout<<"nhap ten sv"; fflush(stdin); gets(s1);
cout<<"nhap dc sv"; fflush(stdin); gets(s2);
cout<<"nhap dt sv"; fflush(stdin); gets(s3);
cout<<"nhap ma sv"; fflush(stdin); gets(s4);
while(kt1(s4)==0) gets(s4);
cout<<"nhap lop sv"; fflush(stdin); gets(s5);
cout<<"nhap khoa sv"; fflush(stdin); gets(s6);
ds1.into(s1,s2,s3,s4,s5,s6);
f.write((char*)(&ds1),sizeof(ds1));
f.close();
}
void nhapmon()
{
char x1[20],x2[20];
int a1;
fstream f1("mon.DAT",ios::app|ios::binary);
cout<<"nhap ma mon"; fflush(stdin); gets(x1);
while(kt2(x1)==0) gets(x1);
cout<<"nhap ten mon"; fflush(stdin); gets(x2);
cout<<"nhap so dvht"; cin>>a1;
ds2.into1(x1,x2,a1);
f1.write((char*)(&ds2),sizeof(ds2));
f1.close();
}
void nhapdk()
{
char ss[20],x1[20],x2[20];
int a1;
sv s[10];
mon m[10];
dk k[20];
int i=0,j=0,n1,n2,n;
fstream f("SV.DAT",ios::in|ios::binary);
fstream f1("mon.DAT",ios::in|ios::binary);
fstream f2("DK.DAT",ios::app|ios::binary);
while(f.read((char*)(&s[i]),sizeof(s[i])))
{
i++;
}
n1=i;
while(f1.read((char*)(&m[j]),sizeof(m[j])))
{
j++;
}
n2=j;
for(i=0;i<n1;i++)
{
k[i].setsv(s[i]);
s[i].show();
cout<<"nhap so luong mon dk";
cin>>n;
for(i=0;i<n;i++)
{
fflush(stdin); gets(ss);
for(j=0;j<n2;j++)
if(strcmp(ss,m[j].getmam())==0)
k[i].setmon(m[j]);
}
f2.write((char*)(&k[i]),sizeof(k[i]));
}
f.close();
f1.close();
f2.close();
}

void main()
{

//nhapsv();
// nhapmon();
nhapdk();

getch();
}


[=========> Bổ sung bài viết <=========]

giúp em với em đang rất càn

[=========> Bổ sung bài viết <=========]

hjz các pro đừng lười giúp em đi