WELCOME TO BLOGGER VQGĐC

THÂN CHÀO QUÝ BẠN
CLICK HERE TO OPEN

Tất cả hình ảnh, những hoạt động cùng cơ sở Định Chuẩn rồi cũng cùng với thời gian rơi vào khoảng không
Nếu còn gì rớt lại chỉ là những tình cảm của những con người đã một thời làm việc chung dưới một mái nhà
mà nay đả tản mác khắp bốn phương trời
Ninh Vũ / Phòng Thí Nghiệm VQGĐC

Thursday, July 7, 2016

DÙNG FORMAT VÀ SETW( ) ĐỂ TẠO MỘT SALE RECEIPT ĐƠN GIẢN C++ PROGRAM

CREATING A SIMPLE SALE RECEIPT OF C++ PROGRAM

Ghi chú hướng dẫn.
Trong hóa đơn nầy,chúng ta cần có thêm :
#include<iomanip> để vận hành program (manipulate the output of the program).
#include<math.h> là library về tính tóan của c++ program
setw( ) để ấn định khoãng trống (field width) cần cho hàng chữ sẽ viết.
Thí du setw(15) nghĩa là khoãng trống cho 15 chữ viết.Mỗi khoãng của mỗi chữ gọi là một field.Field width =15.
Vì hóa đơn nầy được bố trí theo formatting nên phải xử dụng setw( ).
setprecision ấn định sau dấu chấm (decimal point) có bao nhiêu số lẽ.Thí du
setprecision(2) của 64.3711 là 64.37
                     ------------------------
HÓA ĐƠN 1
#include<iomanip>
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int main(){
cout<<"HENRY MINI-MARKET"<<endl;
int month, day, year ;
cin >>month >>day>>year;
cout <<" DATE :" <<month << "/" << day << "/" << year<<endl;

cout<<" What Item and How Much You Want ? "<<endl;
cout<<setw(15)<<left<<"ITEM NAME"<< setw(15)<<"QUANTITY/Unit"<<setw(15)<< "PRICE/Unit"<<endl;
cout<<"======================================="<<endl;

string str1; int qt1; float i1;
string str2; int qt2; float i2;
string str3; int qt3; float i3;
string str4; int qt4; float i4;

cin>>str1>>qt1>>i1;
cout<<setw(15)<<left<<str1<<setw(15)<<qt1<<setw(15)<<i1<<endl;
cin>>str2>>qt2>>i2;
cout<<setw(15)<<left<<str2<<setw(15)<<qt2<<setw(15)<<i2<<endl;
cin>>str3>>qt3>>i3;
cout<<setw(15)<<left<<str3<<setw(15)<<qt3<<setw(15)<<i3<<endl;
cin>>str4>>qt4>>i4;
cout<<setw(15)<<left<<str4<<setw(15)<<qt4<<setw(15)<<i4<<endl;
 
float total = qt1*i1+qt2*i2+qt3*i3+qt4*i4;
cout << fixed << setprecision(2); 
cout << setw(15) << "Item 1 costs: $" << setw(15) << right << qt1*i1 << endl;
cout << setw(15) << "Item 2 costs: $" << setw(15) << right << qt2*i2 << endl;
cout << setw(15) << "Item 3 costs: $" << setw(15) << right << qt3*i3 << endl;
cout << setw(15) << "Item 4 costs: $" << setw(15) << right << qt4*i4 << endl;
cout << setw(15) << "TỔNG CỘNG : $" << setw(15) << right << total << endl;
cout << "THANK YOU.SEE YOU AGAIN !" << endl;
return 0;}
OUTPUT
1-Short URL: cpp.sh/3dbac
HENRY MINI-MARKET
 DATE :7/6/2016
 What Item and How Much You Want ?
ITEM NAME      QUANTITY/Unit  PRICE/Unit    
==========================
CAFE                 25                       7.5           
MILK                 12                       1.45           
RICE                 12                       1.75          
               -1719542199    4.13215e-41   
Item 1 costs: $         187.50
Item 2 costs: $          17.40
Item 3 costs: $          21.00
Item 4 costs: $          -0.00
TỔNG CỘNG : $         225.90
THANK YOU.SEE YOU AGAIN !
 
HOÁ ĐƠN 2

HOÁ ĐƠN 1 ĐƯỢC VIẾT NGẮN GỌN LẠI NHƯ  SAU.
#include<iomanip>
#include<iostream>
#include<math.h>
#include<string>
using namespace std;

int main(){
cout<<"HENRY MINI-MARKET"<<endl;
int month, day, year ;
cin >>month >>day>>year;
cout <<" DATE :" <<month << "/" << day << "/" << year<<endl;

cout<<" What Item and How Much You Want ? "<<endl;
cout<<setw(15)<<left<<"ITEM NAME"<< setw(15) <<"QUANTITY/Unit"<< setw(15)<< "PRICE/Unit"<< setw(15)<< "COSTS"<<endl;
cout<<"======================================"<<endl;
 
cout << "\n\nRECEIPT"<<endl;
string str; int qty; float p; float cost= qty*p; float sum ;
while(cin>> str >> qty >> p){
cout << fixed << setprecision(2);
cout<<setw(15)<<left<<str<<setw(15)<<qty<<setw(15)<<p<<endl;
cout<<setw(45)<<left<<"Costs:"<<qty*p<<endl;
sum+= qty*p; }

cout<<setw(45)<<right<<" TỔNG CỘNG COSTS : $ "<<sum << endl;
cout<<"THANK YOU.SEE YOU AGAIN ! "<<endl;
return 0;}

OUTPUT
HENRY MINI-MARKET
 DATE :7/18/2016
 What Item and How Much You Want ?
ITEM NAME      QUANTITY/Unit  PRICE/Unit     COSTS         
=================================

RECEIPT
Rice                     10                    1.75          
Costs:                                                         17.50
Sugar                   15                    0.45          
Costs:                                                           6.75
Cafe                       4                    7.45          
Costs:                                                         29.80
Milk                      10                    1.45          
Costs:                                                         14.50
                   TỔNG CỘNG COSTS : $ 68.55

THANK YOU.SEE YOU AGAIN ! 

GHI CHÚ HƯỚNG DẪN
1-Phần trên cùng cần có các libraries của C++ Programming,tên cửa hàng và ngày tháng.
2-Phần tiếp theo là format sắp xếp tên của mỗi món hàng,số lượng đơn vị của mỗi món hàng, giá bán của mỗi đơn vi và giá cộng của nhiều đơn vị của mỗi món hàng.
3-Phần tiếp theo là chỗ có declaration và initialization của các input from keyboard.
Cũng trong phần nầy chúng ta dùng “while Loop type”.
Trong parentheses và curly brackets của while,chúng ta viết như sau.
while(cin>>str >> qty >> p){
cout << fixed <<setprecision(2);
cout<<setw(15)<<left<<str<<setw(15)<<qty<<setw(15)<<p<<endl;
cout<<setw(45)<<left<<"Costs:"<<qty*p<<endl;
sum+= qty*p; }
Chúng ta chọn while Loop type” vì muốn lấy nhiều input của những món hàng có tên khác nhau.
Cần lấy 2 số lẽ nên phải viết cout<< fixed << setprecision(2);
4-Phần cuối cùng là chỗ viết tổng cộng tiền phải trả và lời chào tạm biệt.
SO SÁNH HÓA ĐƠN 1 VỚI HÓA ĐƠN 2 , CHÚNG TA THẤY HÓA ĐƠN 2 TỐT HƠN HẾT