C語(yǔ)言實(shí)現(xiàn)飛機(jī)售票系統(tǒng)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)飛機(jī)售票系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一、項(xiàng)目簡(jiǎn)介
通過(guò)“航空售票系統(tǒng)”C語(yǔ)言課程設(shè)計(jì)的實(shí)踐,掌握函數(shù)、數(shù)據(jù)的讀取和存儲(chǔ)。熟練鏈表的操作,為后期學(xué)習(xí)打下基礎(chǔ)。
二、任務(wù)概述
(1) 將飛機(jī)坐位分為20排,每排4個(gè)位子。
(2) 系統(tǒng)可讓乘客自己選座號(hào)和區(qū)域,直到乘客滿意為止。
(3) 若無(wú)法滿足的話,改乘另一個(gè)航班。
(4) 定上票的乘客需給出姓名和身份證號(hào)。
(5) 要求打印出乘客信息。
三、功能展示
四、思維導(dǎo)圖
五、程序源碼
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 100 typedef struct plane { ? ? ?char ID[10]; /*航班代號(hào)*/ ? ? ?char BePlace[10];/*飛機(jī)起飛地點(diǎn)*/ ? ? ?char EnPlace[10];/*飛機(jī)降落終點(diǎn)*/ ? ? ?char data[15];/*飛機(jī)起飛時(shí)間*/ ? ? ?int max;/*飛機(jī)最大乘客人數(shù)*/ ? ? ?int num;/*飛機(jī)已售票數(shù)*/ }PLANE;PLANE ti[N]; typedef struct user { ? ? ?char name[20]; ? ? ?int number; ? ? ?char id[20]; ?? ? char seat[3]; ? ?? ? ? ? }USER;USER si[N]; int n,n1;/*當(dāng)前的航班數(shù)目以及新加入的航班*/ int e,r; void menu(); void menu1(); void input(int i) /* 輸入航班模塊,enter的子模塊 */ { ? ? ?printf("請(qǐng)輸入航班代號(hào):\n"); ? ? ?scanf("%s",ti[i].ID); ? ? ? ? ? ?printf("請(qǐng)輸入起飛地點(diǎn):\n"); ? ? ?scanf("%s",ti[i].BePlace); ? ? ? ? ? ?printf("請(qǐng)輸入降落地點(diǎn):\n"); ? ? ?scanf("%s",ti[i].EnPlace); ? ? ? ? ? ?printf("請(qǐng)輸入起飛時(shí)間:\n"); ? ? ?scanf("%s",ti[i].data); ? ? ? ? ? ?printf("請(qǐng)輸入最大座位:\n"); ? ? ?scanf("%d",&ti[i].max); ? ? ?ti[i].num=0; } void enter() /* 添加航班模塊 */ { ? ? ?int i; ? ? ?system( "cls" ); /*清屏*/ ?? ? n1=0; ? ? ?n=n+n1; ? ? ?printf("請(qǐng)輸入航班的數(shù)目:"); ? ? ?scanf("%d",&n1); /*要輸入的記錄個(gè)數(shù)*/ ? ? ?printf("\n請(qǐng)輸入數(shù)據(jù)(原已有%d趟航班)\n\n",n); ? ? ?for(i=n;i<n+n1;i++) ? ? ?{ ? ? ? ? ?printf("\n請(qǐng)輸入第 %d 航班記錄.\n",i+1); ? ? ? ? ?input(i); /*調(diào)用輸入函數(shù)*/ ? ? ?} ? ? ?getchar(); ? ? ?menu(); } void printf_one(int i) /*顯示一個(gè)記錄的函數(shù)*/ { ? ? ?printf("\t%-8s %-8s %-8s %-8s %-8d %-8d ",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].max,ti[i].num); } void dele(int k) /* 刪除用戶信息,shanchu的子模塊 */ { ? ? ?int i; ? ? ?for(i=(k+1);i<N;i++){ ? ? ?strcpy(si[k].name,si[k+1].name); ? ? ?si[k].number=si[k+1].number; ? ? ?strcpy(si[k].id,si[k+1].id); } } int shanchu(struct plane a) /* 刪除用戶訂票模塊,退票的子模塊 */ { ? ? ?int i; ? ? ?for(i=0;i<N;i++) ? ? ?{ ? ? ? ? ?if(strcmp(a.ID,si[i].id)==0) ? ? ? ? ?{ ? ? ? ? ? ? ?dele(i); ? ? ? ? ?} ? ? ?} ? ? ?return i; } int browse() /* 瀏覽模塊 */ { ? ? ?int i; ? ? ?r=0; ? ? ?system( "cls" ); ? ? ?puts("\n\t------------------------------航班瀏覽------------------------------"); ? ? ?printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 最大乘客 已售票數(shù)\n"); ? ? ?for(i=0;i<n+n1;i++) ? ? ?{ ? ? ? ? ?r=r+ti[i].num; ? ? ?} ? ? ?for(i=0;i<n+n1-r-2;i++) ? ? ?{ ? ? ? ? ?printf_one(i); ? ? ? ? ?printf("\n"); ? ? ?} ? ? ?getchar(); ? ? ?getchar(); ? ? ?menu(); ? ? ?return i; } void search_time() /* 時(shí)間查詢(xún)模塊,查詢(xún)的子模塊 */ { ? ? ?int i,m=0; ? ? ?struct plane s; ? ? ?system( "cls" ); ? ? ?printf("\n\nEnter the time:"); ? ? ?scanf("%s",s.data); /*輸入出發(fā)的時(shí)間*/ ? ? ?puts("\n--------------------------------------------------------------------"); ? ? ?printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 最大乘客 已售票數(shù)\n"); ? ? ?for(i=0;i<n+n1;i++) ? ? ?{ ? ? ? ? ?if(strcmp(s.data,ti[i].data)==0) ? ? ? ? ?{ ? ? ? ? ? ? m++; ? ? ? ? ? ? if((m!=0)&&(m%10==0)) /*目的是分屏顯示*/ ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\n\nPress any key to contiune . . ."); ? ? ? ? ? ? ? ? getchar(); ? ? ? ? ? ? ? ? puts("\n\n"); ? ? ? ? ? ? } ? ? ? ? ?printf_one(i); ? ? ? ? ?printf("\n"); /*調(diào)用顯示一個(gè)記錄的函數(shù)*/ ? ? ? ? ?} ? ? ?} ? ? ?puts("\n--------------------------------------------------------------------"); ? ? ?getchar(); /*按任意健*/ ? ? ?getchar(); ? ? ?menu1(); } void serch_end() /* 終點(diǎn)查詢(xún)模塊,查詢(xún)的子模塊 */ { ? ? ?int i,m=0; ? ? ?struct plane s; ? ? ?system( "cls" ); ? ? ?printf("\n\nEnter the end Place:"); ? ? ?scanf("%s",s.EnPlace); /*輸入要到達(dá)的地方*/ ? ? ?puts("\n--------------------------------------------------------------------"); ? ? ?printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 最大乘客 已售票數(shù)\n"); ? ? ?for(i=0;i<n+n1;i++) ? ? ?{ ? ? ? ? ?if(strcmp(ti[i].EnPlace,s.EnPlace)==0) ? ? ? ? ?{ ? ? ? ? ? ? ?m++; ? ? ? ? ? ? ?if((m!=0)&&(m%10==0)) /*目的是分屏顯示*/ ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ?printf("\n\nPress any key to contiune . . ."); ? ? ? ? ? ? ? ? ?getchar(); ? ? ? ? ? ? ? ? ?puts("\n\n"); ? ? ? ? ? ? ?} ? ? ? ? ? ? ?printf_one(i); ? ? ? ? ? ? ?printf("\n"); /*調(diào)用顯示一個(gè)記錄的函數(shù)*/ ? ? ? ? ?} ? ? ?} ? ? ?puts("\n--------------------------------------------------------------------"); ? ? ?getchar(); /*按任意健*/ ? ? ?getchar(); ? ? ?menu1(); } void menu1() /* 查找模塊 */ { ? ? ?int n,w1; ? ? ?do ? ? { ? ? ? ? system( "cls" ); /*清屏*/ ? ? ? ? puts("\t\t\t\t 飛機(jī)售票操作!\n\n"); ? ? ? ? puts("\t\t*********************MENU*********************\n\n"); ? ? ? ? puts("\t\t\t\t1.按照時(shí)間查找航班"); ? ? ? ? puts("\t\t\t\t2.按照地點(diǎn)查找航班"); ? ? ? ? puts("\t\t\t\t3.返回主菜單"); ? ? ? ? puts("\n\n\t\t**********************************************\n"); ? ? ? ? printf("Choice your number(1-3): [ ]\b\b"); ? ? ? ? scanf("%d",&n); ? ? ? ? if(n<1||n>3) /*對(duì)選擇的數(shù)字作判斷*/ ? ? ? ? { ? ? ? ? ? ?w1=1; ? ? ? ? ? ?printf("your choice is not between 1 and 3,Please input again:");? ? ? ? ? ? ?getchar(); ? ? ? ? ? ?getchar(); ? ? ? ? } ? ? ? ? else w1=0; ? ? ?} ? ? ?while(w1==1); /*選擇功能*/ ? ? ?switch(n) ? ? { ? ? ? ? case 1:search_time();break; ? ? ? ? case 2:serch_end();break; ? ? ? ? case 3:menu();break; ? ? } } int search() /* 售票的查找模塊,book的子模塊 */ { ? ? ?int i,k; ? ? ?struct plane s; ? ? ?k=-1; ? ? ?printf("請(qǐng)輸入要訂票的起飛地點(diǎn):\n"); ? ? ?scanf("%s",s.BePlace);/*輸入要起飛的地方*/? ? ? ?printf("請(qǐng)輸入要訂票的降落地點(diǎn):\n"); ? ? ?scanf("%s",s.EnPlace);/*輸入要到達(dá)的地方*/ ? ? ?printf("請(qǐng)輸入要訂票的起飛時(shí)間:\n"); ? ? ?scanf("%s",s.data); /*輸入出發(fā)的時(shí)間*/ ? ? ?for(i=0;i<n+n1;i++) /*查找要修改的數(shù)據(jù)*/ ? ? ?{ ? ? ? ? if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.data,ti[i].data)==0) ? ? ? ? { ? ? ? ? ? ?k=i; /*找到要修改的記錄*/ ? ? ? ? ? ?strcpy(s.data,ti[i].data); ? ? ? ? ? ?printf_one(k); ? ? ? ? ? ?break; /*調(diào)用顯示一個(gè)記錄的函數(shù)*/ ? ? ? ? } ? ? ?} ? ? ?if(k==-1) ? ? ?{ ? ? ? ?printf("\n\nNO exist!"); ? ? ? ?return -1; ? ? ?} ? ? ?else ? ? ?return k; } void book() /* 訂票模塊 */ { ? ? ?int i; ? ? ?system( "cls" ); ? ? ?r=0; ? ? ?printf("歡迎進(jìn)入售票窗口!\n"); ? ? ?printf("飛機(jī)上有20排座位,每排有4個(gè)座位,每排分為A,B,C,D。其中A,D靠窗戶。\n19,20為吸煙區(qū)。座位選擇按先選排序號(hào)再選座位號(hào)"); ? ? ?printf("\n\n\n請(qǐng)輸入您的姓名:\n"); /*用戶信息輸入*/ ? ? ?scanf("%s",si[e].name); ?? ? printf("請(qǐng)輸入您的身份證號(hào):\n"); ? ? ?scanf("%d",&si[e].number); ?? ? printf("請(qǐng)輸入你想選的座位號(hào):\n"); ? ? ?scanf("%s",si[e].seat); ? ? ?i=search(); ? ? ?if(i!=-1) ? ? ?{ ? ? ? ?if(ti[i].num>=ti[i].max) ? ? ? ?{ ? ? ? ? ? ?printf("\n該趟航班票已售完!"); ? ? ? ?} ? ? ? ?else ? ? ? ?{ ? ? ? ? ? ?ti[i].num++; ? ? ? ? ? ?strcpy(si[e].id,ti[i].ID); ? ? ? ? ? ?e++; ? ? ? ? ? ?printf("\n訂票成功!\n");? ? ? ? ?} ? ? ?} ? ? ?else ? ? ?{ ? ? ? ? ?printf("該航班不存在!\n"); ? ? ?} ? ? ?getchar(); ? ? ?getchar(); /*按任意健*/ ? ? ?menu(); } void back() /* 退票模塊 */ { ? ? ?int i,k=-1; ? ? ?struct plane s; ? ? ?char name[20]; ? ? ?int number;? ? ? ?system( "cls" ); ? ? ?printf("歡迎進(jìn)入退票窗口!\n"); ? ? ?printf("\n請(qǐng)輸入您的姓名:\n"); ? ? ?scanf("%s",name); ? ? ?printf("請(qǐng)輸入您的身份證號(hào):\n"); ? ? ?scanf("%d",&number); ? ? ?printf("\n\n輸入航班代號(hào):"); ? ? ?scanf("%s",s.ID); /*輸入要到達(dá)的地方*/ ? ? ?for(i=0;i<n+n1;i++) /*查找要修改的數(shù)據(jù)*/ ? ? ?{? ? ? ? ? if(strcmp(s.ID,ti[i].ID)==0) ? ? ? ? { ? ? ? ? ? ?k=i; /*找到要修改的記錄*/ ? ? ? ? ? ?printf_one(k); ? ? ? ? ? ?break; /*調(diào)用顯示一個(gè)記錄的函數(shù)*/ ? ? ? ? } ? ? ?} ? ? ?if(k==-1) ? ? ?{ ? ? ? ? printf("\n\nNO exist!"); ? ? ?} ? ? ?else ? ? ?{ ? ? ? ? ti[i].num--; ? ? ? ? shanchu(s);// r--; ? ? ? ? printf("\n退票成功!\n"); ? ? ?} ? ? ?getchar(); /*按任意健*/ ? ? ?getchar(); /*按任意健*/ ? ? ?menu(); } void watch() /*瀏覽已售信息模塊*/ { ? ? ?int i; ? ? ?system( "cls" ); ? ? ?r=0; ? ? ?for(i=0;i<n+n1;i++) ? ? ?{ ? ? ?r=r+ti[i].num; ? ? ?} ? ? ?printf("\n\t-------------------已售信息-------------------\n"); ? ? ?printf("\n\t姓 名 ?身份證號(hào) ? 座位號(hào) ?已買(mǎi)航班代號(hào)\n"); ? ? ?for(i=0;i<r;i++) ? ? ?{ ? ? ?printf("\t%-6s %-8d %8s %5s\n",si[i].name,si[i].number,si[i].seat,si[i].id); ? ? ?} ? ? ?printf("\n\t----------------------------------------------\n"); ? ? ?getchar(); ? ? ?getchar(); ? ? ?menu(); } void save()/*文件保存*/? { ? ? int w=1,m=1; ? ? r=0; ? ? FILE *fp,*fp1; ? ? int i,j; ? ? system( "cls" ); ? ? if((fp=fopen("ticket.txt","wb"))==NULL) /*以輸出打開(kāi)方式,在此前的記錄被覆蓋*/ ? ? { ? ? ? ? printf("\nCannot open file\n"); ? ? ? ? return ; ? ? } ? ? for(i=0;i<n+n1;i++) ? ? if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1) ? ? { ? ? ? ?printf("file write error\n"); ? ? ? ?w=0; ? ? } ? ? if(w==1) ? ? { ? ? ? ?printf("ticket file save ok!\n"); ? ? } ? ? fclose(fp); ? ? if((fp1=fopen("sale.txt","wb"))==NULL) /*以輸出打開(kāi)方式,在此前的記錄被覆蓋*/ ? ? { ? ? ? ? printf("\nCannot open file\n"); ? ? ? ? return ; ? ? } ? ? for(i=0;i<n+n1;i++) ? ? { ? ? ? ? r=r+ti[i].num; ? ? } ? ? for(j=0;j<=r;j++) ? ? if(fwrite(&si[j],sizeof(struct user),1,fp1)!=1) ? ? { ? ? ? ?printf("file write error\n"); ? ? ? ?m=0; ? ? } ? ? if(m==1) ? ? { ? ? ? ?printf("sale file save ok!\n"); ? ? } ? ? fclose(fp1); ? ? getchar(); ? ? getchar(); ? ? menu(); } void load() /* 加載模塊 */ { ? ? FILE *fp,*fp1; ? ? int i,w,j,m; ? ? w=1; ? ? m=1; ? ? system( "cls" ); ? ? if((fp=fopen("ticket.txt","rb"))==NULL) ? ? { ? ? ? ?printf("\nCan not open file!\n"); ? ? ? ?w=0; ? ? ? ?return; ? ? } ? ? n=0; ? ? for(i=0;!feof(fp);i++) ? ? { ? ? ? ?fread(&ti[i],sizeof(struct plane),1,fp); ? ? ? ?n++; ? ? } ? ? n=n-1; ? ? fclose(fp); ? ? if(w==1) ? ? printf("Load ticket file ok!\n"); ? ? if((fp1=fopen("sale.txt","rb"))==NULL) ? ? { ? ? ? ? printf("\nCan not open file\n"); ? ? ? ? m=0; ? ? ? ? return; ? ? } ? ? r=0; ? ? for(j=0;!feof(fp1);j++) ? ? { ? ? ? ? fread(&si[j],sizeof(struct user),1,fp1); ? ? ? ? n++; ? ? } ? ? r=r-1; ? ? fclose(fp1); ? ? if(m==1) ? ? printf("Load sale file ok!"); ? ? getchar(); ? ? getchar(); ? ? menu(); } void menu() /* 主頁(yè)面 */ { ? ? ?int n,w1; ? ? ?do ? ? ?{ ? ? ? ? system( "cls" ); /*清屏*/ ? ? ? ? puts("\t\t\t\t 航空公司售票系統(tǒng)!\n\n"); ? ? ? ? puts("\t\t*********************MENU*********************\n\n"); ? ? ? ? puts("\t\t\t\t1. 輸入新航班"); ? ? ? ? puts("\t\t\t\t2. 瀏覽航班 "); ? ? ? ? puts("\t\t\t\t3. 航班查詢(xún)"); ? ? ? ? puts("\t\t\t\t4. 訂票"); ? ? ? ? puts("\t\t\t\t5. 退票"); ? ? ? ? puts("\t\t\t\t6. 瀏覽已售信息"); ? ? ? ? puts("\t\t\t\t7. 保存"); ? ? ? ? puts("\t\t\t\t8. 載入"); ? ? ? ? puts("\t\t\t\t9. 退出"); ? ? ? ? puts("\n\n\t\t**********************************************\n"); ? ? ? ? printf("Choice your number(1-9): [ ]\b\b"); ? ? ? ? scanf("%d",&n); ? ? ? ? if(n<1||n>9) /*對(duì)選擇的數(shù)字作判斷*/? ? ? ? ? { ? ? ? ? ? ?w1=1; ? ? ? ? ? ?printf("your choice is not between 1 and 9,Please input enter to choice again:"); ? ? ? ? ? ?getchar(); ? ? ? ? ? ?getchar(); ? ? ? ? } ? ? ? ? else w1=0; ? ? ?} ? ? ?while(w1==1); /* 選擇功能,menu的子模塊 */ ? ? ?switch(n) ? ? ?{ ? ? ? ? case 1:enter();break; /*輸入模塊*/ ? ? ? ? case 2:browse();break; /*瀏覽航班模塊*/ ? ? ? ? case 3:menu1();break; /*航班查找模塊*/ ? ? ? ? case 4:book();break; /*訂票模塊*/ ? ? ? ? case 5:back();break; /*退票模塊*/ ? ? ? ? case 6:watch();break; /*瀏覽已售信息模塊*/ ? ? ? ? case 7:save();break; /*保存模塊*/ ? ? ? ? case 8:load();break; /*加載模塊*/ ? ? ? ? case 9:exit(0); ? ? ?} } int main() /*主函數(shù) */? { ? ? ?menu(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語(yǔ)言實(shí)現(xiàn)影院管理系統(tǒng)程序設(shè)計(jì)
- C語(yǔ)言實(shí)現(xiàn)電影院選座管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)影院管理系統(tǒng)
- 純C語(yǔ)言實(shí)現(xiàn)火車(chē)售票系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)航班售票系統(tǒng) C語(yǔ)言實(shí)現(xiàn)航班管理系統(tǒng)
- 基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的12306火車(chē)售票系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)影院售票管理系統(tǒng)
相關(guān)文章
linux c++模擬簡(jiǎn)易網(wǎng)絡(luò)爬蟲(chóng)實(shí)例
下面小編就為大家?guī)?lái)一篇linux c++模擬簡(jiǎn)易網(wǎng)絡(luò)爬蟲(chóng)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06C語(yǔ)言實(shí)現(xiàn)任意進(jìn)制轉(zhuǎn)換器
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)任意進(jìn)制轉(zhuǎn)換器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C語(yǔ)言超詳細(xì)講解函數(shù)棧幀的創(chuàng)建和銷(xiāo)毀
我們知道c語(yǔ)言中函數(shù)都是被調(diào)用的,main函數(shù)里面能調(diào)用其他函數(shù),其實(shí)main函數(shù)也是被別的函數(shù)調(diào)用的,下面通過(guò)本文給大家分享c語(yǔ)言函數(shù)棧幀的創(chuàng)建和銷(xiāo)毀過(guò)程,一起看看吧2022-05-05C++ String部分成員模擬實(shí)現(xiàn)流程詳解
我們先不直接實(shí)現(xiàn)完整版的string,先實(shí)現(xiàn)簡(jiǎn)易版的string部分成員來(lái)基本了解下它的框架,以及以后來(lái)學(xué)習(xí)深淺拷貝的問(wèn)題。這樣有循序漸進(jìn)的過(guò)程嘛2022-08-08C語(yǔ)言實(shí)現(xiàn)學(xué)籍信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)籍信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07C語(yǔ)言的常量,字符串,轉(zhuǎn)義字符,注釋你都了解嗎
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的常量,字符串,轉(zhuǎn)義字符,注釋?zhuān)闹惺纠a介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02C++進(jìn)一步認(rèn)識(shí)類(lèi)與對(duì)象
類(lèi)是創(chuàng)建對(duì)象的模板,一個(gè)類(lèi)可以創(chuàng)建多個(gè)對(duì)象,每個(gè)對(duì)象都是類(lèi)類(lèi)型的一個(gè)變量;創(chuàng)建對(duì)象的過(guò)程也叫類(lèi)的實(shí)例化。每個(gè)對(duì)象都是類(lèi)的一個(gè)具體實(shí)例(Instance),擁有類(lèi)的成員變量和成員函數(shù)2021-10-10Qt使用SQLite數(shù)據(jù)庫(kù)存儲(chǔ)管理圖片文件
這篇文章主要為大家詳細(xì)介紹了Qt如何使用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)存儲(chǔ)管理圖片文件的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04內(nèi)聯(lián)函數(shù)inline與宏定義深入解析
類(lèi)的內(nèi)斂函數(shù)是一個(gè)真正的函數(shù)。使用內(nèi)聯(lián)函數(shù)inline可以完全取代表達(dá)式形式的宏定義2013-09-09