vector查詢
排序讀檔案
#include #include #include #include #include using namespace std;
vectornum;
struct compare : binary_function
};bool sortnum(const number &v1, const number &v2)//注意:本函式的引數的型別一定要與vector中元素的型別一致
//用分隔符解析字串
void splittoarray(const std::string &src, const std::string &sep, std::vector&destarray, bool filtempty = false)
std::string::size_type posbegin = 0;
std::string::size_type posend = src.find(sep);
std::string value;
while (posend != std::string::npos)
posbegin = posend + 1;
posend = src.find(sep, posbegin);
} value = src.substr(posbegin, src.size() - posbegin);
if (!(filtempty && value.empty())) }
//號碼解析:把檔案中讀取到的一條號碼記錄解析成乙個結構體
ret_errorcode parsenumber(const char* record, number& number)
std::string numberrecord(record);
std::vectorrecordarray;
std::string::size_type posbegin = 0;
std::string::size_type posend = numberrecord.find("\r\n");
//去掉回車換行
if (posend != std::string::npos)
else }
//獲取|分隔符分割的資料
splittoarray(numberrecord, "|", recordarray);
//合法資料只有6個字段
if (recordarray.size() != 6)
strcpy_s(number.id, recordarray[0].c_str());
number.price = (float)atof(recordarray[1].c_str());
strcpy_s(number.brand, recordarray[2].c_str());
number.status = atoi(recordarray[3].c_str());
strcpy_s(number.customer, recordarray[4].c_str());
number.time = atoi(recordarray[5].c_str());
return e001;
}//初始化:使用初始化指令讓系統重新完成初始化
ret_errorcode initsys()
//載入號碼:讀取numbers.txt格式的資料檔案,載入所有號碼資訊到系統中。
ret_errorcode loadnumbers(const char* filename)
number tem;
number t[10];
int l = 1;
string s;
int i = 0;
while (getline(infile, s))
vector::iterator t = find_if(num.begin(), num.end(), bind2nd(compare(), tem.id));
if(t==num.end())
num.push_back(tem);
else
i++;
} infile.close(); //關閉檔案輸入流
sort(num.begin(), num.end(), sortnum);
return e001;
}//查詢:號碼資訊查詢。
ret_errorcode querynumber(const number& number, number numbers, int& count)
if (number.price == 0)
; else
if (number.time == 0)
; else
if (number.brand[0] == 0)
; else
for (i = 0; i < numsize && j< count; i++)
if (tem[i].id[0] == 0)
numbers[j++] = num[i];
count = j;
delete tem;
return e001;
}//隨機選號:根據品牌,隨機選取未被預定的號碼,供客戶選擇
ret_errorcode randompick(const char* brand, const int randnumber, number number, int& count)
} for (k = 0,i = 0; i < count; i++)
if (t[i].id[0] == 0)
number[k++] = t[i];
count = k;
delete t;
return e001;
}
常用數學功能函式
內建功能 1.abs x 返回數字的絕對值 2.max min 返回給定引數的最大值 最小值 3.pow x y 求x的y次方的值 4.round x n 返回浮點數x的四捨五入值,如給出n值,則代表捨入到小數點後的位數 匯入math模組 import math 4.ceil 向上取整 math.c...
C語言字元陣列常用函式
這裡是引用 include函式庫 include include intmain if strcmp str2,c 0 字串ascll碼比較 printf d strlen str strlen測字串長度函式 printf c strlwr str2 strupr轉化為大寫的函式,strlwr轉化為...
Array陣列常用功能
array.isarray 物件 判斷這個物件是否是陣列物件 concat 陣列1,陣列2 組合成乙個新的陣列 every 函式 返回值是布林型別,這個函式中有三個引數 一假即假 some 函式 返回值是布林型別,這個函式中有三個引數 一真即真 filter 函式 返回的是陣列每乙個符合條件的元素,...