
Ngày 03/01/2017 My wedding:)- Du lịch Nikko tochigi
Yêu là chết ở trong lòng một ít Vì mấy khi yêu mà chắc đã được yêu

Lễ Tốt Nghiệp Đại Học 02/07/2013
Không bao giờ là bế tắc là tuyệt vọng Một khi bạn mong muốn nó tốt hơn Một khi bạn không bỏ cuộc Một khi bạn còn cố gắng!
"Hành trình vạn dặm bắt đầu từ những bước đi đầu tiên"
せんりのみちもいっぽから
Showing posts with label Cplusplus. Show all posts
Showing posts with label Cplusplus. Show all posts
Jun 12, 2020
IR remote control (điều khiển bằng hồng ngoại) với Arduino
LẬP TRÌNH
Đoạn mã này dùng để đọc tín hiệu từ remote. Các bạn vào link sau để tải thư viện hỗ trợ IR remote nhé: https://github.com/shirriff/Arduino-IRremote/
Tham khảo:http://arduino.vn
Dec 28, 2019
Tìm đường dẫn đến thư viện trong Arduino
Chúng ta có thể tìm kiếm folder chứa đường dẫn thư viện mới thêm vào trên arduino
C:\Users\sev_user\Documents\Arduino\libraries
Aug 17, 2019
Tách chuỗi (tìm từ 3 ký tự trở lên)
string CReadDataDlg::tachchuoi(string strData)
{
//strTest = "TOTAL PLU005 No.000000 I.N.U NET : 10210.0 g U / W : 1220 g PCS : 0 Tare : g Gross 0.0 g";
string strNoSpace = " ";
//TACH TAT CA KI TU ' ', XUONG DONG'\r', '\n', ':'
for (int i = 0; strData[i]; i++)
{
if (strData[i] != ' ' && strData[i] != '\r' && strData[i] != '\n'
&& strData[i] != ':')
strNoSpace = strNoSpace + strData[i];
}
// uppercase-- DOI CHU THUONG THANH IN HOA
std::for_each(strNoSpace.begin(), strNoSpace.end(), [](char & c) {
c = ::toupper(c);
});
//TIM DEN CUM "NET"
size_t found = strNoSpace.find("NET");
// CAT CHUOI TU DAU DEN "NET " + THEM 3 KY TU
string str = strNoSpace.substr(found + 3, strNoSpace.length() - 1);
int iElement = 2;// KHAI BAO CHUOI LAY VE . GIA SU LA 2 KY TU
string strRes = "0";
string strRes1 = "";
// QUET TAT CA KY TU LA NUMBER CHO DEN KHI GAP KI TU CHUOI SE THOAT KHOI VONG LAP
while (isFloat(strRes) || iElement > (str.length()-2))
{
strRes = str.substr(0, iElement);
if (isFloat(strRes))
strRes1 = strRes;
iElement++;
}
return strRes1;
return " ";
}
// Hàm tìm ký tự là số
bool CReadDataDlg:: isFloat(string myString) {
std::istringstream iss(myString);
float f;
iss >> noskipws >> f;
return iss.eof() && !iss.fail();
}
{
//strTest = "TOTAL PLU005 No.000000 I.N.U NET : 10210.0 g U / W : 1220 g PCS : 0 Tare : g Gross 0.0 g";
string strNoSpace = " ";
//TACH TAT CA KI TU ' ', XUONG DONG'\r', '\n', ':'
for (int i = 0; strData[i]; i++)
{
if (strData[i] != ' ' && strData[i] != '\r' && strData[i] != '\n'
&& strData[i] != ':')
strNoSpace = strNoSpace + strData[i];
}
// uppercase-- DOI CHU THUONG THANH IN HOA
std::for_each(strNoSpace.begin(), strNoSpace.end(), [](char & c) {
c = ::toupper(c);
});
//TIM DEN CUM "NET"
size_t found = strNoSpace.find("NET");
// CAT CHUOI TU DAU DEN "NET " + THEM 3 KY TU
string str = strNoSpace.substr(found + 3, strNoSpace.length() - 1);
int iElement = 2;// KHAI BAO CHUOI LAY VE . GIA SU LA 2 KY TU
string strRes = "0";
string strRes1 = "";
// QUET TAT CA KY TU LA NUMBER CHO DEN KHI GAP KI TU CHUOI SE THOAT KHOI VONG LAP
while (isFloat(strRes) || iElement > (str.length()-2))
{
strRes = str.substr(0, iElement);
if (isFloat(strRes))
strRes1 = strRes;
iElement++;
}
return strRes1;
return " ";
}
// Hàm tìm ký tự là số
bool CReadDataDlg:: isFloat(string myString) {
std::istringstream iss(myString);
float f;
iss >> noskipws >> f;
return iss.eof() && !iss.fail();
}
Posted in: CplusplusTìm kiếm icon trong lập trình GUI
SQL SERVE- Tự động tăng row (identity) trong Sql
CREATE TABLE STATUS_TABLE (
ID int IDENTITY (1,1) NOT NULL,
mDATE SMALLDATETIME,
mWEIGH REAL,
SN CHAR(30),
PRIMARY KEY (ID)
)
GO
INSERT INTO STATUS_TABLE(
mDATE,mWEIGH,SN
)
VALUES('2019-08-17 10:45:00','1.8','AUTOMATION')
GO
SELECT *FROM STATUS_TABLE
GO
INSERT INTO STATUS_TABLE(
mDATE,mWEIGH,SN
)
VALUES('2019-08-17 10:45:00','1.9','AUTOMATION')
// đặt lại giá trị identity = 1
DBCC CHECKIDENT ('STATUS_TABLE', RESEED, 0)
- “STATUS_TABLE” là bảng cần đặt lại giá trị identity.
- “RESEEED” là từ khóa để đặt lại giá trị idenitty về giá trị mà ta mong muốn.
- “0” là giá trị hiện tại là 0, và giá trị tiếp theo là 1.
THEO :
https://quantrimang.com/cac-kieu-du-lieu-trong-sql-server-148134
http://thuthuat.taimienphi.vn/cach-tao-kiem-tra-va-thay-doi-cot-identity-tren-microsoft-sql-server-31618n.aspx
https://ngohoangthien.com/lap-trinh/sql-server/dat-lai-gia-tri-identity-trong-sql-server
Jul 5, 2019
Hàm Millis() trong Arduino
Các hàm về thời gian trong Arduino gồm millis() và micros() sẽ bị tràn số sau 1 thời gian sử dụng. Với hàm millis() là khoảng 50 ngày. Tuy nhiên, do là kiểu số nguyên không âm (unsigned long) nên ta dễ dàng khắc phục điều này bằng cách sử dụng hình thức ép kiểu.
"unsigned long time;
byte ledPin = 10;
void setup()
{
// khởi tạo giá trị biến time là giá trị hiện tại
// của hàm millis();
time = millis();
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
// Lưu ý các dấu ngoặc khi ép kiểu
// đoạn chương trình này có nghĩa là sau mỗi 1000 mili giây
// đèn Led ở chân số 10 sẽ thay đổi trạng thái
if ( (unsigned long) (millis() - time) > 1000)
{
// Thay đổi trạng thái đèn led
if (digitalRead(ledPin) == LOW)
{
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// cập nhật lại biến time
time = millis();
}
}"
millis() có nhiệm vụ trả về một số - là thời gian (tính theo mili giây) kể từ lúc mạch Arduino bắt đầu chương trình của bạn. Nó sẽ tràn số và quay số 0 (sau đó tiếp tục tăng) sau 50 ngày.Khi bắt đầu chạy gán Millis bằng thời gian ban đâu millis= time=0;Nếu (millis()- time>1000){Thực hiện câu lệnh ;Thực hiện xong lại get lại time =millis();}Nếu millis()=2000-time>1000{Thực hiện câu lệnh xong ;Gán time =2000;}Cứ tiếp tục như vậytheo :http://arduino.vn/reference/millis
Posted in: CplusplusJul 4, 2019
Toán tử trong C
Định nghĩa toán tử trong [Wikipedia]:
Trong toán học, một toán tử (tiếng Anh operator, phân biệt với operation - phép toán) là một hàm, thông thường có một vai trò quan trọng trong một lĩnh vực nào đấy. Chẳng hạn trong đại số tuyến tính có “toán tử tuyến tính” (linear operator). Trong giải tích có “toán tử vi phân” (differential operator)… Thông thường, một “toán tử” là một hàm tác động lên các hàm khác; hoặc nó có thể là tổng quát hóa của một hàm, như trong đại số tuyến tính.
Các kiểu toán tử trong C:
- Toán tử số học
- Toán tử quan hệ
- Toán tử logic
- Toán tử so sánh bit
- Toán tử gán
- Toán tử hỗn hợp
Toán tử số học:
Giả sử khai báo:
int A=5, B=6; float C=1.2;| Toán tử | Miêu tả | Ví dụ |
|---|---|---|
+ | Cộng 2 toán hạng | A + B sẽ cho kết quả là 11 |
- | Trừ 2 toán hạng | A - B sẽ cho kết quả là -1 |
* | Nhân 2 toán hạng | A * B sẽ cho kết quả là 30 |
/ | Chia 2 toán hạng | B / A sẽ cho kết quả là 0 (2 toán hạng đều là số nguyên thì kết quả là phần nguyên của thương) A / C sẽ cho kết quả là 4.166667 (1 trong 2 toán hạng là số thực dấu phẩy động thì thương là số thực dấu phẩy động) |
% | Chia lấy phần dư | B % A sẽ cho kết quả là 5 |
Toán tử so sánh(quan hệ): Trả về giá trị là true (đúng) hoặc false (sai)
int A=5, B=6;<(nhỏ hơn)A < B-> true<=(nhỏ hơn hoặc bằng)A <= B-> true>(lớn hơn)A > B-> false>=(lớn hơn hoặc bằng)A >= B-> false==(bằng)A == B-> false!=(khác)A != B-> true
Toán tử logic: Trả về giá trị là true (đúng) hoặc false (sai)
Trong ngôn ngữ C, 2 trạng thái true(đúng) và false(sai) được biểu diễn bởi các số nguyên int:
- Số 0 biểu diễn cho trạng thái false (sai).
- Tất cả các số nguyên khác 0 biểu diễn cho trạng thái true (đúng).
Các toán tử logic:
&&(and) trả về true khi cả 2 toán hạng đều đúng. Ngược lại trả về false.(5<6) && (7<8)-> true(5>6) && (7<8)-> false(5>6) && (7>8)-> false
||(or) trả về true khi ít nhất một trong 2 toán hạng đúng. Ngược lại trả về false.(5<6) && (7<8)-> true(5>6) && (7<8)-> true(5>6) && (7>8)-> false
!(not) trả về true khi toán hạng (đằng sau dấu!sai). Ngược lại trả về false.!(7>8)-> true!(7<8)-> false
Toán tử thao tác trên bit:
&(and bit)|(or bit)~(phủ định)>>(dịch bit sang phải)<<(dịch bit sang trái)
Toán tử gán
Sử dụng dấu
= cho việc gán giá trị vào biến.
Ví dụ:
int a,b,c;
int main(void)
{
a = 5; // Gán cho a giá trị là 5
c = b = a; // Gán cho b và c giá trị bằng giá trị của a
return 0;
}
Các toán tử gán mở rộng:
| Toán tử | Ví dụ | Tương đương với |
|---|---|---|
+= | C += A | C = C + A |
-= | C -= A | C = C - A |
*= | C *= A | C = C * A |
/= | C /= A | C = C / A |
%= | C %= A | C = C % A |
<<= | C <<= 2 | C = C << 2 |
>>= | C >>= 2 | C = C >> 2 |
&= | C &= 2 | C = C & 2 |
^= | C ^= 2 | C = C ^ 2 |
|= | C |= 2 | C = C | 2 |
Toán tử tăng giảm
++là toán tử tăng++itương đương vớii = i + 1
--là toán tử giảm--itương đương vớii = i - 1
- Có 2 cách viết
++ivài++nhưng ý nghĩa của chúng khác nhau:++ithì i được tăng trước sau đó sẽ lấy kết quả để thực hiện biểu thứci++thì i được đưa vào thực hiện biểu thức trước sau đó mới tăng i lên.
Một số toán tử khác
| Toán tử | Miêu tả | Ví dụ |
|---|---|---|
sizeof() | Trả lại kích cỡ của một biến | sizeof(a), với a là integer, thì sẽ trả lại kết quả là 4. |
& | Trả lại địa chỉ của một biến. | &a sẽ cho địa chỉ thực sự của biến a. |
* | Trỏ tới một biến. | *a sẽ trỏ tới biến a. |
<điều kiện>? X:Y | Biểu thức điều kiện | Nếu điều kiện đúng ? thì trả về giá trị X : Nếu không thì trả về giá trị Y |
<toán hạng 1>,<toán hạng 2> | Ước lượng giá trị toán hạng 1, ước lượng giá trị toán hạng 2 và trả về giá trị toán hạng 2 là giá trị cuối cùng | t = (x=10, x+5) sẽ gán giá trị x <- 10; thực hiện phép tính x + 5 = 10 + 5 = 15 và gán giá trị 15 cho t |
Bảng thứ tự ưu tiên thực hiện của toán tử (theo thứ tự giảm dần mức độ ưu tiên):
| Loại | Toán tử | Thứ tự ưu tiên |
|---|---|---|
| Postfix | () [] -> . ++ - - | Trái sang phải |
| Unary | + - ! ~ ++ - - (type) * & sizeof | Phải sang trái |
| Tính nhân | * / % | Trái sang phải |
| Tính cộng | + - | Trái sang phải |
| Dịch chuyển bit | << >> | Trái sang phải |
| So sánh không ngang bằng | < <= > >= | Trái sang phải |
| So sánh ngang bằng | == != | Trái sang phải |
| Phép AND bit | & | Trái sang phải |
| Phép XOR bit | ^ | Trái sang phải |
| Phép OR bit | | | Trái sang phải |
| Phép AND logic | && | Trái sang phải |
| Phép OR logic | || | Trái sang phải |
| Điều kiện | ? : | Phải sang trái |
| Gán | = += -= *= = %= >>= <<= &= ^= |= | Phải sang trái |
| Dấu phảy | , | Trái sang phải |
Ép kiểu:
Đôi khi chúng ta cần chuyển đổi giá trị một biểu thức sang kiểu dữ liệu khác. Ví dụ trong trường hợp ta muốn thực hiện phép toán chia lấy phần dư của 2 số nguyên, nhưng lại được lưu trong 2 biến kiểu float, ta không thể áp dụng trực tiếp toán tử
% cho 2 biến đó. Bạn chạy chương trình thế này sẽ báo lỗi:#include <stdio.h>
int main(void)
{
int a = 5, c;
float b = 6;
c = a % (int)b;
printf("%d", c);
return 0;
}
Vì thế cần ép kiểu theo cú pháp:
(<kiểu dữ liệu>) <biểu thức> để lấy giá trị từ biến b, đổi sang số nguyên để thực hiện phép %. Code đúng như sau:#include <stdio.h>
int main(void)
{
int a = 5, c;
float b = 6;
c = a % (int)b;
printf("%d", c);
return 0;
}
May 28, 2019
Tính kế thừa trong C++
Tính kế thừa trong lập trình hướng đối tượng cho phép một lớp (class) có thể kế thừa các thuộc tính và phương thức từ các lớp khác đã được định nghĩa. Lớp được kế thừa còn được gọi là lớp cha và lớp kế thừa được gọi là lớp con.
Vidu
///ham Cha
//MyParents.h
#include "stdafx.h"
#include<iostream>
#include"MyParents.h"
#include"baby.h"
using namespace std;
int main()
{
/*MyParents Parent;
Parent.xinchao();*/
baby son;
son.xinchao();
_gettch();
return 0;
}
//MyParents.cpp
#include "stdafx.h"
#include "MyParents.h"
#include<iostream>
using namespace std;
MyParents::MyParents()
{
}
MyParents::~MyParents()
{
}
void MyParents::xinchao()
{
cout << "Xin chao SW, Parents" << endl;
}
Vidu
///ham Cha
//MyParents.h
#include "stdafx.h"
#include<iostream>
#include"MyParents.h"
#include"baby.h"
using namespace std;
int main()
{
/*MyParents Parent;
Parent.xinchao();*/
baby son;
son.xinchao();
_gettch();
return 0;
}
//MyParents.cpp
#include "stdafx.h"
#include "MyParents.h"
#include<iostream>
using namespace std;
MyParents::MyParents()
{
}
MyParents::~MyParents()
{
}
void MyParents::xinchao()
{
cout << "Xin chao SW, Parents" << endl;
}
//ham con
//baby.h
#include "MyParents.h"
class baby:public MyParents
{
public:
baby();
~baby();
};
Ham Main
#include "stdafx.h"
#include<iostream>
#include"MyParents.h"
#include"baby.h"
using namespace std;
int main()
{
/*MyParents Parent;
Parent.xinchao();*/
baby son;
son.xinchao();
_gettch();
return 0;
}
May 21, 2019
Thư viện Stack C++
Tham khảo: https://phattrienphanmem123az.com/lap-trinh-cpp-stl/cpp-stl-stack.html
// stack.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int> stackData;
stackData.push(0);
stackData.push(1);
stackData.push(2);
stackData.push(3);
stack<int> stackData1;
stackData1.push(10);
stackData1.push(11);
stackData1.push(12);
stackData1.push(13);
//stackData.pop();
/*int size = stackData.size();
cout << size << endl;*/
stackData.swap(stackData1);
//cout << '\t' << stackData1.top();
while (!stackData.empty()){
cout << '\t'<< stackData.top(); //'\t' cach cac phan tu
stackData.pop();
}
//cout << '\n';
_gettch();
return 0;
}
– Là một loại container trong thư viện STL ( hiểu đơn giản là dạng thùng chứa dữ liệu)
– Nguyên lý cơ bản đó là vào sau thì ra trước, ông nào được push vào sau cùng, thì khi pop ông ấy sẽ ra trước (giống như xếp kiện hàng)
– Không có hàm truy cập từng phần tử như hàm at() hay toán tử [] như vector hay array.
// stack.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int> stackData;
stackData.push(0);
stackData.push(1);
stackData.push(2);
stackData.push(3);
stack<int> stackData1;
stackData1.push(10);
stackData1.push(11);
stackData1.push(12);
stackData1.push(13);
//stackData.pop();
/*int size = stackData.size();
cout << size << endl;*/
stackData.swap(stackData1);
//cout << '\t' << stackData1.top();
while (!stackData.empty()){
cout << '\t'<< stackData.top(); //'\t' cach cac phan tu
stackData.pop();
}
//cout << '\n';
_gettch();
return 0;
}
Posted in: CplusplusMay 18, 2019
Vi du về hàm tách chuỗi trong MFC C++
string CReadDataDlg::tachchuoi(string strData)
{
string strNoSpace = " ";
for (int i = 0; strData[i]; i++)
{
if (strData[i] != ' ' && strData[i] != '\r' && strData[i] != '\n'
&& strData[i] != ':')
strNoSpace = strNoSpace + strData[i];
}
int iFindN;
iFindN = strNoSpace.find_first_of('N');
if (iFindN == -1)
iFindN = strNoSpace.find_first_of('n');
string str = strNoSpace.substr(iFindN + 3, strNoSpace.length() - 1);
int a = str.find_first_of('k');
string str1;
str1 = str.substr(0, a);
if (str1.length() > 0)
return str1;
return " ";
}
void CReadDataDlg::OnBnClickedOk2()
{
strTest = "Total : NET 0.1666192kg abc dlld";
MessageBox(tachchuoi(strTest).c_str());
}
{
string strNoSpace = " ";
for (int i = 0; strData[i]; i++)
{
if (strData[i] != ' ' && strData[i] != '\r' && strData[i] != '\n'
&& strData[i] != ':')
strNoSpace = strNoSpace + strData[i];
}
int iFindN;
iFindN = strNoSpace.find_first_of('N');
if (iFindN == -1)
iFindN = strNoSpace.find_first_of('n');
string str = strNoSpace.substr(iFindN + 3, strNoSpace.length() - 1);
int a = str.find_first_of('k');
string str1;
str1 = str.substr(0, a);
if (str1.length() > 0)
return str1;
return " ";
}
void CReadDataDlg::OnBnClickedOk2()
{
strTest = "Total : NET 0.1666192kg abc dlld";
MessageBox(tachchuoi(strTest).c_str());
}
Posted in: CplusplusApr 27, 2019
Hiểu thế nào là hàm Return trong C++
Bạn đi mua bánh mì, đưa tiệm bánh mì 10k, người ta đưa bạn ổ bánh mì.
Thì ổ bánh mì là giá trị trả về của hàm tiệm bánh mì… Và 10k là argument (tham số) của hàm.
Từ đó có thể xây dựng lại thành
Thì ổ bánh mì là giá trị trả về của hàm tiệm bánh mì… Và 10k là argument (tham số) của hàm.
Từ đó có thể xây dựng lại thành
int muabanhmi(int vnd) {
int sobanhmi = vnd/10000; // 10k 1 ổ
return sobanhmi;
}
int sobanhmidangco = muabanhmi(10000);
-> bây giờ bạn có 1 ổ bánh mì và nó được lưu trong biến sobanhmidangco
Hoặc bạn nhờ thằng bạn tính giùm phép cộng. Bạn đưa nó 2 số a và b. Nó trả lại kết quả a + b cho bạn.
Thì a+b là giá trị trả về của hàm
Thì a+b là giá trị trả về của hàm
nhờ_thằng_bạn_làm_phép_cộng với 2 tham số là a và b.
Hàm ko cần tham số cũng có giá trị trả về. Như hàm
Hoặc gần gũi với ngoài đời hơn là bạn gọi thằng bạn, nó chào lại mình.
Thì lời chào lại là kết quả trả về của hàm
ví dụ
int main(). Nó return 0 để báo biết rằng ko có lỗi.Hoặc gần gũi với ngoài đời hơn là bạn gọi thằng bạn, nó chào lại mình.
Thì lời chào lại là kết quả trả về của hàm
hello_thằng_bạn. Bạn chỉ cần gọi nó là nó trả về giá trị, ko cần nhờ nó làm gì cả.ví dụ
string hello_thang_ban() {
return "hello huy";
}
string a = hello_thang_ban(); //gọi thằng bạn và nó trả về lại chuỗi "hello huy"
Lệnh Continue va Break
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a = 14;
int b = 2;
int idx = 0;
while (a % 10 != 0) {
idx++;
a =a+ 2 * b; //18,22,26,
}
for (int i = 0; i < 4; i++)
{
//if (i == 2) continue;// neu thoa man i= 4 thi no bo qua tat ca cau lenh duoi no
if (i == 2) break; // neu thoa man se thoat khoi vong lap
cout << i << endl;
}
//cout << "Number of running=" << idx;
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a = 14;
int b = 2;
int idx = 0;
while (a % 10 != 0) {
idx++;
a =a+ 2 * b; //18,22,26,
}
for (int i = 0; i < 4; i++)
{
//if (i == 2) continue;// neu thoa man i= 4 thi no bo qua tat ca cau lenh duoi no
if (i == 2) break; // neu thoa man se thoat khoi vong lap
cout << i << endl;
}
//cout << "Number of running=" << idx;
system("pause");
return 0;
}
tham khảo:
Lệnh continue.
Lệnh này cho phép bạn bỏ qua một bước trong vòng lặp.
Điều này giúp giảm bớt thời gian thực thi khi thực hiện những giá trị không hợp lệ.
tôi giả sử i chạy từ 0 cho đến 10.
với i là số chẵn thì tôi bỏ qua, còn số lẻ thì tôi in nó ra màn hình.

