最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)公司人事管理系統(tǒng)

 更新時(shí)間:2022年03月18日 10:00:40   作者:陸鳴笙  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)公司人事管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)公司人事管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一.問題描述

一個(gè)小公司包含四類人員:經(jīng)理,技術(shù)人員,銷售人員和銷售經(jīng)理,各類人員的工資計(jì)算方法如下:經(jīng)理:固定月薪(8000);技術(shù)人員:月薪按技術(shù)等級(jí)(1~8)(1600+等級(jí)*300);銷售人員:按提成(4%*銷售額);銷售經(jīng)理:底薪+提成(1500+0.2%*總銷售額);設(shè)計(jì)一個(gè)管理程序,實(shí)現(xiàn)對(duì)各類人員的信息輸入,修改和顯示。

二 .基本要求

(1)使用面向?qū)ο缶幊趟枷刖帉戦_發(fā)過程中需要用到的類,比如:設(shè)計(jì)Person類:編號(hào),姓名,崗位,工資,成員函數(shù)可設(shè)一個(gè)計(jì)算月薪的純虛函數(shù);另外再設(shè)計(jì)四個(gè)針對(duì)四類人員的類均繼承 Person;添加相應(yīng)的派生類數(shù)據(jù)成員和函數(shù),經(jīng)理和銷售經(jīng)理可以沒有新的數(shù)據(jù)成員,計(jì)算月薪即可; 技術(shù)人員添加技術(shù)等級(jí)數(shù)據(jù)成員,銷售人員添加數(shù)據(jù)成員:銷售額。還需設(shè)計(jì)一個(gè)Manage 類來完成各種操作。人員數(shù)組 vector,數(shù)據(jù)類型為基類指針。

(2)需要使用菜單功能顯示添加人員(輸入),修改信息,瀏覽信息,按姓名查找,月薪排序。

(3)為了設(shè)計(jì)簡(jiǎn)潔,假定經(jīng)理和銷售經(jīng)理都只能有一個(gè);用文本編輯器編輯一個(gè)文本文件(總數(shù) 20 人以上)包含各類人員的信息;并且在程序中能修改保存。

基本流程圖

