# Đề tài: Bài toán QLSV viết băng C++

1. Thành viên mới
Ngày gia nhập
12 2007
Bài viết
0

## Bài toán QLSV viết băng C++

Code:
```#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
class nguoi
{
private:
char h0[10],ten[10];
int lop,gioitinh,ns;
public:
void nhap()
{
cout<<"\n nhap ho cua sinh vien :";
cin.ignore(1);
cin.get(h0,10);
cout<<"\n nhap ten cua sinh vien :";
cin.ignore(1);
cin.get(h0,10);
cout<<"\n nhap lop sinh vien dang hoc";
cin>>lop;
cout<<"\n nhap nam sinh :";
cin>>ns;
cout<<"\n nhap gioi tinh";
while(1)
{
cin>>gioitinh;
if((gioitinh==0)||(gioitinh==1)
break;
else
cout<<"\n nhap lai gioi tinh";
}
}
void hien()
{
cout<<setw(10)<<h0<<setw(10)<<ten<<setw(5)<<gioitinh<<<<setw(5)<<ns<<setw(5)<<lop;
}
int traveten()
{
return ten();
}
};

class diem
{
private:
float csdl,mmt,ctdl,java,trituent,lthdt,moncs,moncn;
public:
void nhap()
{
cout<<"nhap diem mon co so du lieu";
cin<<csdl;
cout<<"nhap diem mon mang may tinh";
cin<<mmt;
cout<<"nhap diem mon cau truc du lieu";
cin<<ctdl;
cout<<"nhap diem mon java";
cin<<java;
cout<<"nhap diem mon lap trinh huong doi tuong;
cin<<lthdt;
cout<<"nhap diem mon tri tue nhan tao";
cin<<trituent;
*moncs=mmt+lthdt+ctdl;
*moncn=java+trituent+csdl;
}
void hien()
{
cout<<setw(5)<<mmt<<setw(5)<<lthdt<<setw(5)<<ctdl<<moncs<<setw(5)<<java<<setw(5)<<trituent<<setw(5)<<csdl<<setw(5)<<moncn;
}
float travediemmoncs()
{
return moncs;
}
float travediemmoncn()
{
return moncn;
}
int kq()
{
if(moncs>=5)&&(moncn>=5)
{
return 1;
return 0;
}
}
};
class sinhvien:public nguoi,diem
{
private:
char masv[5],dieukientotnghiep[20];
public:
void nhap()
{
cout<<"\n nhap ma sinh vien";
cin.ignore(1);
cin.get(masv,5);
nguoi::nhap();
diem::nhap();
if(kq==1)
strcpy(dieukientotngiep,"tot nghiep");
else
strecpy(dieukientotngiep,"khong tot nghiep");
}
void hien()
{
cout<<setw(5)<<masv;
nguoi::hien;
diem::hien;
cout<<setw(20)<<dieukientotnghiep;
}
int timkiemten(char t[])
{
if(strcpy(traveten(),t)==0)
return 1;
return 0;
}
//int timdiemmoncs()

void sxtheoten(sinhvien *sv1,sinhvien *sv2)
{
sinhvien tam;
if(strcpy(sv1->traveten(),sv2->traveten())>0)
{
tam=*sv1;
*sv1=*sv2;
*sv2=tam;
}
}
void sapxeptheodiemmoncs(sinhvien *sv1,sinhvien *sv2)
{
sinhvien tam;
if(sv1->diem.moncs<sv2->diem.moncs)
{
tam=*sv1;
*sv1=*sv2;
*sv2=tam;
}
}
void sapxeptheodiemmoncs(sinhvien *sv1,sinhvien *sv2)
{
sinhvien tam;
if(sv1->diem.moncn<sv2->diem.moncn)
{
tam=*sv1;
*sv1=*sv2;
*sv2=tam;
}
}

void them(sinhvien *sv,int *n,sinhvien tam)
{
sv[*n]=tam;
*n=*n+1;
}
void xoa(sinhvien *sv,int *n,int vt)
{
int i;
for(i=vt-1;i<*n;i++)
sv[i]=sv[i+1];
*n=*n-1;
}
void sua(sinhvien *sv)
{
sinhvien tam;
cout<<"\n nhap thong tin can sua";
tam.nhap();
*sv=tam;
}
};
void hiends(sinhvien *sv,int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<"\n"<<setw(4)<<i+1;
sv[i],hien();
}
getch();
}
void main()
{
sinhvien *sv,tam;
int i,j,m,vt;
char t[10];
clrscr();
cout<<"\n nhap so luong sinh vien";
cin>>m;
sv=new sinhvien[m];
cout<<"\n nhap danh sach sinh vien";
for(i=0;i<n;i++)
{
cout<<"\n nhap sinh vien thu :"<<i+1;
sv[i].nhap();
}
cout<<"\n danh sach thi sinh vua nhap : ";
for(i=0;i<n;i++)
{
cout<<"\n"<<i+1;
sv[i].hien();
}
cout<<"\n nhap ten can tim : ";
cin.ignore(1;)
cin.get(i,10);
cout<<"\n danh sach thi sinh co ten "<<t<<"la : \n";
for(i=0;i<n;i++)
if(sv[i],timkiemten(t)==1)
{
cout<<"\n";
sv[i].hien();
}
//danh sach sinh vein duoc sap xep theo mon co so
for(i=0;i<m-1;i++)
For(j=i+1;j<m;j++)
sapxeptheodiemmoncs(&sv[i],&sv[j]);
cout<<”\n danh sach sinh vien vua duoc sap xep theo diem mon co so: ”;
hiends(sv,m);
//danh sach sinh vein duoc sap xep theo mon chuyen nganh
for(i=0;i<m-1;i++)
For(j=i+1;j<m;j++)
sapxeptheodiemmoncn(&sv[i],&sv[j]);
cout<<”\n danh sach sinh vien vua duoc sap xep theo diem mon chuyen nganh: ”;
hiends(sv,m);
//danh sach sinh vein duoc sap xep theo mon co so
for(i=0;i<m-1;i++)
For(j=i+1;j<m;j++)
sapxeptheoten(&sv[i],&sv[j]);
cout<<”\n danh sach sinh vien vua duoc sap xep theo ten: ”;
hiends(sv,m);
//them 1 sinh vien
cout<<”\n nhap cac thong tin ve sinh vien can nhap them : ”;
tam.nhap();
them(sv,&m,tam);
//hien ds sinh vien vua duoc them
cout<<"\n danh sach sinh vien vua duoc them vao : ";
hiends(sv,m);
//sua thong tin 1 sinh vien
cout<<"\n nhap vi tri can sua:";
cin>>vt;
sua(&sv[vt-1]);
//hien ds sinh vien vua duoc sua
cout<<"\n danh sach sinh vien vua duoc dua doi : ";
hiends(sv,m);
//xoa 1 sinh ra khoi ds
cout<<"\n nhap vi tri can xoa";
cin>>vt;
xoa(&sv,&m,vt);
//hien ds sinh vien vua xoa
cout<<"\n danh sach sinh vien vua xoa : ";
hiends(sv,m);
getch();
delete sv;
}```

Bài này còn khoảng 25 lỗi nữa ai có thể sửa giúp mình được không
Đã được chỉnh sửa lần cuối bởi Alviss : 18-12-2007 lúc 10:39 PM.

2. Hic, bạn học tới kế thừa rồi mà để lỗi cú pháp thế này sao ?
cout<<"nhap diem mon cau truc du lieu";
cin<<ctdl;
For(j=i+1;j<m;j++)
sv[i],hien();
Chắc còn nữa...
Nếu bạn đã viết được đến vậy thì mấy lỗi này sao không thấy được nhỉ ?

3. Đây là "hiệu quả" của việc không dùng chú thích

#### Quyền hạn của bạn

• Bạn không thể gửi đề tài mới
• Bạn không thể gửi bài trả lời
• Bạn không thể gửi các đính kèm
• Bạn không thể chỉnh sửa bài viết của bạn