NỘI DUNG :
- định nghĩa được đối tượng trong C++
- truy xuất đối tượng
- viết các phương thức xử lý nghiệp vụ của đối tượng cở bản như :
+ thêm mới đối tượng
+ hiển thị danh sách các đối tượng
+ xóa 1 hoặc nhiều đối tượng (theo id )
+ tìm kiếm đối tượng (theo id , tên )
+ tính toán đối tượng
-----------------------------------------------------
Lab 1: viet chuong trinh nhap va hien thi doi tuong sinh vien -tim kiem nhan vien theo ten .
note:
- hàm so sách chuỗi : strcmp(chuỗi 1, chuỗi 2)
code :
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;
struct sinhvien{
char masv[50];
char ten[50];
int tuoi;
};
void hienthi(sinhvien);
int timkiem(sinhvien[], int, char[]);
void sapxep(sinhvien[], int);
int main(){
// initi
sinhvien sv[50];
int i,n;
cout<<"nhap so luong sinh vien can nhap: "<<endl;
cin>>n;
for(int i=1; i<=n; i++){
fflush(stdin);
cout<<"nhap ma sv: ";
cin.getline(sv[i].masv, 50);
cout<<"nhap ten sv: ";
cin.getline(sv[i].ten, 50);
cout<<"nhap tuoi: ";
cin>>sv[i].tuoi;
}
// hien thi sinh vien ra
for(int i=1; i<=n; i++){
hienthi(sv[i]);
}
// tiem sinh sinh tien theo ten
char key[50];
cout<<"nhap ten sinh vien can tim : "<<endl;
cin>>key;
int post = timkiem(sv, n, key);
if(post>=0){
hienthi(sv[post]);
}
}
void hienthi(sinhvien sv){
cout<<"ma sv : "<<sv.masv<<"-";
cout<<"ten sv: "<<sv.ten<<"-";
cout<<"tuoi sv: "<<sv.tuoi<<endl;
}
int timkiem(sinhvien sv[], int n, char key[]){
for(int i=1; i<=n; i++){
if(strcmp(sv[i].ten, key)==0){
return i;
return -1;
}
}
}
Lab 2: thực hành bài lab quản lý động vật, yêu cầu tương tự
yêu cầu : nhập và hiển thị
code:
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;
struct dongvat{
char madv[50];
char tendv[50];
int tuoi;
};
void hienthi(dongvat);// hien thi 1 dôi tuong
int timkiem(dongvat[], int, int); // tim kiem theo tuoi
void sapxep(dongvat[], int); // sap xep mang doi tuong .
int main(){
// khoi tao doi tuohng
dongvat dv[50];
int i, n;
cout<<"nhap vao so luong dong vat: ";
cin>>n;
for(int i=1; i<=n; i++){
fflush(stdin);
cout<<"nhap ma : ";
cin.getline(dv[i].madv, 50);
cout<<"nhap ten: ";
cin.getline(dv[i].tendv, 50);
cout<<"nhap tuoi : ";
cin>>dv[i].tuoi;
}
// hien thi dong vat
for(int i=1; i<=n; i++){
hienthi(dv[i]);
}
}
// phuong thuc hien thi
void hienthi(dongvat dv){
cout<<"ma: "<<dv.madv<<" ";
cout<<"ten: "<<dv.tendv<<" ";
cout<<"tuoi: "<<dv.tuoi<<" ";
}
Lab 3: quan hang phim
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<conio.h>
#include<string.h>
using namespace std;
struct hangphim{
char ten[50];
char daodien[50];
int nam;
};
void display(hangphim);
int timkiem(hangphim[],int,char[]); // return id of film
void sapxep(hangphim[],int);
int main()
{
hangphim hp[100];
int n,i;
cout<<"Nhap vao so luong phim tuy y: ";
cin>>n;
for(i=1;i<n+1;i++)
{
fflush(stdin);
cout<<"Thong tin bo phim thu "<<i<<":"<<endl;
cout<<"Nhap vao ten phim: ";
cin.getline(hp[i].ten,50);
cout<<"Nhap vao ten dao dien: ";
cin.getline(hp[i].daodien,50);
cout<<"Nhap vao nam san xuat: ";
cin>>hp[i].nam;
}
//hien thi
for(i=1;i<n+1;i++)
display(hp[i]);
//Liet ke danh sach sx trong 1 nam bat ki
int key;
cout<<"Nhap vao nam tim kiem: ";
cin>>key;
cout<<"Danh sach phim san xuat nam "<<key<<": "<<endl;
for(i=1;i<n+1;i++)
{
if(hp[i].nam==key)
{
cout<<hp[i].ten<<" ";
display(hp[i]);
}
}
//Cho phep tim kiem theo ten phim
char keyy[50];
//fflush(stdin);
cout<<"Nhap vao ten phim muon tim kiem: ";
//cin.getline(keyy,50);
cin>>keyy;
int pos=timkiem(hp,n,keyy);
if(pos>=0)
{
cout<<"Ton tai bo phim co ten "<<keyy<<"."<<endl;
cout<<"Thong tin bo phim co ten "<<keyy<<": "<<endl;
display(hp[pos]);
}
else
cout<<"Khong ton tai bo phim co ten "<<keyy<<"."<<endl;
//sap xep theo thu tu moi dan
cout<<"Danh sach bo phim theo thu tu moi dan : "<<endl;
sapxep(hp,n);
for(i=1;i<n+1;i++)
display(hp[i]);
getch();
return 0;
}
void display(hangphim hp)
{
cout<<"Ten: "<<setw(15)<<left<<hp.ten;
cout<<"Dao dien: "<<setw(15)<<left<<hp.daodien;
cout<<"Nam sx: "<<hp.nam<<endl;
}
int timkiem(hangphim hp[],int n,char keyy[])
{
for(int i=1;i<n+1;i++)
if(strcmp(hp[i].ten,keyy)==0) // use ham strcmp
return i;
return -1;
}
void sapxep(hangphim hp[],int n)
{
for(int i=1;i<n;i++)
{
int min=i;
for(int j=i+1;j<n+1;j++)
{
if(hp[j].nam<hp[min].nam)
min=j;
hangphim temp=hp[min];
hp[min]=hp[i];
hp[i]=temp;
}
}
}
lab 4: quan ly cong nhan
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
#include<stdio.h>
using namespace std;
struct congnhan{
char mcn[50];
char hoten[50];
int time;
};
void display(congnhan);
int timkiem(congnhan[],int,char[]);
void sapxep(congnhan[],int);
int main()
{
congnhan cn[100];
int n,i;
//Nhap danh sach so luong cong nhan tuy y
cout<<"Nhap vao so luong cong nhan tuy y: ";
cin>>n;
for(i=1;i<n+1;i++)
{
fflush(stdin);
cout<<"Nhap vao thong tin cong nhan thu "<<i<<endl;
cout<<"Nhap vao ma cong nhan: ";
cin.getline(cn[i].mcn,50);
cout<<"Nhap vao ho ten: ";
cin.getline(cn[i].hoten,50);
cout<<"Nhap vao thoi gian lam viec: ";
cin>>cn[i].time;
}
//Hien thi danh sach cong nhan ra man hinh
for(i=1;i<n+1;i++)
{
display(cn[i]);}
//Hien thi danh sach cong nhan lam viec tu 40h tro len
cout<<"Danh sach cong nhan lam viec tren 40h: "<<endl;
for(i=1;i<n+1;i++)
{
if(cn[i].time>=40)
display(cn[i]);
}
//Tim kiem cong nhan co ma duoc nhap tu ban phim
char key[20];
cout<<"Nhap vao ma so cong nhan can tim: ";
cin>>key;
int pos=timkiem(cn,n,key);
if(pos>=0)
{
cout<<"Ton tai cong nhan co ma "<<key<<endl;
cout<<"Thong tin nhan vien can tim : "<<endl;
display(cn[pos]);
}
else
cout<<"Khong ton tai cong nhan co ma "<<key<<endl;
//Sap xep danh sach cong nhan theo trat tu giam dan(tang dan lam nhieu roi)
cout<<"Danh sach cong nhan theo trat tu giam dan: "<<endl;
sapxep(cn,n);
for(i=1;i<n+1;i++)
display(cn[i]);
getch();
return 0;
}
void display(congnhan cn)
{
cout<<"Ma cn: "<<setw(5)<<left<<cn.mcn;
cout<<"Ho ten: "<<setw(15)<<left<<cn.hoten;
cout<<"Thoi gian lam viec: "<<left<<cn.time<<endl;
}
int timkiem(congnhan cn[],int n, char key[])
{
for(int i=1;i<n+1;i++)
if(strcmp(cn[i].mcn,key)==0)
return i;
return -1;
}
void sapxep(congnhan cn[],int n)
{
for(int i=1;i<n;i++)
{
int max=i;
for(int j=i+1;j<n+1;j++)
{
if(cn[max].time<cn[j].time)
max=j;
}
congnhan temp=cn[max];
cn[max]=cn[i];
cn[i]=temp;
}
}
Không có nhận xét nào:
Đăng nhận xét