#include<iostream>
#include<vector>
#include<string>
#include<cstdlib>
#include<windows.h>
#include<iomanip>
#include<fstream>
#include <algorithm>
#define filename "student.txt"
using namespace std;?
class Person
{
public:
?? ?Person(string, string, int = 0);//構(gòu)造函數(shù)?
?? ?double virtual pay_salary() = 0; //借用虛函數(shù)進(jìn)行工資初始化?
?? ?void ?virtual show(); ?? ??? ?//顯示信息?
?? ?bool operator<(const Person*&) const;?? ?//重載<比較薪水大小用于排序?
?? ?static int num; //定義靜態(tài)變量,自動(dòng)賦予員工編號(hào)?
?? ?int Number; ? //編號(hào)?
?? ?double Salary;//工資?
?? ?string Name;//姓名?
?? ?string Department;//部門?
?? ?int c;//技術(shù)級(jí)?
};
bool Person::operator<(const Person*& obj) const//函數(shù)重載<,用于比較薪水?
{
?? ?return this->Salary > obj->Salary;
}
Person::Person(string name1, string work1, int c1) //構(gòu)造函數(shù)的實(shí)現(xiàn)?
{
?? ?c = c1;
?? ?Number = num++;
?? ?Name = name1;
?? ?Department = work1;
}
int Person::num = 1;//編號(hào)從1開始?
void ?Person::show() {
?? ?cout<<"-----------------------------------"<<endl;
?? ?cout <<right<<setw(3)<<Number<<setw(10)<<Name<<setw(11)<<Department<<setw(8)<<Salary; //setw()控制輸出寬度?
?? ?
}
class Manager :public Person //經(jīng)理類,繼承person類?
{
public:
?? ?Manager(string, string, int);//構(gòu)造函數(shù)?
?? ?double pay_salary();//計(jì)算工資函數(shù)?
?? ?void show();//顯示經(jīng)理的信息?
};
Manager::Manager(string name1, string post1, int c1) :Person(name1, post1, c1) //構(gòu)造函數(shù) 的實(shí)現(xiàn)?
{
?? ?pay_salary();
}
double Manager::pay_salary()//計(jì)算經(jīng)理的工資?
?{
?? ?Salary = 8000;
?? ?return Salary;
}
void Manager::show() //顯示經(jīng)理的信息?
{
?? ?cout<<"-----------------------------------"<<endl;
?? ?cout <<right<<setw(3)<<Number<<setw(10)<<Name<<setw(9)<<Department<<setw(10)<<Salary;?
}
class SaleManager :public Person//銷售經(jīng)理類,繼承person類?
?{
public:
?? ?SaleManager(string, string, int);//構(gòu)造函數(shù)?
?? ?double pay_salary();//計(jì)算銷售經(jīng)理的工資?
?? ?void show();//顯示銷售經(jīng)理的信息?
};
SaleManager::SaleManager(string name1, string post1, int c1) :Person(name1, post1, c1)//構(gòu)造函數(shù) 的實(shí)現(xiàn)?
?{
?? ?pay_salary();
}
double SaleManager::pay_salary() //計(jì)算經(jīng)理的工資,基本工資 1500元?
{
?? ?Salary = 1500;
?? ?return Salary;
}
void SaleManager::show() //顯示銷售經(jīng)理的信息?
{
?? ?cout<<"-----------------------------------"<<endl;
?? ?cout <<right<<setw(3)<<Number<<setw(10)<<Name<<setw(11)<<Department<<setw(8)<<Salary;?
}
class Salesman :public Person//銷售人員類,繼承Person類?
?{
public:
?? ?Salesman(string, string, int);//構(gòu)造函數(shù)?
?? ?int salevolume;//銷售額
?? ?double pay_salary();//計(jì)算銷售人員的工資?
?? ?void show();//顯示銷售人員的信息?
};
Salesman::Salesman(string name1, string post1, int sv) :Person(name1, post1, sv)//構(gòu)造函數(shù)的實(shí)現(xiàn)?
{
?? ?salevolume = sv;
?? ?pay_salary();
}
double Salesman::pay_salary()//計(jì)算銷售人員工資,4%×銷售額?
?{
?? ?Salary = 0.04 * salevolume;
?? ?return Salary;
}
void Salesman::show() //顯示銷售人員的信息?
{
?? ?cout<<"-----------------------------------"<<endl;
?? ?cout <<right<<setw(3)<<Number<<setw(10)<<Name<<setw(11)<<Department<<setw(8)<<Salary;?
}
class Technician :public Person //技術(shù)人員類,繼承Person類?
{
public:
?? ?Technician(string, string, int);//技術(shù)等級(jí)為繼承來的參數(shù)c?
?? ?double pay_salary();//計(jì)算技術(shù)人員的工資?
?? ?void show();//顯示技術(shù)人員的所有信息?
};
Technician::Technician(string name1, string post1, int rank1) :Person(name1, post1, rank1)?
{
?? ?pay_salary();
}
double Technician::pay_salary() //計(jì)算技術(shù)人員的工資,技術(shù)等級(jí)×300+1600?
{
?? ?Salary = 1600 + 300 * c;
?? ?return Salary;
}
void Technician::show()//顯示所有技術(shù)人員的信息?
?{
??? ?cout<<"-----------------------------------"<<endl;
?? ?cout <<right<<setw(3)<<Number<<setw(10)<<Name<<setw(11)<<Department<<setw(8)<<Salary;?
}
class Manage//管理類?
{
public:
?? ?void Menu() { salevolume = 0; }//菜單函數(shù)?
?? ?int salevolume;//總銷售額?
?? ?vector<Person*> Ma;//vector數(shù)組,存放Person類的對(duì)象指針?
?? ?void add(Person*);//添加人員信息?
?? ?void alter(string);//刪除人員信息?
?? ?void addtofile();//寫入文件?
?? ?void show();//顯示所有信息?
?? ?void show1();//按月薪降序?
?? ?Person* find(string&);//查找人員信息?
};
Person* Manage::find(string& name1) { //查找
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?if ((*iter)->Name == name1) {
?? ??? ??? ?return *iter;
?? ??? ?}
?? ?}
?? ?return NULL;
}
void Manage::alter(string name1) { //刪除
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?if ((*iter)->Name == name1) {
?? ??? ??? ?Ma.erase(iter);
?? ??? ??? ?return;
?? ??? ?}
?? ?}
?? ?cout << "查無此人" << endl;
}
void Manage::add(Person* people) //添加?
{
?? ?if (people->Department == "銷售人員") {
?? ??? ?salevolume += ((Salesman*)people)->salevolume;
?? ?}
?? ?Ma.push_back(people);
}
void Manage::addtofile()//寫入文件?
?{
?? ?ofstream outfile(filename);//打開文件寫入?
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?outfile << (*iter)->Department << " " << (*iter)->Name << " ";
?? ??? ?if ((*iter)->c == 0) outfile << endl;
?? ??? ?else outfile << (*iter)->c << endl;
?? ?}
?? ?outfile.close();//關(guān)閉?
}
bool cmp(Person* x, Person* y) { //比較薪水
?? ?return x->Salary > y->Salary;
}

