Pages

Hướng dẫn làm Form Bán Hàng


Wednesday, December 9, 2015


Wednesday, January 7, 2015

Bài Tập Vòng Lặp Trong C++



Bài 1: 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ố.

Bài 2: 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à 650000 đồ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
Hướng dẫn:

const int luongcb = 650;
int tnct;
double heso, luong;
if (tnct < 12) heso = 1.92;
else if (tnct < 36) heso = 2.34;
else if (tnct < 60) heso = 3;
else heso = 4.5;
luong = luongcb * heso;
Bài 3: Viết chương  trình đếm và  in  ra số  lượng các số nguyên chia hết cho 3 hoặc 7 nằm  trong
đoạn 1 đến 100.

int Dem = 0;
for (int i = 1; i <= 100; i++)
  if( (i % 3 ==0) || (i % 7 == 0))
  {
    Dem++;
}
Bài 4: Viết chương trình in ra bảng cửu chương.

 for(int i = 1; i < 10; i++)
    {
            for(int j = 2; j < 6; j++)
                    cout<<j<<" x "<<i<<" = "<<setw(2)<<j*i<<"  ";
            cout<<endl;
    }
Bài 5: Viết chương trình nhập vào số nguyên n. Tính và in ra các tổng sau:

S = 1 + 2 + 3+ ... + n

Lưu ý: Sử dụng vòng lặp do...while để tính

Các bạn nào làm chưa được có thể comment bên dưới để được giải đáp nha. Thân !!!

Vòng Lặp Trong C/C++


Cấu trúc lặp do...while
Cú pháp:
                        do
                        Khối lệnh;
                        while (biểu thức);
Giải thích cú pháp:
Bước 1: thực hiện khối lệnh sau do.
Bước 2: kiểm tra giá trị biểu thức <biểu thức> sau while, nếu có giá trị ‘đúng’ ( khác 0) thì lặp lại bước 1, nếu ‘sai’ (=0) thì kết thúc vòng lặp.

VD: Nhập vào 1 số.nếu không nhập số 0 thì vòng lặp sẽ tiếp tục đòi nhập

#include<iostream.h>
main()
{
unsigned long n;
do  
        {
            cout<< "Nhap vao 1 day so khong cach"; cin>>n;
            cout<< "Ban da nhap so"<<n<<endl;
         }
while (n!=0);
return 0;
}

Cấu trúc lặp "while"
Cú pháp:
            while(biểu thức)
            Khối lệnh;

Sự hoạt động của vòng lặp while:
Bước 1: tính giá trị của (biểu thức) sau while
Bước 2: nếu giá trị tính được của (biểu thức) là ‘sai’ (==0) thì kết thúc  vòng lặp while.
Bước 3: nếu giá trị của (biểu thức) là ‘đúng’ (!=0) thì thực hiện khối lệnh sau while.
Bước 4: quay lại bước 1
Chú ý: Thân while có thể được thực hiện một lần hoặc nhiều lần và cũng có thể không được thực hiện lần nào nếu ngay từ đầu biểu thức sau while đã sai.

VD 1:Viết 1 chương trình đếm ngược
#include<iostream.h>
main()
{
    int n;
    cout<< "Nhap vao  1 so (hay day so khong cach)"; cin>>n;
    while (n>0)
                 {
                 cout<< n<< ",";
                  --n;
                  }
    cout<< "Ket thuc";
    return  0;
}

VD2: Viết chương trình tính và in S = 1 +1/(2!) +1/(3!)+..+1/(n!) với n nhập từ bàn phím, 0<n<10.

#include <iostream.h>
const int Max =10; // gioi han
void main()
{
    int n, k ;
    float S, pt;
    cout<<"\nNhap n = ";
    cin>>n;
    while((n<=0)||(n>Max))
            {
                cout<<"\nNhap lai n (0<n<="<<Max;
                cin>>n;
            }
    S=pt=1; k=2;
    while(k<=n)
            {
                pt /=k;
                S+=pt;
                k++;
            }
    cout<<"\nGia tri tong S = “<<S;
}


Cấu trúc lặp for
Cú pháp:
         
            for (biểu thức 1; biểu thức 2; biểu thức 3)
            Khối lệnh;


Trong đó:
    Biểu thức 1: biểu thức khởi đầu.
    Biểu thức 2: biểu thức điều kiện - điều kiện lặp.
    Biểu thức 3: bước nhảy - thường dùng với ý nghĩa là thay đổi bước nhảy.
Cả 3 biểu thức này đều là tuỳ chọn, chúng có thể vắng mặt trong câu lệnh cụ thể nhưng các dấu chấm phẩy vẫn phải có.
Sự hoạt động của vòng lặp for:

•          Bước 1: Thực hiện biểu thức khởi đầu – Biểu thức 1.

