BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
5 posters
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: C++
Trang 2 trong tổng số 2 trang
Trang 2 trong tổng số 2 trang • 1, 2
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
ai giả hộ bài này với?? cảm ơn trước nha!
- Code:
bai1:. Để quản lý điểm thi của sinh viên, hãy xây dựng lớp Sinh_vien bao gồm các thuộc tính và phương thức như sau:
- Tên sinh viên
- Điểm Toán, Lý, Hóa, điểm trung bình 3 môn
- Phương thức:
o Constructor có tham số, không tham số
o In các thông tin nói trên của sinh viên
Trên cơ sở lớp đã xây dựng, viết chương trình làm các việc sau:
- Nhập danh sách sinh viên gồm 10 sinh viên từ bàn phím
- Đưa ra màn hình danh sách 3 sinh viên có điểm trung bình cao nhất
quynhnhacit- Posts : 12
06/10/2011
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
- Code:
bai 2. Xây dựng một cấu trúc Ma-tran để biểu diễn ma trận với 2 trường:
struct Ma_tran
{
double mt[20][20]; //mảng mt dùng để chứa các phần tử trong ma trận
int n; //cấp của ma trận
}
Hãy xây dựng các hàm toán tử sau đây để xử lý ma trận:
- Toán tử + , -, * để cộng, trừ, nhân 2 ma trận
mọi người cùng giải nhé
quynhnhacit- Posts : 12
06/10/2011
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
quynhnhacit đã viết: ai giả hộ bài này với?? cảm ơn trước nha!
- Code:
bai1:. Để quản lý điểm thi của sinh viên, hãy xây dựng lớp Sinh_vien bao gồm các thuộc tính và phương thức như sau:
- Tên sinh viên
- Điểm Toán, Lý, Hóa, điểm trung bình 3 môn
- Phương thức:
o Constructor có tham số, không tham số
o In các thông tin nói trên của sinh viên
Trên cơ sở lớp đã xây dựng, viết chương trình làm các việc sau:
- Nhập danh sách sinh viên gồm 10 sinh viên từ bàn phím
- Đưa ra màn hình danh sách 3 sinh viên có điểm trung bình cao nhất
Của bạn đây
Lưu ý bài mình nhập số N sinh viên tuỳ ý nhập từ bàn phím chứ không giới hạn như 10 sinh viên! Chúc bạn thành công
Nếu thấy hay nhớ thank nhé
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string.h>
class sinhvien {
char ten[50];
int toan, ly, hoa;
float tb;
public:
float getTB() {return tb;}
sinhvien(char* str="")
{
cout<<str;
strcpy(ten,"");
toan = ly = hoa = 0;
tb =0;
}
sinhvien(char* ten1, int a, int b, int c)
{
strcpy(ten,ten1);
toan=a;
ly=b;
hoa=c;
tb=(a+b+c)/3;
}
void NhapTT(char* str="")
{
cout<<str;
cin.ignore();
cout<<"\nNhap ten sinh vien: "; cin.getline(ten,50);
cout<<"\nDiem Toan:= "; cin>>toan;
cout<<"\nDiem Ly:= "; cin>>ly;
cout<<"\nDiem Hoa:= "; cin>>hoa;
tb = (toan + ly + hoa)/3;
cout<<"\nDiem TB:= "<<tb;
}
void InTT(char* str="")
{
cout<<str;
cout<<"\n "<<ten<<"|| Toan: "<<toan<<" || Ly: "<<ly<<" || Hoa: "<<hoa<<" || TB: "<<tb;
}
};
int main()
{
int n,i,j;
sinhvien temp,b,c("Nguyen Van A",6,7,8);
sinhvien a[100];
b.InTT("\nSinh vien không tham so: \n");
c.InTT("\nSinh vien co tham so: \n");
cout<<"\n\n Phan nang cap: ";
cout<<"\nNhap so luong sinh vien n:= "; cin>>n;
for(i=0; i<n; i++)
{
cout<<"\nNhap sinh vien thu "<<i+1;
a[i].NhapTT();
}
for(i=0; i<n; i++)
for(j= i+1; j<=n; j++)
{
if(a[i].getTB() < a[j].getTB())
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
cout<<"\n 3 sinh vien co diem TB cao nhat la:";
for(i=0; i<3; i++)
a[i].InTT(); cout<<"\n";
getch();
}
Được sửa bởi Admin ngày Fri Oct 07, 2011 10:19 pm; sửa lần 2.
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
quynhnhacit đã viết:
- Code:
bai 2. Xây dựng một cấu trúc Ma-tran để biểu diễn ma trận với 2 trường:
struct Ma_tran
{
double mt[20][20]; //mảng mt dùng để chứa các phần tử trong ma trận
int n; //cấp của ma trận
}
Hãy xây dựng các hàm toán tử sau đây để xử lý ma trận:
- Toán tử + , -, * để cộng, trừ, nhân 2 ma trận
mọi người cùng giải nhé
Của bạn nữa đây mới làm xong 1 bài làm tiếp bài nữa tiêu luôn rồi chưa ăn cơm nữa! Mình chạy được 2 phép toán là Cộng và Nhân, còn Trừ thì ngược với Cộng đổi dấu là được bạn tự làm lấy nhé!. Còn Phép chia VD: A/B= A.B^(-1). Cách tính B^(-1) bây giờ quên mết rồi để và bữa xem lại rồi sừa tiếp. Cuốn tài liệu Đai Sô Tuyến Tính Và Hình Học đâu mất tiêu rồi không thấy Mà cái đề 2 này là thuộc về Cấu trúc dữ liệu mà bạn hoc lâu rồi, hiện giờ tụi mình đang học lập trình C++ thuộc về OOP(hướng đối tượng) bạn đưa đề nào liên quan đến OOP 1 chút mấy cái kia lâu rồi quên hết! Thôi đi ăn cơm cái mới về lên diễn đàn giải 2 câu rồi die luôn
- Code:
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
struct mt {
int **a;
int dong, cot;
} ;
void capphatbonho(mt &A)
{
int i,j;
A.a = new int* [A.dong];
for ( i=0; i<A.dong; i++)
A.a[i] = new int [A.cot];
}
void nhapmatran(mt &A, char ch)
{
for( int i=0;i<A.dong;i++)
{
for( int j=0;j<A.cot;j++)
{
printf("\n %c[%d][%d] = ",ch,i,j);
scanf("%d", &A.a[i][j]);
}
}
}
void xuatmatran(mt &A)
{
int i,j;
for( i=0;i<A.dong;i++)
{
printf("\n");
for( j=0;j<A.cot;j++)
printf(" %d ",A.a[i][j]);
}
}
void giaiphong(mt &A)
{
for (int j=0; j<A.dong;j++)
delete []A.a[j];
delete []A.a;
}
mt operator + ( const mt &A, const mt &B)
{
mt C;
capphatbonho(C);
C.dong=A.dong;
C.cot=A.cot;
for(int i=0;i<A.dong;i++)
{
for(int j=0;j<A.cot;j++)
C.a[i][j]=A.a[i][j]+B.a[i][j];
}
return C;
}
mt operator * ( const mt &A, const mt &B)
{
mt D;
capphatbonho(D);
D.dong=A.dong;
D.cot=A.cot;
for(int i=0;i<A.dong;i++)
{
for(int j=0;j<A.cot;j++)
{
D.a[i][j]=0;
for(int k=0;k<A.cot;k++)
D.a[i][j]+=A.a[i][k]*B.a[k][j];
}
}
return D;
}
int main()
{
int x;
mt A,B;
printf("\n so dong la : ");
scanf("%d", &A.dong);
printf("\n so cot la : ");
scanf("%d",&A.cot);
B.dong=A.dong;
B.cot=A.cot;
capphatbonho(A);
capphatbonho(B);
nhapmatran(A,'A');
nhapmatran(B,'B');
printf("\n chon 1 la cong ma tran, 2 la nhan ma tran : ");
scanf("%d", &x);
switch(x)
{
case 1 :
{
mt C;
printf("\n Ma tran tong la : ");
C=A+B;
xuatmatran(C);
giaiphong(C);
break;
}
case 2 :
{
mt D;
printf("\n Ma tran tich la : ");
D=A*B;
xuatmatran(D);
giaiphong(D);
break;
}
}
giaiphong(A);
giaiphong(B);
getch();
}
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
Bài 1 còn thiếu mình đã làm đầy đủ theo yêu cầu của bạn. Have Full
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string.h>
class sinhvien {
char ten[50];
int toan, ly, hoa;
float tb;
public:
float getTB() {return tb;}
sinhvien(char* str="")
{
cout<<str;
strcpy(ten,"");
toan = ly = hoa = 0;
tb =0;
}
sinhvien(char* ten1, int a, int b, int c)
{
strcpy(ten,ten1);
toan=a;
ly=b;
hoa=c;
tb=(a+b+c)/3;
}
void NhapTT(char* str="")
{
cout<<str;
cin.ignore();
cout<<"\nNhap ten sinh vien: "; cin.getline(ten,50);
cout<<"\nDiem Toan:= "; cin>>toan;
cout<<"\nDiem Ly:= "; cin>>ly;
cout<<"\nDiem Hoa:= "; cin>>hoa;
tb = (toan + ly + hoa)/3;
cout<<"\nDiem TB:= "<<tb;
}
void InTT(char* str="")
{
cout<<str;
cout<<"\n "<<ten<<"|| Toan: "<<toan<<" || Ly: "<<ly<<" || Hoa: "<<hoa<<" || TB: "<<tb;
}
};
int main()
{
int n,i,j;
sinhvien temp,b,c("Nguyen Van A",6,7,8);
sinhvien a[100];
b.InTT("\nSinh vien khong tham so: \n");
c.InTT("\nSinh vien co tham so: \n");
cout<<"\n\n Phan nang cap: ";
cout<<"\nNhap so luong sinh vien n:= "; cin>>n;
for(i=0; i<n; i++)
{
cout<<"\nNhap sinh vien thu "<<i+1;
a[i].NhapTT();
}
for(i=0; i<n; i++)
for(j= i+1; j<=n; j++)
{
if(a[i].getTB() < a[j].getTB())
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
cout<<"\n 3 sinh vien co diem TB cao nhat la:";
for(i=0; i<3; i++)
a[i].InTT(); cout<<"\n";
getch();
}
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
giúp minh với !..
bài tập lớn lập trình hướng đối tượng c++ hix minh lam không được ai biết giúp minh với đi......
bài tập lớn lập trình hướng đối tượng c++ hix minh lam không được ai biết giúp minh với đi......
- Code:
[b][u]Bai1:[/u][/b]
Xây
dựng chương trình quảng lý sinh viên gôm: lớp sinh viên chứa các thuộc tính: họ
tên ,mã sinh viên,số chứng minh thư,địa chỉ,và điểm tb năm.Trong đó địa chỉ là
một cấu trúc gồm tên địa chỉ số nhà,tên đường, quận, thành phố.
Xây
dựng chương trình thực hiện :
+khai
báo ds sinh viên
+nhập
thông tin sinh viên
+hiển
thị thông tin sinh viên
+sắp
xếp ds sinh viên theo trật tự tăng dần của điểm tb năm.
[b][u]Bài 2:[/u][/b]
Xd chương
trình quảng lý thông tin sách gồm:lớp sách chứa các thông tin mã sách, hiệu
sách, thể lọai, số lượng.
Các
công việc phải quảng lý gồm:
+nhập
ds sách
+tìm
kiếm và in ds sách
[u][b] bài 3[/b][/u]:
Xd
chương trình quảng lý cán bộ theo hướng đối tượng trong đó:
a1.
Thông tin các cán bộ bao gồm mã cán bộ, họ tên, giói tính, quê quán, tuổi,
chuyên môn,
t rình độ, hệ số lương, xép loại lao động.
a 2.
yêu cầu viết chuong trình thực hiện:
+ tạo
và nhập 1 danh sách cán bộ
+ hiển
thi ds cán bộ
+ đếm
xem co bao nhiêu ds cán bộ nử trong cơ quan
+ liệt
kê thong tin cán bộ nam trong ds
+ tính
tổng số lượng thu nhập của toàn cán bộ
+tinh
lương tb của các cán bộ, biết lương =hê số lương nhân 450 000
+in
thông tin cán bộ có mức lương thu nhập cao nhất, sắp xếp ds theo hệ số lương
tăng dần.
quynhnhacit- Posts : 12
06/10/2011
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
mình làm Bài 1 như thế này mà sao kết quả in ra ko in được danh sách sinh viên sau khi đã sắp xếp .xin moi người giúp với
- Code:
#include<stdio.h>
#include<conio.h>
#include <iostream.h>
#include <string.h>
#include <ctype.h>
#include <fstream.h>
#include <stdlib.h>
typedef struct
{
char sonha[10];
char tenduong[20];
char quan[20];
char tp[20];
} diachi;
class Sinh_vien
{
private:
char hoten[20];
diachi dc;
char Masv[10];
char cmnd[10];
float diemtb;
public :
void nhapsv();
void insv();
int sapxep (Sinh_vien sv[]);
};
void Sinh_vien :: nhapsv()
{
cout <<"ho ten";
cin.ignore();
cin.getline(hoten,20);
cout<<"so nha";
cin.getline (dc.sonha,10);
cout<<" ten duong ";
cin.getline (dc.tenduong,20);
cout<<"quan";
cin.getline(dc.quan,20);
cout<<"thanh pho ";
cin.getline(dc.tp,20);
cout<<"ma sv ";
cin.getline(Masv,10);
cout<<"cmnd";
cin.getline(cmnd,10);
cout<<"diem tb";
cin>>diemtb;
}
void Sinh_vien :: insv()
{
cout <<"*******Danh sach sinh vien*******"<<endl;
cout <<endl;
cout<<"sinh vien :"<<hoten<<endl;
cout<<"dia chi :"<<dc.sonha<<"-"<<dc.tenduong<<"-"<<dc.quan<<"-"<<dc.tp<<endl;
cout<<"ma sv :"<<Masv<<endl;
cout<<"cmnd :"<<cmnd<<endl;
cout<<"diem tb="<<diemtb<<endl;
};
int Sinh_vien :: sapxep (Sinh_vien *sv)
{ int i,j,n;
Sinh_vien tam;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(sv[i].diemtb<sv[j].diemtb)
{
tam=sv[i];
sv[i]=sv[j];
sv[j]=tam;
}
return 0;
};
main ()
{
int i ,n;
cout << " "<< endl;
cout << " ********* Chuong trinh Quan Ly Sinh Vien ********* ";
cout << " "<< endl;
cout << " "<< endl;
cout << " "<< endl;
cout << " Xin cho biet so luong sinh vien muon nhap : n = ";
cin >>n;
Sinh_vien *sv= new Sinh_vien[n];
for(i=1;i<=n;i++)
{
sv[i].nhapsv();
}
for(i=1;i<=n;i++)
{sv[i].insv();
}
sv[n].sapxep (sv);
cout<<"danh sach sinh vien sau khi da sap xep la: ";
for(i=1;i<=n;i++)
sv[i].insv();
};
quynhnhacit- Posts : 12
06/10/2011
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
Hiện anh em ai cũng đang bận rộn làm niên luận 1, minh sorry, bạn vui lòng tham khảo bài giải của mình về cách sắp xếp tại đây [You must be registered and logged in to see this link.] có 2 cách để bạn sắp xếp.
Goog luck, rảnh mình sẻ tranh thủ xem cho bạn. bạn thông cảm nha
Goog luck, rảnh mình sẻ tranh thủ xem cho bạn. bạn thông cảm nha
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
um dù sao cung cảm ơn nha !
minh hiểu vấn đề rồi
minh hiểu vấn đề rồi
quynhnhacit- Posts : 12
Thanked : 0
06/10/2011
Re: BÀI GIẢI ĐỀ THI C++(ĐỀ 1)
help me !!!
tai sao minh chạy bài này mà khi hiển thị thông tin lai thiếu đi 1 kí tự đầu khi nhập nhỉ??? ai biết cứu cái ni.........
tai sao minh chạy bài này mà khi hiển thị thông tin lai thiếu đi 1 kí tự đầu khi nhập nhỉ??? ai biết cứu cái ni.........
- Code:
//hoi tai sao khi hien thi danh sach thi thong tin bi thieu 1 ki tu????
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include <iomanip.h>
typedef struct // xay dung struct dia chi cua sinh vien
{
char sonha[50]; //vi so nha co the o dang 1234/1234
char tenduong[50];
char quan[50];
char thanhpho[50];
}diachi;
// xay dung class sinh vien
class sinhvien
{
private:
char hoten[50];
char msv[50];// ma sinh vien vi ma sinh vien co the la 101C900160
int cmnd; // so chung minh nhan dan cua sinh vien
float diemtb;
diachi dc;
public: //khai bao mot danh sach sinh vien
void nhapsv();
void hienthisv();
void sapxepsv();
};
// dinh nghia phuong thuc of lop gom nhapsv, hienthisv va sapxepsv
void sinhvien::nhapsv()
{
cout<<"nhap ho ten sv:";
cin.ignore();
cin.getline(hoten,50);
cout<<"nhap vao dia chi cua sinh vien:\n";
cout<<"so nha:";
cin.ignore();
cin.getline(dc.sonha,50);
cout<<"ten duong:";
cin.ignore();
cin.getline(dc.tenduong,50);
cout<<"ten quan:";
cin.ignore();
cin.getline(dc.quan,50);
cout<<"thanh pho:";
cin.ignore();
cin.getline(dc.thanhpho,50);
cout<<"nhap ma so sinh vien:";
cin.ignore();
cin>>msv;
cout<<"nhap so chung minh nhan dan sinh vien:";
cin>>cmnd;
cout<<"nhap diem trung binh cua sinh vien:";
cin>>diemtb;
cout<<"\n==========================\n";
}
void sinhvien::hienthisv() //hien thi danh sach sinh vien vua nhap
{
cout<<"ho ten sv:";
cout<<hoten;
cout<<"\ndiachisinh vien:\n";
cout<<"\n*********************\n";
cout<<"\ndia chi:";
cout<<setw(15)<<dc.sonha;
cout<<setw(15)<<dc.tenduong;
cout<<setw(15)<<dc.quan<<setw(15)<<dc.thanhpho;
cout<<"\n*********************\n";
cout<<"\nma so sinh vien:";
cout<<msv;
cout<<"\nso chung minh nhan dan sv:";
cout<<cmnd;
cout<<"\ndiem trung binh:\t";
cout<<diemtb;
cout<<"\a\n";
}
void sinhvien::sapxepsv()
{
sinhvien sv[100];
int n;
sinhvien tg;
for(int i=0; i<n; i++)
for(int j=i+1; j<n; j++)
if(sv[i].diemtb<sv[j].diemtb)
{
sv[i]=tg;
sv[i]=sv[j];
sv[j]=tg;
}
}
int main()
{
int chon;
sinhvien sv[100];
int n;
int i,dem;
do
{
cout<<"\nCHUONG TRINH QUAN LY SINH VIEN\n";
cout<<"==============================================================================";
cout<<"\nnhap vao lua chon:\n";
cout<<"1: Nhap sinh vien\n";
cout<<"2: Hien thi sinh vien\n";
cout<<"3: Danh sach sinh vien sap xep\n";
cout<<"0: Ket thuc chuong trinh\n";
cout<<"Chu y: khi ban nhap lon hon so 3, chuong trinh se tu dong quay ve MENU chinh\n";
cout<<"=============================================================================";
cout<<"\nban chon:";
cin>>chon;
switch(chon)
{
case 1:
cout<<"nhap so luong sinh vien can nhap vao:";
cin>>n;
cout<<"bat dau:\n\a";
cout<<"nhap danh sach sinh vien:\n";
cout<<"\n==============================\n";
for(i=0; i<n; i++)
sv[i].nhapsv();
cout<<"\anhan phim bat ki de tiep tuc";
getch();
break;
case 2:
cout<<"\n==============================\n";
cout<<"hien thi danh sach sinh vien:\n";
cout<<"\n==============================\n";
for(i=0; i<n; i++)
dem++;
if(dem==0)
cout<<"khong co danh sach sinh vien de hien thi\n";
else
{
for(i=0; i<n; i++)
sv[i].hienthisv();
}
cout<<"\anhan phim bat ki de tiep tuc";
getch();
break;
case 3:
for(i=0; i<n; i++)
dem++;
if(dem==0)
cout<<"khong co danh sach sinh vien de hien thi\n";
else
{
cout<<"\n==============================\n\a";
cout<<"danh sach sinh vien sau khi sap xep:\n\a";
cout<<"\n==============================\n";
for(i=0; i<n; i++)
{sv[i].sapxepsv();}
for(i=0; i<n; i++)
sv[i].hienthisv();
}
cout<<"\a\nnhan phim bat ki de tiep tuc";
getch();
break;
}
}while (chon!=0);
getch();
return 0;
}
quynhnhacit- Posts : 12
Thanked : 0
06/10/2011
Trang 2 trong tổng số 2 trang • 1, 2
Similar topics
» giai gap dum bai tap c++
» VẤN ĐỀ NAN GIẢI
» Giải đề thi Kỹ thuật đồ hoạ
» game offline giải trí một tí
» Giai Phuong Trinh Bac 2
» VẤN ĐỀ NAN GIẢI
» Giải đề thi Kỹ thuật đồ hoạ
» game offline giải trí một tí
» Giai Phuong Trinh Bac 2
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: C++
Trang 2 trong tổng số 2 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|