void Manage::show() {
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?if ((*iter)->Department == "銷售經(jīng)理") {
?? ??? ??? ?(*iter)->Salary = salevolume * 0.002 +1500;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?sort(Ma.begin(), Ma.end(), cmp);//薪水大小排序
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?(*iter)->show();
?? ??? ?cout << endl;
?? ?}
}
void readfile(Manage& obj)//讀取文件?
?{
?? ?FILE* fp;
?? ?fp = fopen(filename, "r");//打開文件,只讀?
?? ?if (fp == NULL) {
?? ??? ?cout << "未找到人員名單" << endl;
?? ??? ?return;
?? ?}
?? ?while (!feof(fp)) {
?? ??? ?char post[20];
?? ??? ?char Name[20];
?? ??? ?int c; ? //銷售額或技術(shù)等級(jí)
?? ??? ?fscanf(fp, "%s%s%d", post, Name,&c);
?? ??? ?if (!strcmp(post, "經(jīng)理")) { //文件中為經(jīng)理的人的信息先填入
?? ??? ??? ?Person* peo = new Manager(Name, post, 0);
?? ??? ??? ?obj.add(peo);
?? ??? ?}
?? ??? ?else if (!strcmp(post, "技術(shù)人員")) {
?? ??? ??? ?Person* peo = new Technician(Name, post, c);
?? ??? ??? ?obj.add(peo);
?? ??? ?}
?? ??? ?else if (!strcmp(post, "銷售人員")) {
?? ??? ??? ?Person* peo = new Salesman(Name, post, c);
?? ??? ??? ?obj.add(peo);
?? ??? ?}
?? ??? ?else if (!strcmp(post, "銷售經(jīng)理")) {
?? ??? ??? ?Person* peo = new SaleManager(Name, post, 0);
?? ??? ??? ?obj.add(peo);
?? ??? ?}
?? ?}
?? ?fclose(fp);//關(guān)閉文件?
}
void Manage::show1()//對(duì)vector數(shù)組進(jìn)行讀取?
{
?? ?for (vector<Person*>::iterator iter = Ma.begin(); iter != Ma.end(); iter++) {
?? ??? ?(*iter)->show();
?? ??? ?cout << endl;
?? ?}
}
int main(){
?? ?int x;
?? ?Manage T;
?? ?readfile(T);
?? ?while(1){
? ? ? ? cout<< " ? ?———————————————————————————————" << endl
?? ??? ??? ?<< " ? ?| ? ? ? 公司人事管理系統(tǒng) ? ? ? ?|" << endl
?? ??? ??? ?<< " ? ?———————————————————————————————" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 1.添加員工 ? ? ? ? ? |" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 2.修改信息 ? ? ? ? ? |" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 3.按姓名查找 ? ? ? ? |" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 4.顯示所有信息 ? ? ? |" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 5.按月薪降序排序 ? ? |" << endl
?? ??? ??? ?<< " ? ?| ? ? ? ? 0.保存并退出程序 ? ? |" << endl
?? ??? ??? ?<< " ? ?———————————————————————————————" << endl;?? ??? ?
?? ??? ?cout<< "請(qǐng)選擇->";
?? ??? ?cin >> x;
?? ??? ?switch (x) {
?? ??? ?case 1: {
?? ??? ??? ?while (1) {
?? ??? ??? ??? ?int n;
?? ??? ??? ??? ?string Name;
?? ??? ??? ??? ?cout << "請(qǐng)輸入姓名:" ;
?? ??? ??? ??? ?cin >> Name;
?? ??? ??? ??? ?cout << "請(qǐng)輸入人員崗位(1.經(jīng)理 2.技術(shù)人員 3. 銷售人員 4.銷售經(jīng)理):" ;?
?? ??? ??? ??? ?cin >> n;
?? ??? ??? ??? ?if (n == 1) {
?? ??? ??? ??? ??? ?Person* peo = new Manager(Name, "經(jīng)理", 0);
?? ??? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ??? ?cout << "添加成功" << endl << endl << endl;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (n == 2) {
?? ??? ??? ??? ??? ?while (1) {
?? ??? ??? ??? ??? ??? ?int rank = 0;
?? ??? ??? ??? ??? ??? ?cout << "請(qǐng)輸入技術(shù)等級(jí)(1~8):" ;
?? ??? ??? ??? ??? ??? ?cin >> rank;
?? ??? ??? ??? ??? ??? ?if (rank > 8 || rank < 1) {
?? ??? ??? ??? ??? ??? ??? ?cout << "輸入錯(cuò)誤,請(qǐng)?jiān)?~8之間輸入:" ;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?else {
?? ??? ??? ??? ??? ??? ??? ?Person* peo = new Technician(Name, "技術(shù)人員", rank);
?? ??? ??? ??? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?cout << "添加成功" << endl << endl << endl;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (n == 3) {
?? ??? ??? ??? ??? ?int sales = 0;
?? ??? ??? ??? ??? ?cout << "請(qǐng)輸入銷售額:" << endl;
?? ??? ??? ??? ??? ?cin >> sales;
?? ??? ??? ??? ??? ?Person* peo = new Salesman(Name, "銷售人員", sales);
?? ??? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ??? ?cout << "添加成功" << endl << endl << endl;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (n == 4) {
?? ??? ??? ??? ??? ?Person* peo = new SaleManager(Name, "銷售經(jīng)理", 0);
?? ??? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ??? ?cout << "添加成功" << endl << endl << endl;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else {
?? ??? ??? ??? ??? ?cout << "輸入錯(cuò)誤,請(qǐng)重新輸入:" << endl;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ? system("pause");}
?? ??? ??? ??? ?break;
?? ??? ?case 2: {
?? ??? ??? ?string Name;
?? ??? ??? ?int n = 0;
?? ??? ??? ?cout << "請(qǐng)輸入姓名:" ;
?? ??? ??? ?cin >> Name;
?? ??? ??? ?Person* peo = T.find(Name);
?? ??? ??? ?if (peo == NULL) {
?? ??? ??? ??? ?cout << "?? ??? ?查無此人" << endl << endl << endl;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?peo->show();
?? ??? ??? ?if (peo->Department == "經(jīng)理") {
?? ??? ??? ??? ?cout << " ? ?經(jīng)理無法修改" << endl;
?? ??? ??? ?}
?? ??? ??? ?else if (peo->Department == "技術(shù)人員") {
?? ??? ??? ??? ?int rank = 0;
?? ??? ??? ??? ?while (1) {
?? ??? ??? ??? ??? ?cout <<endl<< "請(qǐng)輸入技術(shù)等級(jí)(1~8):" << endl;
?? ??? ??? ??? ??? ?cin >> rank;
?? ??? ??? ??? ??? ?if (rank > 8 || rank < 1) {
?? ??? ??? ??? ??? ??? ?cout << "等級(jí)輸入錯(cuò)誤,請(qǐng)重新輸入" << endl;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?T.alter(Name);
?? ??? ??? ??? ?peo = new Technician(Name, "技術(shù)人員", rank);
?? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ?cout << "修改成功!" << endl;
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?else if (peo->Department == "銷售人員") {
?? ??? ??? ??? ?int sales = 0;
?? ??? ??? ??? ?cout <<endl<< "請(qǐng)輸入銷售額:" << endl;
?? ??? ??? ??? ?cin >> sales;
?? ??? ??? ??? ?T.alter(Name);
?? ??? ??? ??? ?peo = new Salesman(Name, "銷售人員", sales);
?? ??? ??? ??? ?T.add(peo);
?? ??? ??? ??? ?cout << "?? ?修改成功!" << endl;
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?else if (peo->Department == "銷售經(jīng)理") {
?? ??? ??? ??? ?cout << " ? 銷售經(jīng)理無法修改" << endl;
?? ??? ??? ?}
?? ??? ??? ?else {
?? ??? ??? ??? ?cout << "輸入錯(cuò)誤" << endl;
?? ??? ??? ?}
?? ??? ?}system("pause");
?? ??? ??? ??? ?break;
?? ??? ?case 3: {
?? ??? ??? ?string Name;
?? ??? ??? ?int n = 0;
?? ??? ??? ?cout << "請(qǐng)輸入所查找人的姓名:";
?? ??? ??? ?cin >> Name;
?? ??? ??? ?Person* peo = T.find(Name);
?? ??? ??? ?if (peo == NULL) {
?? ??? ??? ??? ?cout << "查無此人" << endl;
?? ??? ??? ??? ?system("cls");
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?cout<<"-----------------------------------"<<endl;
?? ??? ??? ?cout <<left<<setw(8)<<"序 號(hào)"<<setw(9)<<"姓 名"<<setw(10)<<"崗 位"<<setw(10)<<"工 資"<< endl;?
?? ??? ??? ?peo->show();
?? ??? ??? ?cout<<endl<<"-----------------------------------"<<endl;
?? ??? ??? ?cout << endl;
?? ??? ??? ?system("pause");
?? ??? ??? ?
?? ??? ?}
?? ??? ??? ??? ?break;
?? ??? ?case 4: {?
?? ??? ??? ?cout<<"-----------------------------------"<<endl;
?? ??? ??? ?cout <<left<<setw(8)<<"序 號(hào)"<<setw(9)<<"姓 名"<<setw(10)<<"崗 位"<<setw(10)<<"工 資"<< endl;?
?? ??? ??? ?T.show1();
?? ??? ??? ?cout<<"-----------------------------------"<<endl;
?? ??? ??? ?system("pause");
?? ??? ??? ?system("cls");
?? ??? ?}
?? ??? ??? ??? ?break;
?? ??? ?case 5: {?
?? ??? ??? ?cout<<"-----------------------------------"<<endl;
?? ??? ??? ?cout <<left<<setw(8)<<"序 號(hào)"<<setw(9)<<"姓 名"<<setw(10)<<"崗 位"<<setw(10)<<"工 資"<< endl;?
?? ??? ??? ??? ?T.show();
?? ??? ?}
?? ??? ??? ?system("pause");
?? ??? ??? ??? ?break;
?? ??? ?case 0:
?? ??? ??? ?T.addtofile();
?? ??? ??? ?exit(0);
?? ??? ?default:
?? ??? ??? ?cout << "輸入錯(cuò)誤請(qǐng)重新輸入" << endl;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?return 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++手?jǐn)]智能指針的教程分享

    C++手?jǐn)]智能指針的教程分享

    在前文中小編為大家介紹了C++智能指針的一些使用方法和基本原理,所以本文就來自己動(dòng)手,從0到1實(shí)現(xiàn)一下自己的unique_ptr和shared_ptr吧
    2023-05-05
  • C基礎(chǔ) redis緩存訪問詳解

    C基礎(chǔ) redis緩存訪問詳解

    下面小編就為大家?guī)硪黄狢基礎(chǔ) redis緩存訪問詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 詳細(xì)解析命令行的getopt_long()函數(shù)

    詳細(xì)解析命令行的getopt_long()函數(shù)

    getopt_long支持長(zhǎng)選項(xiàng)的命令行解析,函數(shù)中的參數(shù)argc和argv通常直接從main()的兩個(gè)參數(shù)傳遞而來
    2013-09-09
  • Qt設(shè)計(jì)與實(shí)現(xiàn)軟鍵盤效果

    Qt設(shè)計(jì)與實(shí)現(xiàn)軟鍵盤效果

    這篇文章主要為大家詳細(xì)介紹了Qt設(shè)計(jì)與實(shí)現(xiàn)軟鍵盤效果的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • C語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)源代碼

    C語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)源代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C/C++語(yǔ)言中的頭文件匯總

    C/C++語(yǔ)言中的頭文件匯總

    這篇文章主要匯總了C/C++語(yǔ)言中的頭文件,方便各位朋友更好的工作和學(xué)習(xí),有需要的朋友可以參考下
    2020-06-06
  • QT?.pro文件使用解析

    QT?.pro文件使用解析

    QT工程的pro文件,在創(chuàng)建工程時(shí)由QTCreater自動(dòng)創(chuàng)建,我們可以往里面添加內(nèi)容,增加庫(kù)文件的聲明,包含路徑、預(yù)處理器定義,生成目錄,輸出中間目錄等等設(shè)置,本文就來介紹一下
    2022-04-04
  • C語(yǔ)言strcat函數(shù)詳解:字符串追加的利器

    C語(yǔ)言strcat函數(shù)詳解:字符串追加的利器

    strcat函數(shù)用于將源字符串追加到目標(biāo)字符串的末尾,并返回一個(gè)指向目標(biāo)字符串的指針,它可以實(shí)現(xiàn)字符串的拼接操作
    2024-08-08
  • VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏

    VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏

    這篇文章主要介紹了VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • C語(yǔ)言之system函數(shù)案例詳解

    C語(yǔ)言之system函數(shù)案例詳解

    這篇文章主要介紹了C語(yǔ)言之system函數(shù)案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

西畴县| 宜都市| 中卫市| 上杭县| 河南省| 五大连池市| 横峰县| 慈利县| 托里县| 鲁山县| 正定县| 陇川县| 尼木县| 南丹县| 东莞市| 日照市| 浙江省| 新津县| 苍山县| 米泉市| 潮州市| 平定县| 阳山县| 巴马| 太仓市| 芮城县| 南宁市| 东光县| 麦盖提县| 龙陵县| 临沭县| 黑水县| 天水市| 陆川县| 北辰区| 雷波县| 正阳县| 巴青县| 寻甸| 乳山市| 衡水市|