Ok. Đó là lý thuyết cơ bản. Sau đây chúng ta sẽ cùng thực hành trên VS2012
Posted in: CplusplusApr 9, 2019
So sanh hai mang trong C++
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int matches = 0;
int Array1[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 0 };
int Array2[] = { 1, 22, 3, 44, 5, 66, 7, 88, 9, 10 };
for (int i = 0; i<10; i++) {
for (int j = 0; j<10; j++) {
if (Array1[i] == Array2[j]) {
cout << "Match " << ++matches << ": " << Array1[i] << endl;
}
}
}
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int matches = 0;
int Array1[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 0 };
int Array2[] = { 1, 22, 3, 44, 5, 66, 7, 88, 9, 10 };
for (int i = 0; i<10; i++) {
for (int j = 0; j<10; j++) {
if (Array1[i] == Array2[j]) {
cout << "Match " << ++matches << ": " << Array1[i] << endl;
}
}
}
system("pause");
return 0;
}
Posted in: CplusplusMar 23, 2019
Tách một CString lấy độ dài bất kỳ
// tach chuoi bat ky lay do dai do
CString str("GH96-11759AC610-P3000160");
char strPass[40];
char istr[11];
strcpy_s(strPass, CStringA(str).GetString());
for (int i = 0; i < 11; i++) {
istr[i] = strPass[i+20];
}
CString str1 = CString(istr, 11);
MessageBox(str1);
CString str("GH96-11759AC610-P3000160");
char strPass[40];
char istr[11];
strcpy_s(strPass, CStringA(str).GetString());
for (int i = 0; i < 11; i++) {
istr[i] = strPass[i+20];
}
CString str1 = CString(istr, 11);
MessageBox(str1);
Posted in: CplusplusMar 3, 2019
C++ Fix lỗi _CRT_SECURE_NO_WARNINGS
Error C4996 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. ReadData c:\users\asus\desktop\readdata\readdata\readdatadlg.cpp 712
copy _CRT_SECURE_NO_WARNINGS vào ...
copy _CRT_SECURE_NO_WARNINGS vào ...
Posted in: CplusplusHướng dẫn cài đặt thư viện Open CV
Vd : Open Camera trên Visual
#include <opencv/cv.h>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main() {
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "no camera";
return -1;
}
while (true)
{
Mat frame;
cap.read(frame);
imshow("camera", frame);
if (waitKey(30) == 27) {
return 0;
}
}
}
#include <opencv/cv.h>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main() {
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "no camera";
return -1;
}
while (true)
{
Mat frame;
cap.read(frame);
imshow("camera", frame);
if (waitKey(30) == 27) {
return 0;
}
}
}
Feb 27, 2019
Get a cell in CSV file with chilkat MFC C++
int row;
const char* m = (LPCTSTR)m_inputCSV;//convert Cstring to const*char;
const char* ishow ="";
const char* text = "";
const char* iweight = "";
int n = csv.get_NumRows();
for (row = 0; row <= n - 1; row++) {
text = csv.getCell(row, 2);
if (*m == *text)
{
ishow = csv.getCell(row, 4);
iweight = csv.getCell(row, 3);
break;
}










6:21 PM
asahi

