[Tự học lập trình C/C++] Khái niệm inline: tính tích của 2 số, tính lập phương

Bài tập

Viết một chương trình C++ để nhập hai giá trị và tính tích và lập phương của chúng bởi sử dụng khái niệm inline function trong C++.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Có thể tóm tắt các bước như sau:
  • Khai báo lớp
  • Khai báo và định nghĩa hàm inline cho các hàm để tính tích và lập phương
  • Khai báo đối tượng và các biến.
  • Đọc hai giá trị
  • Gọi hàm tính tích và lập phương bởi sử dụng các đối tượng của lớp.
  • Trả về giá trị và hiển thị
#include<iostream>
#include<conio.h>
using namespace std;
 
class line
{
   public:
              inline float phepnhan(float x,float y)
              {
                            return(x*y);
              }
              inline float lapphuong(float x)
              {
                            return(x*x*x);
              }
};

int main()
{
              line obj;
              float giatri1,giatri2;
              
              cout<<"Nhap hai gia tri:";
              cin>>giatri1>>giatri2;
              cout<<"\nGia tri cua phep tinh tich la: "<<obj.phepnhan(giatri1,giatri2);
              cout<<"\n\nGia tri cua phep tinh lap phuong la: "<<obj.lapphuong(giatri1)<<"\t"<<obj.lapphuong(giatri2);
              return 0;
}

[Tự học lập trình C/C++] Function Template trong C++

Bài tập

Trao đổi giá trị giữa các số bởi sử dụng khái niệm Function Template trong C++.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Có thể tóm tắt các bước như sau:
  • Khai báo lớp template
  • Khai báo và định nghĩa hàm để trao đổi giá trị giữa hai số
  • Khai báo và định nghĩa hàm để lấy các giá trị
  • Đọc các giá trị và gọi hàm tương ứng
  • Hiển thị kết quả
#include<iostream>
#include<conio.h> 
template<class t> //Khai báo lớp template 
void swap(t &x,t &y) // Đổi giá trị của 2 biến
{
   t temp=x;
   x=y;
   y=temp;
} 
void fun(int a,int b,float c,float d)
{
   cout<<"\nGia tri a va b truoc khi trao doi la :"<<a<<"\t"<<b;
   swap(a,b);
   cout<<"\nGia tri a va b sau khi trao doi la :"<<a<<"\t"<<b;
   cout<<"\n\nGia tri c va d truoc khi trao doi la :"<<c<<"\t"<<d;
   swap(c,d);
   cout<<"\nGia tri c va d sau khi trao doi la :"<<c<<"\t"<<d;
}

int main()
{
    int a,b;
    float c,d;    
    cout<<"Nhap gia tri A, B (so nguyen): ";
    cin>>a>>b;
    cout<<"Nhap gia tri C, D (so thuc): ";
    cin>>c>>d;
    fun(a,b,c,d);
    return 0;
}
<<<Quay lại.

[Tự học lập trình C/C++] Nạp chồng hàm tính diện tích hình tròn, tam giác vuông, hình chữ nhật.

Bài tập

Viết chương trình C++ để tính diện tích hình tròn, hình tam giác, hình chữ nhật bởi sử dụng khái niệm nạp chồng hàm trong C++ tùy theo lựa chọn của người dùng.
hình chữ nhật - tinhoccoban.net

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Người dùng lựa chọn theo kịch bản sau:
Khai báo lớp fn với các thành viên dữ liệu và hàm thành viên của nó.
Đọc các lựa chọn từ người dùng.

  • Lựa chọn = 1, thì hàm dientich() sẽ tính diện tích của hình tròn với một tham số nguyên.
  • Lựa chọn = 2, thì hàm này sẽ tính diện tích của hình chữ nhật với hai tham số nguyên.
  • Lựa chọn = 3, thì hàm này sẽ tính diện tích của hình tam giác với ba tham số (hai tham số nguyên, một tham số thực).
  • Lựa chọn = 4, thì kết thúc chương trình.
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#define pi 3.14
using namespace std;
class fn
{
      public:
        void dientich(int);  //hinh tron
        void dientich(int,int);  //hinh chu nhat
        void dientich(float ,int,int);  //hinh tam giac
};
 
