[Tự học C/C++] Bài tập cấu trúc if

Bài tập ví dụ cấu trúc if

Ví dụ 1.  Viết chương trình nhập vào 2 số là tháng và năm của một năm. Xét xem tháng đó
có bao nhiêu ngày? Biết rằng:
·      Nếu tháng là 4, 6, 9, 11 thì số ngày là 30.
·      Nếu tháng là 1, 3, 5, 7, 8, 10, 12 thì số ngày là 31.
·      Nếu tháng là 2 và năm nhuận thì số ngày 29, ngược lại thì số ngày là 28.


#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main() {
    // khai bao
    int thang, nam;
    // nhap thang
    cout<<"\n Thang: "; cin>>thang;
    if(thang<=0||thang>12)
        cout<<"\n Nhap thang khong dung";
    else
        {
            cout<<"\n Nam: "; cin>>nam;
            if(nam<0)
                cout<<"\n Nhan nam sai";
            else
                {
                if(thang==1||thang==3||thang==5||thang==7||thang==8||thang==10||thang==12)
                    cout<<"\n Thang co 31 ngay";
                if(thang==4||thang==6||thang==9||thang==11)
                    cout<<"\n Thang co 30 ngay";
                if(thang==2)
                    if(nam%4==0)
                        cout<<"\n Thang co 29 ngay";
                    else cout<<"\n Thang co 28 ngay";
                }
        }
    
    return 0;
}

//**************

Ví dụ 2. Một số nguyên dương chia hết cho 3 nếu tổng các chữ số của nó chia hết cho 3. Viết chương trình nhập vào một số có 3 chữ số, kiểm tra số đó có chia hết cho 3 dùng tính chất trên.



#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main() {
    int a,dv,ch,tr;
    // Nhap so co 3 chu so
    cout<<"\n Nhap so co 3 chu so: ";
    cin>>a;
    if(a<100||a>999)
        cout<<"\n Nhap khong dung \n";
    else
    {
        // tach cac chu so cua a
        dv=a%10;
        ch=(a/10)%10;
        tr=a/100;
        
        if((dv+ch+tr)%3==0)
            cout<<"\n "<<a<<" chia het cho 3 \n";
        else
            cout<<"\n "<<a<<" khong chia het cho 3\n ";
    }
    
    return 0;

Ví dụ Xây dựng mảng đối tượng trọng trong Java

Xây dựng project theo mô hình kế thừa:



Yêu cầu:

1. Nhập thông tin cho n sinh viên (3<n<30)

2. In ra danh sách sinh viên có điểm chữ là A

3. Đổi tên tên cả sinh viên thành chữ in hoa

--------------------

Xây dựng project với các lớp theo hình vẽ dưới đây


Code:

// class SV


package vd_adstract_130114;
import java.util.Scanner;

abstract class SV {
    String hoTen, diaChi,he;
    int namSinh;
    // phuong thuc khoi tao
    public SV(String hoTen, String diaChi,String he,int namSinh){
        this.hoTen=hoTen;
        this.diaChi=diaChi;
        this.he=he;
        this.namSinh=namSinh;
    }
    
    // Tinh diem
    abstract float TinhDiem();
    // diem chu
    char DiemChu(){
        float diem=TinhDiem();
        char dchu;
        if(diem<4)
            dchu='F';
        else if(diem<5.5)
            dchu='D';
        else if(diem<7)
            dchu='C';
        else if(diem<8.5)
            dchu='B';
        else dchu='A';
        
        return dchu;
    }
    // in ket qua
    void InKQ(){
        System.out.print("\n\n IN KET QUA SINH VIEN "+he);
        System.out.print("\n + Ho ten: "+hoTen);
        System.out.print("\n + Dia chi: "+diaChi);
        System.out.print("\n + Nam sinh: "+namSinh);
        System.out.print("\n + Diem tong ket: "+TinhDiem());
        System.out.println("\n + Diem chu: "+DiemChu());        
    }


}


// class SVCD

package vd_adstract_130114;

class SVCD extends SV{
    float dTA,dToan,dLT,dCSDL;
    // khoi tao
    public SVCD(String hoTen, String diaChi,String he,int namSinh,float dTA, float dToan,float dLT,float dCSDL){
        super(hoTen,diaChi,he,namSinh);
        this.dCSDL=dCSDL;
        this.dLT=dLT;
        this.dTA=dTA;
        this.dToan=dToan;
    }

 
 
    // Tinh diem
    float TinhDiem(){
        return (dTA*2+dToan*2+dLT*3+dCSDL*2)/10;
    }

}


// class SVDH

package vd_adstract_130114;


public class SVDH extends SV {
    float dTA,dToan,dLT,dCSDL,dTTNT;
    // khoi tao
    public SVDH(String hoTen, String diaChi,String he,int namSinh,float dTA, float dToan,float dLT,float dCSDL,float dTTNT){
        super(hoTen,diaChi,he,namSinh);
        this.dCSDL=dCSDL;
        this.dLT=dLT;
        this.dTA=dTA;
        this.dToan=dToan;
    }
    // Tinh diem
    float TinhDiem(){
        return (dTA*2+dToan*2+dLT*3+dCSDL*2+dTTNT*2)/12;
    }


}



// class _adstract_130114 (class main)


package vd_adstract_130114;
import java.util.Scanner;
/**
 *
 * @author tranxuanthanh
 */
