zzz

Like trang page giúp ad nhé! THANK ALL

Thứ Tư, 18 tháng 11, 2015

lv5: Đối tượng trong C++

lv5: Đối tượng trong C++
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