[Kỹ thuật lập trình - C/C++] Cấu trúc điều khiển trong C/C++ [Bài tập 170816]

[Kỹ thuật lập trình - C/C++] Cấu trúc điều khiển trong C/C++ [Bài tập 170816]


Cấu trúc điều khiển trong C/C++
* Tóm tắt lý thuyết
 + Cấu trúc rẽ nhánh
   if (điều kiện)
   {
      Câu lệnh 1;
   }
   else
   {
     Câu lệnh 2;
    }

  Trong đó: 
    - điều khiện: biểu thức logic
    - else có thể có hoặc không
    - Câu lệnh có thể là lệnh đơn, lệnh phúc hoặc cấu trúc khác

 + Cấu trúc lựa chọn
   switch (biểu thức) {
      case gt1:
       Câu lệnh 1;
       [break;]
      
      case gt2:
       Câu lệnh 2;
       [break;]
   
       ...
      case gtn:
       Câu lệnh n;
       [break;]
   [    default:
      Câu lệnh 0;   ]
   }

  Trong đó:
    - Biểu thức cho giá trị cụ thể
    - break,default: có thể có hoặc không
    - Câu lệnh có thể là lệnh đơn, lệnh phức, hoặc một cấu trúc khác

 + Cấu trúc lặp
   - for
     for (bt khởi tạo ; điều kiện ; bt thiết lập lại)
      {
        câu lệnh ;
      }

   - while
     while (điều kiện)
      {
         Câu lệnh;
      }


   - do/while
    do{
      Câu lệnh;
   } while (điều kiện);

 

* Bài tập áp dụng 
 (Chương trình được mã hóa trên TurboC++ 3.0)

Bài 1 Quản lý điểm
- Nhập vào điểm 5 học kỳ và số tín chỉ tương ứng
 (0 <= điểm <= 10, 20 <= số tín chỉ <= 25)
- Tính điểm trung bình
- In ra điểm chữ và điểm tích lũy

#include<iostream.h>
#include<conio.h>

