c 常用陣列功能函式

2021-09-22 16:40:13 字數 2879 閱讀 9090

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 函式 返回的是陣列每乙個符合條件的元素,...