void fn::dientich(int a)
{
      cout<<"Dien tich hinh tron la: "<<pi*a*a;
}
void fn::dientich(int a,int b)
{
      cout<<"Dien tich hinh chu nhat la: "<<a*b;
}
void fn::dientich(float t,int a,int b)
{
      cout<<"Dien tich hinh tam giac la: "<<t*a*b;
}
 
int main()
{
     int ch;
     int a,b,r;
     
     fn obj;
     cout<<"\n\t\tNap chong ham";
     cout<<"\n1. Dien tich hinh tron" "\n2. Dien tich hinh chu nhat" "\n3. Dien tich hinh tam giac" "\n4. Thoat";
     cout<<"\nNhap lua chon cua ban: ";
     cin>>ch;
 
     switch(ch)
     {
              case 1:
                cout<<"Nhap ban kinh duong tron: ";
                cin>>r;
                obj.dientich(r);
                break;
              case 2:
                cout<<"Nhap hai canh cua hinh chu nhat: ";
                cin>>a>>b;
                obj.dientich(a,b);
                break;
              case 3:
                cout<<"Nhap cac canh cua hinh tam giac: ";
                cin>>a>>b;
                obj.dientich(0.5,a,b);
                break;
              case 4:
                exit(0);
     }
return 0;
}

[Tự học lập trình C/C++] Tính giá trị trung bình với hàm friend.

Bài tập

Viết chương trình C++ để tìm giá trị trung bình với hàm friend.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Đầu tiên chúng ta khai báo một lớp Base với các thành viên dữ liệu và các hàm thành viên của nó. Sử dụng hàm get() để đọc dữ liệu nhập từ người dùng.
Sau đó, khai báo hàm friend có tên là trungbinh(base ob) bên trong lớp này. Ở bên ngoài lớp, bạn định nghĩa hàm friend này và thực hiện tính trung bình của hai số.
#include<iostream>
#include<conio.h>
using namespace std;
class  base
{
    int giatri1,giatri2;
   public:
    void get()
    {
       cout<<"Nhap hai gia tri:";
       cin>>giatri1>>giatri2;
    }
    friend float trungbinh(base ob);
};
float trungbinh(base ob)
{
   return float(ob.giatri1+ob.giatri2)/2;
}
int main()
{
    
    base obj;
    obj.get();
    cout<<"\n Gia tri trung binh la : "<<trungbinh(obj);
    return 0;
}        
Quay lại>>>

[Tự học lập trình C/C++] Tính tích của các số tăng dần từ 1 đến n với số mũ cũng tăng dần từ 1 đến n

Bài tập

Viết chương trình C++ sử dụng khái niệm hàm đệ qui để tính tích sau:
Sn= 11 * 22 * 33 * 44 *...* nn
Phân tích: Số mũ, cơ số tăng dần từ 1 đến n. Vì vậy có thể định nghĩa n+1 bởi n.

Lời giải

Dưới đây là chương trình C++ để giải bài tập.
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
double bieuthuc(int);
int main(int argc, char *argv[])
{ 

  int n;
  cout<<"Nhap n bang: ";
  cin>>n;
  cout<<"Ket qua: "<<bieuthuc(n)<<endl;
  
  return 0;
}
double bieuthuc(int n){
   if(n==1) return 1; //co so co so
   else return(pow((float)n,n)* bieuthuc(n-1)); //Định nghĩa số n bởi n-1
}
Quay lại>>>

Bài đăng phổ biến

Bài viết mới nhất

Tin học cơ bản - Nền tảng của mọi kỹ năng

Mọi thông tin trên blog đều được giữ bản quyền bởi Tin học cơ bản. Các bạn nếu muốn lấy thông tin từ blog vui lòng ghi rõ nguồn Tinhoccoban.net

TIN HỌC CƠ BẢN