30/09/2018, 16:00

C++ Chương II:Cấu Trúc Điều Khiển

BT1:Viết chương trình nhập vào một số. Xuất ra màn hình chuỗi “số chẵn” nếu số đó là số chẵn. Xuất ra màn hình chuỗi “số lẻ” nếu số đó là số lẻ.

#include <iostream>

int main(){
    int so;
    std::cout << "Nhap vao mot so: ";
    std::cin >> so;
    if (so % 2 == 0){
        std::cout << so << " La so chan!" << std::endl;
    }else{
        std::cout << so << " La so le!" << std::endl;
    }
    system("Pause");
    return 0;
}

BT2:Viết chương trình nhập vào 2 số nguyên, tìm số lớn nhất của 2 số.

#include <iostream>

int main(){
    int soThuNhat, soThuHai;
    std::cout << "Nhap So Thu Nhat: ";
    std::cin >> soThuNhat;
    std::cout << "Nhap So Thu Hai: ";
    std::cin >> soThuHai;
    if (soThuNhat > soThuHai){
        std::cout << soThuNhat << " La so lon nhat!" << std::endl;
    }else{
        std::cout << soThuHai << " La so lon nhat!" << std::endl;
    }
    system("Pause");
    return 0;
}

BT3:Viết chương trình thể hiện trò chơi oẳn tù tì với quy ước: Búa = ‘B’; Bao = ‘O’; Kéo =‘K’. Nhập vào hai kí tự đại diện cho hai người chơi. Xuất ra màn hình câu thông báo người chơi nào thắng hoặc hòa.

#include <iostream>
#include <iomanip>

int main(){
    int player01, player02;
    std::cout << std::setw(25); //ham khoang cach
    std::cout << "TRO CHOI OAN TU TI!" << std::endl;
    std::cout << "******************************" << std::endl;
    std::cout << std::setw(25);
    std::cout << "1.BUA  2.BAO  3.KEO" << std::endl << std::endl;
    std::cout << "Player 01 Chon So Tuong Ung: ";
    std::cin >> player01;
    std::cout << "PLayer 02 Chon So Tuong Ung: ";
    std::cin >> player02;
    switch (player01){
    case 1:
        switch (player02){
        case 1:
            std::cout << "	Player 01 Hoa Player 02" << std::endl;
            break;
        case 2:
            std::cout << "	Player 01 Thua Player 02" << std::endl;
            break;
        case 3:
            std::cout << "	Player 01 Thang Player 02" << std::endl;
            break;
        default:
            std::cout << "	Player 02 Chon Sai! Chon Lai Tu 1->3!" << std::endl;
            break;
        }
        break;
    case 2:
        switch (player02){
        case 1:
            std::cout << "	Player 01 Thang Player 02" << std::endl;
            break;
        case 2:
            std::cout << "	Player 01 Hoa Player 02" << std::endl;
            break;
        case 3:
            std::cout << "	Player 01 Thua Player 02" << std::endl;
            break;
        default:
            std::cout << "	Player 02 Chon Sai! Chon Lai Tu 1->3!" << std::endl;
            break;
        }
        break;
    case 3:
        switch (player02){
        case 1:
            std::cout << "	Player 01 Thua Player 02" << std::endl;
            break;
        case 2:
            std::cout << "	Player 01 Thang Player 02" << std::endl;
            break;
        case 3:
            std::cout << "	Player 01 Hoa Player 02" << std::endl;
            break;
        default:
            std::cout << "	Player 02 Chon Sai! Chon Lai Tu 1->3!" << std::endl;
            break;
        }
        break;
    default:
        std::cout << "	Player 01 Chon Sai! Chon Lai Tu 1->3!" << std::endl;
        break;
    }
    system("Pause");
    return 0;
}


Nguyễn Duy Khánh viết 18:05 ngày 30/09/2018

bài 3 ntn hay hơn , Kéo, búa, giấy là phím k, b, g

#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;

int main() {
	srand(time(0));
	char c = 0;
	char a[3];
	a[0] = 'K';
	a[1] = 'B';
	a[2] = 'G';
	int d = 0;
	
	X:
	cout << "\t\t\t\tDIEM : " << d << "\n\n\n";
	int m = rand() % 3;
 	if (m == 0) {
	 	cout << "Keo !" << endl ;
		c = getch();
		if (c == 98) { cout << "Ban thang roi !" ; d++;
		Sleep(1000);
		system("cls"); goto X; }
		else cout << "Ban thua roi !" ;
		
		}

	if (m == 1) {
		cout << "Bua !" << endl;
		c = getch();
		if (c == 103) { cout << "Ban thang roi !" ; d++;
		Sleep(1000);
		system("cls"); goto X; }
		else cout << "Ban thua roi !" ;
		
		}

	if (m == 2) {
		cout << "Giay !" << endl;
		c = getch();
		if (c == 107) { cout << "Ban thang roi !" ; d++;
		Sleep(1000);
		system("cls"); goto X; }
		else cout << "Ban thua roi !" ;
		
		}
}
AnNdth viết 18:16 ngày 30/09/2018