void main(){
// khai bao bien
float diemK1,diemK2,diemK3,diemK4,diemK5;
int tcK1,tcK2,tcK3,tcK4,tcK5;
// Nhap diem va so tin chi

cout<<"\n Nhap diem: ";
do{
  cout<<"\n Diem ky 1: "; cin>>diemK1;
  if(diemK1<0||diemK1>10)
    cout<<"\n Nhap lai diem !";
  }while(diemK1<0||diemK1>10);


do{
  cout<<"\n Diem ky 2: "; cin>>diemK2;
  if(diemK2<0||diemK2>10)
    cout<<"\n Nhap lai diem !";
  }while(diemK2<0||diemK2>10);


do{
  cout<<"\n Diem ky 3: "; cin>>diemK3;
  if(diemK3<0||diemK3>10)
    cout<<"\n Nhap lai diem !";
  }while(diemK3<0||diemK3>10);


do{
  cout<<"\n Diem ky 4: "; cin>>diemK4;
  if(diemK4<0||diemK4>10)
    cout<<"\n Nhap lai diem !";
  }while(diemK4<0||diemK4>10);


do{
  cout<<"\n Diem ky 5: "; cin>>diemK5;
  if(diemK5<0||diemK5>10)
    cout<<"\n Nhap lai diem !";
  }while(diemK5<0||diemK5>10);

cout<<"\n \n Nhap so tin chi: ";

do{
  cout<<"\n So tin chi ky 1: "; cin>>tcK1;
  if(tcK1<20||tcK1>25)
    cout<<"\n Nhap lai so tin chi !";
  }while(tcK1<20||tcK1>25);


do{
  cout<<"\n So tin chi ky 2: "; cin>>tcK2;
  if(tcK2<20||tcK2>25)
    cout<<"\n Nhap lai so tin chi !";
  }while(tcK2<20||tcK2>25);
 

do{
  cout<<"\n So tin chi ky 3: "; cin>>tcK3;
  if(tcK3<20||tcK3>25)
    cout<<"\n Nhap lai so tin chi !";
  }while(tcK3<20||tcK3>25);

do{
  cout<<"\n So tin chi ky 4: "; cin>>tcK4;
  if(tcK4<20||tcK4>25)
    cout<<"\n Nhap lai so tin chi !";
  }while(tcK4<20||tcK4>25);

do{
  cout<<"\n So tin chi ky 5: "; cin>>tcK5;
  if(tcK5<20||tcK5>25)
    cout<<"\n Nhap lai so tin chi !";
  }while(tcK5<20||tcK5>25);


 // Tinh diem
float 
diemTB=(diemK1*tcK1+ diemK2*tcK2+ diemK3*tcK3+ diemK4*tcK4+ diemK5*tcK5) / (tcK1+tcK2+tcK3+tcK4+tcK5);

// in diem chu, diem tich luy
char diemChu;
int diemTL;
if(diemTB>=8.5) {diemChu='A'; diemTL=4;}
else
  if(diemTB>=7) {diemChu='B'; diemTL=3;}
  else 
   if(diemTB>=5.5) {diemChu='C'; diemTL=2;}
   else
    if(diemTB>=4) {diemChu='D'; diemTL=1;} 
    else
           {diemChu='F'; diemTL=0;} 
cout<<"\n *Diem chu: "<<diemChu<<"\n *Diem tich luy: "<<diemTL; 

getch();



 

 -----------------------------------------------------
Bài 2: Tính s=x/1 +x^2/2 +... + x^n/n
  (x là số thực, 1 <= x <=3; n là số nguyên 3<= n <= 100)


#include<iostream.h>
#include<conio.h>
#include<math.h>

void main(){
// khai bao bien
 float x;
 int n;
// Nhap so lieu
do{
  cout<<"\n x: "; cin>>x;
  if(x<1||x>3)
    cout<<"\n Nhap lai x !";
  }while(x<1||x>3);


do{
  cout<<"\n n: "; cin>>n;
  if(n<3||n>100)
    cout<<"\n Nhap lai n !";
  }while(n<3||n>100);

// Tinh S
float s=0;
for(int i=1;i<=n;i++)
  s=s+(float)pow(x,i)/i;
cout<<"\n S= "<<s;

getch();
}


--------------------------
>> Tham khảo thêm Tại đây





 

[Java căn bản] Cấu trúc if - else trong Java

[Java căn bản] Cấu trúc if - else trong Java 

* Cú pháp
if (biều thức điều kiện)
{
   Công việc 1;
}
else
{
   Công việc 2;
}

** Lưu đồ

/*
 Bài tập ví dụ cấu trúc if / else trong lập trình Java
 http://lap-trinh-may-tinh.blogspot.com/
Lưu ý:
 - Chương trình viết trên công cụ Netbean.
 - Các ví dụ viết trong cùng project baitap160816.
*/


package baitap160816;
import java.util.Scanner;

/* Bài 1: 
    Giải và biện luận ax^2 + bx + c =0
    (a, b, c nhập từ bàn phím)
*/
 
class Bai1{
    float a,b,c;
 
    // Nhập a,b,c
    void NhapHS(){
        Scanner inp=new Scanner(System.in);
        System.out.println(" ***************** \n Bài1: \n Nhap he so: ");
        System.out.print("\n a= ");
        a=inp.nextFloat();
        System.out.print("\n b= ");
        b=inp.nextFloat();
        System.out.print("\n c= ");
        c=inp.nextFloat();
    }
    // Giải và biên luận
    void Giai_BL(){
        if(a==0)
            if(b==0)
                if(c==0)
                    System.out.println("Phuong trinh vo so nghiem");
                else
                    System.out.println("Phuong trinh vo nghiem");
            else
                System.out.println("Phuong trinh co 1 nghiem x="+(-c/b));
        else
        {
            float delta=b*b-4*a*c;
            if (delta<0)
                System.out.println("Phuong trinh vo nghiem");
            if(delta==0)
                System.out.println("Phuong trinh co nghiem kep x1=x2="+(-b/(2*a)));
            if(delta>0)
                System.out.println("Phuong trinh co 2 nghiem x1= "+(-b-Math.sqrt(delta))/(2*a)+"; x2= "+(-b+Math.sqrt(delta))/(2*a));
        }
                 
    }
 
}


/* -------------------------------------------- */

/*  Bài 2
-Nhập vào điểm lập trình C (5 tín chỉ), csdl (3 tín chỉ), tiếng anh (4 tín chỉ), mạng máy tính (2 tín chỉ)
-Tính điểm trung bình
-In ra điểm chữ
*/

class Bai2{
    float dLTC,dCSDL,dTA,dMangMT;
 
    // Nhập a,b,c
    void NhapDiem(){
        Scanner inp=new Scanner(System.in);
        System.out.println(" ***************** \n Bài2:  \n Nhap Nhap diem: ");
        System.out.print("\n Diem LT C= ");
        dLTC=inp.nextFloat();
        System.out.print("\n Diem CSDL= ");
        dCSDL=inp.nextFloat();
        System.out.print("\n Diem TA= ");
        dTA=inp.nextFloat();
        System.out.print("\n Diem Mạng may tinh= ");
        dMangMT=inp.nextFloat();
    }

    // Tính điểm trung bình và in điểm chữ

    void TinhDiem(){
     
         float dTB;
         dTB=(dLTC*4+dCSDL*3+dTA*4+dMangMT*2)/13;
         // In diem TB
          System.out.println("Diem trung binh = "+dTB);
       
        // In diem chu
        char dChu;
        if(dTB>=8.5) dChu='A';
        else
            if(dTB>7.0) dChu='B';
            else
                if (dTB>5.5) dChu='C';
                else
                    if(dTB>4.0) dChu='D';
                    else dChu='F';
         System.out.println("Diem chu = "+dChu);
    }
}



/*
Class chính -    Khai báo đối tượng
*******************************************
*/

public class BaiTap160816 {
    public static void main(String[] args) {
     
        // Khai bao doi tuong Bai 1
        Bai1 t1=new Bai1();
        t1.NhapHS();
        t1.Giai_BL();
     
        // Khai bao doi tuong Bai 2
        Bai2 t2=new Bai2();
        t2.NhapDiem();
        t2.TinhDiem();
    }
 
}


---------------------------
Xem thêm tài liệu hướng dẫn Java Tại đây


http://lap-trinh-may-tinh.blogspot.com

[Java] Ví dụ về lớp trừu tượng và phương thức trừu tượng (abstract) - Tính điểm [Lập trình hướng đối tượng - OOP]

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

Trong đó: Điểm tổng kết = trung bình cộng theo số tín chỉ của từng môn học.

[NetBean]
1. Xây dựng Project như sau:

2. Code:
//-------------------------------------------
// class SV
//-------------------------------------------

package vd_adstract_130114;
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 Main

/*
 * http://www.laptrinhmaytinh.net
 */

package vd_adstract_130114;

public class VD_adstract_130114 {

    public static void main(String[] args) {
        // khai bao doi tuong SVCD
        SVCD t=new SVCD("Nguyen Van A","DH Thanh Do","CAO DANG",1994,6,7,8,9);
        t.InKQ();
        // khai bao doi tuong SVDH
        SVDH t1=new SVDH("Nguyen Van B","DH Thanh Do","DAI HOC",1994,8,7,7,8,9);
        t1.InKQ();
        
    }    

}


[Java] Hiển thị ngày và thời gian hiện tại

Để hiện thị ngày tháng và thời gian hiện tại của hệ thống chỉ cần khai báo thư viện
// get current date and time
java.util.Date date=new java.util.Date();


Code Java: Hiển thị ngày, thời gian hiện tại dưới dạng đồng hồ số

/******************************************************************************
* File : SimpleClock.java
* Author : http://lap-trinh-may-tinh.blogspot.com/
* Description :
* Display a digital clock
* Tested with : JDK 1.6
******************************************************************************/

import javax.swing.JLabel;
public class SimpleClock {

public static void main(String[] args) throws Exception
{

// create a image label
JLabel label=new JLabel("", JLabel.CENTER);
label.setPreferredSize(new java.awt.Dimension(300,200));

// create frame
javax.swing.JFrame frame=new javax.swing.JFrame();
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
frame.setTitle("Macteki SimpleClock");
frame.add(label); // add the imageLabel to the frame
frame.pack(); // set the window size to the size of the component (imageLabel)
frame.setVisible(true);
while (true)
  {
   Thread.sleep(500);
   java.util.Date date=new java.util.Date();
   label.setText(""+date);
  }
 }
}

Danh mục bài viết