•          Bước 2: Tính giá trị biểu thức 2 để xác định điều kiện lặp.
  Nếu biểu thức 2 có giá trị ‘sai’ (==0) thì ra khỏi vòng lặp.
  Ngược lại, nếu biểu thức có giá trị ‘đúng’ ( khác 0) thì chuyển tới bước 3.

•          Bước 3: Thực hiện khối lệnh sau for ( thân của for ), chuyển tới bước 4.

•          Bước 4: Thực hiện biểu thức 3, rồi quay về bước 2.

Biểu diễn bằng lưu đồ:



VD1: Đếm ngược từ 10->1

#include<iostream.h>
main()
{
          for (int n = 10; n>0; n--)
          {
              cout<< n<< ",";
          }
cout<< "Ket thuc";
return 0;
}
VD2: Nhập vào một dãy số nguyên, tìm số lớn nhất và nhỏ nhất trong dãy.

#include <iostream.h>
void main()
{
                        int n,a,max,min,i;
                        do
                        {
                                     cout<<"Nhap so phan tu cua day : ";
                                     cin>>n;
                        }
                        while(n<1);
cout<<"Nhap so :"; cin>>a;
max=min=a;
for(i=2; i<=n; i++)
             {
                          cout<<"Nhap so : "; cin>>a;
                          if(a>max)
                          max=a;
                          else if(a<min)
                          min =a;
             }
cout<<"\nGia tri lon nhat ="<<max<<"\nGia tri nho nhat = "<<min;
}

Cấu trúc của một chương trình C++


Có lẽ một trong những cách tốt nhất để bắt đầu học một ngôn ngữ lập trình là bằng một chương trình. Vậy đây là chương trình đầu tiên của chúng ta:

// my first program in C++

#include <iostream>

int main (){
  cout << “Hello World!”;
  return 0;
}

Hello World!
Trên đây là chương trình đầu tiên mà hầu hết những người học nghề lập trình cần làm quen và kết quả của nó là viết câu “Hello, World” lên màn hình. Chương trình thuộc mức đơn giản nhất của C++, nhưng nó đã bao gồm những phần cơ bản mà mọi chương trình C++ có. Hãy cùng xem xét từng dòng một:

// my first program in C++