public class Vd_adstract_130114 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        
        // khai bao mang doi tuong
        SV[] a =new SV[30];
        // Nhap thong tin sinh vien
        System.out.print("\n Chon he sinh vien \n 1 - Dai hoc; \n 2 - Cao dang; \n 3 - thoat \n Nhap so: ");
        
        // Nhap he (Dai hoc hoac Cao dang)
        Scanner inp=new Scanner(System.in);
        int chonHe;
        do{
            chonHe=inp.nextInt();
            if(chonHe!=1 && chonHe!=2&&chonHe!=3)
             System.out.print("\n Chon he chua dung!");
        }while(chonHe!=1 && chonHe!=2&&chonHe!=3);
        
        // Nhap so sinh vien
        
        System.out.print("\n Nhap so sinh vien \n n= ");
        int n;
        do{
            n=inp.nextInt();
            if(n<3 && n>30)
             System.out.print("\n Nhap lai so sinh vien!");
        }while(n<3 && n>30);
        
        String hoTen, diaChi, he;
        int namSinh; 
        float d1, d2, d3, d4,d5;
                
        switch (chonHe){
            
            // SINH VIEN CAO DANG
            case 2:
            {
                
               
                for (int i=0;i<n;i++){
                    System.out.print("\n Nhap thong tin cho sv thu"+(i+1));
                    System.out.print("\n + Ho va ten: ");
                    hoTen = inp.next();
                    System.out.print("\n + Dia chi: ");
                    diaChi = inp.next();
                    he = "Cao dang";
                    System.out.print("\n + Nam sinh: ");
                    namSinh = inp.nextInt();
                    do{
                        System.out.print("\n + Diem 1: ");
                        d1 =inp.nextFloat();
                        if(d1<0&&d1>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d1<0&&d1>10);
                    
                    do{
                        System.out.print("\n + Diem 2: ");
                        d2 =inp.nextFloat();
                        if(d2<0&&d2>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d2<0&&d2>10);
                    
                    do{
                        System.out.print("\n + Diem 3: ");
                        d3 =inp.nextFloat();
                        if(d3<0&&d3>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d3<0&&d3>10);
                    
                    do{
                        System.out.print("\n + Diem 4: ");
                        d4 =inp.nextFloat();
                        if(d4<0&&d4>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d4<0&&d4>10);
                    
                     // khoi tao mang doi tuong
                    a[i] = new SVCD(hoTen,diaChi, he,namSinh,d1,d2,d3,d4);
                   
                    
                }
                
                 // in danh sach sinh vien co diem chu A
                System.out.print("\n * IN DANH SACH SV CO DIEM CHU LA A: \n");
                 for(int i=0;i<n;i++)
                    if(a[i].DiemChu()=='A')
                        a[i].InKQ();
                  // Doi ten sinh vien sang chu in hoa
                  System.out.print("\n * IN TEN SINH VIEN DA DOI THANH CHU HOA \n");
                  for(int i=0;i<n;i++){
                   a[i].hoTen = a[i].hoTen.toUpperCase();
                   System.out.print("\n" + a[i].hoTen);
                   
                  }
            }
            
            // SINH VIEN DAI HOC
            case 1:
            {
                for (int i=0;i<n;i++){
                    System.out.print("\n Nhap thong tin cho sv thu"+(i+1));
                    System.out.print("\n + Ho va ten: ");
                    hoTen = inp.next();
                    System.out.print("\n + Dia chi: ");
                    diaChi = inp.next();
                    he = "Dai hoc";
                    System.out.print("\n + Nam sinh: ");
                    namSinh = inp.nextInt();
                    do{
                        System.out.print("\n + Diem 1: ");
                        d1 =inp.nextFloat();
                        if(d1<0&&d1>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d1<0&&d1>10);
                    
                    do{
                        System.out.print("\n + Diem 2: ");
                        d2 =inp.nextFloat();
                        if(d2<0&&d2>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d2<0&&d2>10);
                    
                    do{
                        System.out.print("\n + Diem 3: ");
                        d3 =inp.nextFloat();
                        if(d3<0&&d3>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d3<0&&d3>10);
                    
                    do{
                        System.out.print("\n + Diem 4: ");
                        d4 =inp.nextFloat();
                        if(d4<0&&d4>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d4<0&&d4>10);
                    
                    do{
                        System.out.print("\n + Diem 5: ");
                        d5 =inp.nextFloat();
                        if(d5<0&&d5>10)
                            System.out.print("\n Nhap lai diem! ");
                    }while(d5<0&&d5>10);
                    
                     // khoi tao mang doi tuong
                    a[i] = new SVDH(hoTen,diaChi, he,namSinh,d1,d2,d3,d4,d5);
                   
                    
                }
               
                 // in danh sach sinh vien co diem chu A
                System.out.print("\n * IN DANH SACH SV CO DIEM CHU LA A: \n");
                 for(int i=0;i<n;i++)
                    if(a[i].DiemChu()=='A')
                        a[i].InKQ();
                 // Doi ten sinh vien sang chu in hoa
                  System.out.print("\n * IN TEN SINH VIEN DA DOI THANH CHU HOA \n");
                  for(int i=0;i<n;i++){
                   a[i].hoTen = a[i].hoTen.toUpperCase();
                   System.out.print("\n" + a[i].hoTen);
                   
                  }
                 
            }
                 default :
                System.out.print("\n Ket thuc ");
        }
        
        
    }
    

}