Bạn có thể chú thích từng dòng code không SoiLuv?

Nguyễn Duy Khánh viết 18:09 ngày 30/09/2018

bạn đọc code không hiểu chỗ nào thì nói rõ mình sẽ giải thích.
thuật toán bài mình làm:

  • Đầu tiên khai báo mảng có 3 phần tử như trên a[0],a[1],a[2]
  • Viết hàm random 3 số là 0,1,2 để làm tính ngẫu nhiên khi chơi với máy
  • Dùng hàm đọc phím để chơi bằng 3 phím k , b , g
  • Xét thắng thua
tntien.ecit viết 18:11 ngày 30/09/2018

BT4: Viết chương trình tính lương của nhân viên dựa theo thâm niên công tác (TNCT) như sau: Lương = hệsố* lương căn bản, trong đó lương căn bản là 650.000 đồng.
• Nếu TNCT < 12 tháng: hệsố= 1.92
• Nếu 12 <= TNCT < 36 tháng: hệsố= 2.34
• Nếu 36 <= TNCT < 60 tháng: hệsố= 3
• Nếu TNCT >= 60 tháng: hệsố= 4.5

#include <iostream>
#include <iomanip>

int main(){
    const int luongcb = 650;
    int tnct;
    double heso, luong, money = 123456789.0;
    std::cout << "Nhap Tham Nien Cong Tac: ";
    std::cin >> tnct;
    if(tnct < 12){
        heso = 1.92;
    }else if (tnct < 36){
        heso = 2.34;
    }else if(tnct < 60){
        heso = 3;
    }else{
        heso = 4.5;
    }
    luong = heso * luongcb;
    //std::cout << "Luong: "<< luong << ".000 VND" << std::endl;
    std::cout << "Luong: " << std::fixed << std::setprecision(3) << luong << " VND" << std::endl;
    system("Pause");
    return 0;
}

Bài này ai biết hàm xuất tiền tệ thì post lên Tiến tham khảo với nhé! VD: 123456.000 Tiến muốn xuất ra 123.456.000!
BT5:Một điểm KARAOKE tính tiền khách hàng theo công thức sau:
• Mỗi giờ trong 3 giờ đầu tiên tính 30 000 đồng/giờ,
• Mỗi giờ tiếp theo có đơn giá giảm 30% so với đơn giá trong 3 giờ đầu tiên.
Ngoài ra nếu thời gian thuê phòng từ8 – 17 giờ thì được giảm giá 10%. Viết chương trình
nhập vào giờ bắt đầu, giờ kết thúc và in ra số tiền khách hàng phải trả biết rằng 8 ≤ giờ bắt đầu < giờ kết thúc ≤24

#include <iostream>
#include <iomanip>

int main(){
    int gioBatDau, gioKetThuc, gio;
    double tien;
    do{
        std::cout << "Nhap Gio Bat Dau: ";
        std::cin >> gioBatDau;
        std::cout << "Nhap Gio Ket Thuc: ";
        std::cin >> gioKetThuc;
    }while (gioBatDau < 8 || gioKetThuc > 24);
    gio = gioKetThuc - gioBatDau;
    if (gio > 3){
        tien = 3 * 30 + (gio - 3) * 30 * 0.7;
    }else{
        tien = gio * 30;
    }
    if (gioKetThuc < 17){
        tien *= 0.9; 
    }
    std::cout << "Tien Gio: " << std::fixed << std::setprecision(3) << tien << " VND" << std::endl;
    system("Pause");
    return 0;
}

BT6: Nhập vào ngày, tháng của một năm hiện tại. Bạn hãy viết chương trình:
• Kiểm tra tính hợp lệ của ngày, tháng nhập;
• Cho biết tháng này thuộc quý mấy trong năm;
• Cho biết tháng nhập có bao nhiêu ngày;
• Cho biết ngày hôm sau của ngày đã nhập là ngày nào;
• Cho biết ngày hôm trước của ngày đã nhập là ngày nào

#include <iostream>