Đây là dòng chú thích. Tất cả các dòng bắt đầu bằng hai dấu sổ (//) được coi là chú thích và chúng không có bất kỳ một ảnh hưởng nào đến hoạt động của chương trình. Chúng được dùng để giải thích hay bình phẩm bên trong mã nguồn của chương trình. Trong trường hợp này, dòng chú thích là một giải thích ngắn gọn những gì mà chương trình chúng ta làm.

#include

Các câu bắt đầu bằng dấu (#) được dùng cho chương trình xử lý mã trước khi dịch (preprocessor). Chúng không phải là những dòng mã thực hiện nhưng được dùng để báo hiệu cho trình dịch. Ở đây câu lệnh, #include báo cho trình dịch biết cần phải “include (nạp)” thư viện iostream. Đây là một thư viện vào ra cơ bản trong C++ và nó phải được “include” vì nó sẽ được dùng trong chương trình. Đây là cách cổ điển để sử dụng thư viện iostream.

int main ()

Dòng này tương ứng với phần bắt đầu khai báo hàm main. Hàm main là điểm mà tất cả các chương trình C++ bắt đầu thực hiện. Nó không phụ thuộc vào vị trí của hàm này (ở đầu, cuối hay ở giữa của mã nguồn) mà nội dung của nó luôn được thực hiện đầu tiên khi chương trình bắt đầu. Thêm vào đó, do nguyên nhân nói trên, mọi chương trình C++ đều phải tồn tại một hàm main.

Theo sau main là một cặp ngoặc đơn bởi vì nó là một hàm. Trong C++, tất cả các hàm mà sau đó là một cặp ngoặc đơn () thì có nghĩa là nó có thể có hoặc không có tham số (không bắt buộc). Nội dung của hàm main tiếp ngay sau phần khai báo chính thức được bao trong các ngoặc nhọn ( { } ) như trong ví dụ của chúng ta.

cout << “Hello World”;

Dòng lệnh này có vai trò quan trọng nhất của chương trình. Cout là một dòng (stream) output chuẩn trong C++, được định nghĩa trong thư viện iostream và những gì mà dòng lệnh này làm là gửi chuỗi ký tự “Hello World” ra màn hình.

Chú ý rằng dòng này kết thúc bằng dấu chấm phẩy (;). Ký tự này được dùng để kết thúc một lệnh và bắt buộc phải có sau mỗi lệnh trong chương trình C++ của bạn (một trong những lỗi phổ biến nhất của những lập trình viên C++ là quên mất dấu chấm phẩy).

return 0;

Lệnh return kết thúc hàm main và trả về mã đi sau nó, trong trường hợp này là 0. Đây là một kết thúc bình thường của một chương trình không có một lỗi nào trong quá trình thực hiện. Như bạn sẽ thấy trong các ví dụ tiếp theo, đây là một cách phổ biến nhất để kết thúc một chương trình C++.

Chương trình được cấu trúc thành những dòng khác nhau để nó trở nên dễ đọc hơn nhưng hoàn toàn không phải bắt buộc phải làm vậy. Ví dụ, thay vì viết

int main ()

{

cout << ” Hello World “;
return 0;

}

ta có thể viết

int main () { cout << ” Hello World “; return 0; }

cũng cho một kết quả chính xác như nhau.

Trong C++, các dòng lệnh được phân cách bằng dấu chấm phẩy (;). Việc chia chương trình thành các dòng chỉ nhằm để cho nó dễ đọc hơn mà thôi.

Cách chú thích

Các chú thích được lập trình viên sử dụng để ghi chú hay mô tả trong các phần của chương trình. Trong C++ có hai cách để chú thích:

// Chú thích theo dòng

/* Chú thích theo khối */

Chú thích theo dòng bắt đầu từ cặp dấu sổ (//) cho đến cuối dòng. Chú thích theo khối bắt đầu bằng /* và kết thúc bằng */ và có thể bao gồm nhiều dòng. Chúng ta sẽ thêm các chú thích cho chương trình:

/* my second program in C++ with more comments */
#include <iostream>
int main ()
{    cout << “Hello World! “; // says Hello World!
      cout << “I”m a C++ program”; //says I”m a C++ program
      return 0;
}
Hello World! I”m a C++ program.
Nếu bạn viết các chú thích trong chương trình mà không sử dụng các dấu //, /* hay */, trình dịch sẽ coi chúng như là các lệnh C++ và sẽ hiển thị các lỗi.

Saturday, January 3, 2015

Ẩn Dữ Liệu Không Dùng Phần Mềm


Các bạn chép đoạn code vào notepad. Sau đó lưu lại có đuôi là .bat. Chạy .bat mới vừa tạo. Nhập mật khẩu --->Chép các file cần ẩn vào thư mục. Chạy lại .bat.

Code :

cls 
ECHO OFF 
tiêu đề thư mục Baomat 
nếu EXIST "HTG Locker" goto UNLOCK 
nếu không tồn tại Baomat goto MDLOCKER 
: CONFIRM 
Echo Bạn có chắc chắn bạn muốn khóa thư mục (Y / N) 
set / p "cho =>" 
if% cho% == Y goto KHÓA 
if% cho% == y goto KHÓA 
if% cho% == n goto END 
if% cho% == N goto END 
vang lựa chọn không hợp lệ. 
goto CONFIRM 
: KHÓA 
ren Baomat "HTG Locker" 
attrib + h + s "HTG Locker" 
vang Thư mục bị khóa 
goto End 
: UNLOCK 
echo Nhập mật khẩu để mở khóa thư mục 
set / p "vượt qua =>" 
nếu không vượt qua%% == PASSWORD_HIT goto FAIL 
attrib -h -s "HTG Locker" 
ren "HTG Locker" Baomat 
Thư mục thành công vang Unlocked 
goto End 
: FAIL 
vang mật khẩu không hợp lệ 
goto cuối 
: MDLOCKER 
md Baomat 
vang Baomat tạo thành công 
goto End 
: End

Lưu ý: PASSWORD_HIT là mật khâu để vào thư mục. Các bạn có thể đổi nó thành mật khẩu của riêng mình, 

Monday, December 29, 2014

Vẽ màu 2D trong C#


Sử dụng thêm thư viện:

using System.Drawing.Drawing2D;

Code vẽ màu:
protected override void OnPaintBackground(PaintEventArgs e)
        {
            Rectangle a = ClientRectangle;
            if (a.IsEmpty)
            {
                return;//
            }
            if (a.Width == 0 || a.Height == 0)
            {
                return;
            }
            using (LinearGradientBrush brush = new LinearGradientBrush(a, Color.White, Color.DarkBlue, 98F))
            {
                e.Graphics.FillRectangle(brush, a);
            }
        }

Các bạn có thể thay đổi màu 2D sao cho hợp lí nha.

 Hình ảnh demo vẽ màu 2D

Code Nhạc Nền C#


Đây là 1 class hoàn chỉnh. Các bạn sử dụng cho hợp lí nha.

Sử dụng thư viện:
using System.Threading.Tasks;
using System.Runtime.InteropServices;

    public class MP3Player
    {
        private string _command;
        private bool isOpen;
        [DllImport("winmm.dll")]

        private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

        public void Close()
        {
            _command = "close MediaFile";
            mciSendString(_command, null, 0, IntPtr.Zero);
            isOpen = false;
        }

        public void Open(string sFileName)
        {
            _command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
            mciSendString(_command, null, 0, IntPtr.Zero);
            isOpen = true;
        }

        public void Play(bool loop)
        {
            if (isOpen)
            {
                _command = "play MediaFile";
                if (loop)
                    _command += " REPEAT";
                mciSendString(_command, null, 0, IntPtr.Zero);
            }
        }
    }