int main(){
    int arrayThang[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int ngay, thang, nam;
    std::cout << "Nhap ngay cua nam hien tai: ";
    std::cin >> ngay;
    std::cout << "Nhap thang cua nam hien tai: ";
    std::cin >> thang;
    std::cout << "Nhap nam cua nam hien tai: ";
    std::cin >> nam;
    if ((nam % 400 == 0) || ((nam % 4 == 0) && (nam % 100 != 0))){ // kiem tra nam nhuan
        arrayThang[1]++;
    }
    if((ngay > 0) && (ngay <= arrayThang[thang - 1] && (thang > 0) && (thang < 13) && nam > 1800)){
        if (thang == 1 || thang == 2 || thang == 3){
            std::cout << "Thang " << thang << " Thuoc quy I!" << std::endl;
        }else if (thang == 4 || thang == 5 || thang == 6){
            std::cout << "Thang " << thang << " Thuoc quy II!" << std::endl;
        }else if (thang == 7 || thang == 8 || thang == 9){
            std::cout << "Thang " << thang << " Thuoc quy III!" << std::endl;
        }else{
            std::cout << "Thang " << thang << " Thuoc quy IV" << std::endl;
        }
        std::cout << "Thang " << thang << " Co " << arrayThang[thang - 1] << " Ngay!" << std::endl;
        if (thang == arrayThang[thang -1]){
            std::cout << "Ngay hom sau la ngay 1" << std::endl;
        }else{
            std::cout << "Ngay hom sau la ngay: "<< ngay + 1 << std::endl;
        }
        if (ngay == 1){
            std::cout << "Ngay hom truoc la ngay: "<< arrayThang[thang -1] << " Thang " << thang - 1 << std::endl;
        }else{
            std::cout << "Ngay hom truoc la ngay: "<< ngay - 1<< std::endl;
        }
    }else{
        std::cout << "Ngay thang ban nhap khong hop le!" << std::endl;
    }
    system("Pause");
    return 0;
}
tntien.ecit viết 18:03 ngày 30/09/2018

BT7: Viết chương trình nhập vào 3 số, tìm số lớn nhất, nhỏ nhất của 3 số đó.

#include <iostream>

int main(){
    //Cach 1
    int arraySo[3], temp;
    std::cout << "Nhap so thu nhat: ";
    std::cin >> arraySo[0];
    std::cout << "Nhap so thu hai : ";
    std::cin >> arraySo[1];
    std::cout << "Nhap so thu ba  : ";
    std::cin >> arraySo[2];
    for (int i = 0; i < 2; i++){
        for (int j = i + 1; j < 3; j++){
            if (arraySo[i] > arraySo[j]){
                temp = arraySo[i];
                arraySo[i] = arraySo[j];
                arraySo[j] = temp;
            }
        }
    }
    std::cout << "So " << arraySo[2] << " la so lon nhat!" << std::endl;
    std::cout << "So " << arraySo[0] << " la so nho nhat!" << std::endl;
    //Cach 2
/*
    int soThuNhat, soThuHai, soThuBa;
    std::cout << "Nhap so thu nhat: ";
    std::cin >> soThuNhat;
    std::cout << "Nhap so thu hai: ";
    std::cin >> soThuHai;
    std::cout << "Nhap so thu ba: ";
    std::cin >> soThuBa;
    if(soThuNhat < soThuHai && soThuNhat < soThuBa){
        std::cout << "So " << soThuNhat << " La So Nho Nhat" << std::endl;
    }else if (soThuHai < soThuNhat && soThuHai > soThuNhat){
        std::cout << "So " << soThuHai << " La So Lon Nhat" << std::endl;
    }else{
        std::cout << "So " << soThuBa << " La So Nho Nhat" << std::endl;
    }
    if (soThuNhat > soThuHai && soThuNhat > soThuBa){
        std::cout << "So " << soThuNhat << " La So Lon Nhat" << std::endl;
    }else if (soThuHai > soThuNhat && soThuHai > soThuBa){
        std::cout << "So " << soThuHai << " La So Lon Nhat" << std::endl;
    }else{
        std::cout << "So " << soThuBa << " La So Lon Nhat" << std::endl;
    }*/

    system("Pause");
    return 0;
}

BT8: Viết chương trình nhập vào 4 số, tìm số lớn nhất, nhỏ nhất của 4 số đó.

#include <iostream>

int main(){
    int arraySo[4], temp;
    std::cout << "Nhap so thu 1: ";
    std::cin >> arraySo[0];
    std::cout << "Nhap so thu 2: ";
    std::cin >> arraySo[1];
    std::cout << "Nhap so thu 3: ";
    std::cin >> arraySo[2];
    std::cout << "Nhap so thu 4: ";
    std::cin >> arraySo[3];
    for (int i = 0; i < 3; i++){
        for (int j = i + 1; j < 4; j++){
            if (arraySo[i] > arraySo[j]){
                temp = arraySo[i];
                arraySo[i] = arraySo[j];
                arraySo[j] = temp;
            }
        }
    }
    std::cout << "So " << arraySo[3] << " la so lon nhat!" << std::endl;
    std::cout << "So " << arraySo[0] << " la so nho nhat!" << std::endl;
    system("Pause");
    return 0;
}

BT9: Viết chương trình giải bất phương trình: ax + b > 0

#include <iostream>

int main(){
    double    a, b;
    do{
        std::cout << "Nhap so A: ";
        std::cin >> a;
        std::cout << "Nhap so B: ";
        std::cin >> b;
    } while (a == 0);
    if (a > 0){
        std::cout << "Nghiem: X > " << -b/a << std::endl;
    }else{
        std::cout << "Nghiem: X < " << -b/a << std::endl;
    }

    system("Pause");
    return 0;
}

BT10: Viết chương trình nhập vào 2 phân số, xuất ra tổng hiệu tích thương của hai phân số đó. Lưu ý kiểm tra điều kiện nhập mẫu khác 0 (dùng do …while).

#include <iostream>

int main(){
    double a, b, c, d;
    do{
        std::cout << "Nhap phan so a/b: ";
        std::cin >> a >> b;
    }while (b == 0);
    do{
        std::cout << "Nhap phan so c/d: ";
        std::cin >> c >> d;
    }while (d == 0);
    std::cout << "Tong 2 phan so la: " << (a/b + c/d) << std::endl;
    std::cout << "Hieu 2 phan so la: " << abs(a/b - c/d) << std::endl;
    std::cout << "Tich 2 phan so la: " << (a/b * c/d) << std::endl;
    if(c != 0){
        std::cout << "Thuong 2 phan so la: " << (a/b / c/d) << std::endl;
    }else{
        std::cout << "Khong thuc thi duoc phep chia!" << std::endl;
    }
    system("Pause");
    return 0;
}

Riêng BT 10 mình làm như vậy! mà sao nhập phân số thứ 2 nó không cho nhập! debug thì nó vẫn vào! ai biết sửa lỗi đó giúp Tiến với nhé!
Thanks All!

AnNdth viết 18:10 ngày 30/09/2018

Mình nhập vào vẫn được mà bạn???

tntien.ecit viết 18:10 ngày 30/09/2018

Có thử nhập một phân số chưa vậy? VD: 5/10! ở đây là bạn nhập 5 10 đúng vậy k?

AnNdth viết 18:11 ngày 30/09/2018

Đúng rồi bạn. Mình nhập như trên hình đó.

tntien.ecit viết 18:10 ngày 30/09/2018

Đúng rồi bạn. Mình nhập như trên hình đó

giờ thử nhập 5/10 có dấu chia đó xem nó có nhận không ban?

AnNdth viết 18:08 ngày 30/09/2018

Nó sẽ không nhận ra đâu bạn, vì mình nghĩ là cin>> chỉ có thể nhập một số thôi chứ ký tự nó sẽ không nhận ra. Nên khi nhập một ký tự bất kỳ nó sẽ lỗi và không thể nhập tiếp đc. Nếu bạn muốn nó tính đc thì bạn phải dùng hàm chồng chất toán tử.

Noro viết 18:12 ngày 30/09/2018

Mình nghĩ nên có dòng chú thích // phía sau code để các beginner có thể hiểu dòng đó làm những gì

Noro viết 18:03 ngày 30/09/2018

system(“cls”)

đoạn này có nghĩa gì ?

Đỗ Trung Quân viết 18:02 ngày 30/09/2018

SoiLuv:
system(“cls”)

đoạn này có nghĩa gì ?

Dùng để Clear Screen .

Ema viết 18:07 ngày 30/09/2018

Có code oan tu ti bằng PHP không các bro, cho e xin với

Con Nhà Người Ta viết 18:16 ngày 30/09/2018

Chủ thớt ơi giải thích cho mình bài 7 với bài 8 được không?
Mình mới học nên hơi gà con tí

đỗ thế anh viết 18:16 ngày 30/09/2018

cho em hỏi những câu lệnh std : : cout hay std : : cin dùng để làm gì vậy ạ
???

Con Nhà Người Ta viết 18:13 ngày 30/09/2018

cout cin là để nhập xuất dữ liệu đó bạn

Bài liên quan
0