C語(yǔ)言設(shè)計(jì)圖書(shū)登記系統(tǒng)與停車場(chǎng)管理系統(tǒng)的實(shí)例分享
圖書(shū)登記管理系統(tǒng)
圖書(shū)登記管理系統(tǒng)應(yīng)該具有下列功能:
(1)、 通過(guò)鍵盤輸入某本圖書(shū)的信息;
(2) 、給定圖書(shū)編號(hào),顯示該本圖書(shū)的信息;
(3) 、給定作者姓名,顯示所有該作者編寫(xiě)的圖書(shū)信息;
(4) 、給定出版社,顯示該出版社的所有圖書(shū)信息;
(5) 、給定圖書(shū)編號(hào),刪除該本圖書(shū)的信息;
(6) 、提供一些統(tǒng)計(jì)各類信息的功能。
程序完整的實(shí)現(xiàn)代碼如下:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
typedef struct book
{
int book_id; //圖書(shū)編號(hào)
char book_name[20]; //圖書(shū)名字
char name[20]; //作者姓名
char press[20]; //出版社
struct book *next;
}book;
book *head=NULL;
int length; //鏈表的長(zhǎng)度
void create()
{
book *p1,*p2;
length=0;
p1=(book *)malloc(sizeof(book));
p1->book_id=-1;
if(head==NULL)
head=p1;
printf("請(qǐng)輸入圖書(shū)的編號(hào)、名字、作者姓名、出版社信息:\n");
while(1) //圖書(shū)編號(hào)為0的時(shí)候退出
{
p2=(book *)malloc(sizeof(book));
scanf("%d %s %s %s",&p2->book_id,p2->book_name,p2->name,p2->press); //輸入圖書(shū)信息
if(p2->book_id==0)
{
printf("圖書(shū)信息輸入完成!\n");
break;
}
length++; //鏈表的長(zhǎng)度
p1->next=p2;
p2->next=NULL;
p1=p1->next;
}
return ;
}
void display()
{
book *p=head->next;
printf("鏈表中所有的圖書(shū)信息如下:\n");
while(p!=NULL)
{
printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
p=p->next;
}
return ;
}
void search()
{
int num,x,flag1=0,flag2=0;
char name[20],press[20];
book *p=head->next;
printf("1、根據(jù)圖書(shū)編號(hào)進(jìn)行查找\n");
printf("2、根據(jù)作者姓名進(jìn)行查找\n");
printf("3、根據(jù)出版社進(jìn)行查找\n");
printf("請(qǐng)選擇功能:");
scanf("%d",&x);
if(x==1)
{
printf("需要查找的圖書(shū)編號(hào)為:");
scanf("%d",&num);
while(p!=NULL)
{
if(p->book_id==num)
{
printf("圖書(shū)編號(hào)為%d的圖書(shū)的信息如下:\n",num);
printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
return;
}
p=p->next;
}
if(p==NULL)
printf("無(wú)此記錄!\n");
}
else if(x==2)
{
printf("需要查找的作者姓名為:");
scanf("%s",name);
while(p!=NULL)
{
if(strcmp(p->name,name)==0)
{
if(flag1==0)
printf("作者%s編寫(xiě)的圖書(shū)信息如下:\n",name);
flag1=1;
printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
}
p=p->next;
}
if(flag1==0)
printf("圖書(shū)館沒(méi)有作者%s編寫(xiě)的圖書(shū)!\n",name);
}
else if(x==3)
{
printf("需要查找的出版社為:");
scanf("%s",press);
while(p!=NULL)
{
if(strcmp(p->press,press)==0)
{
if(flag2==0)
printf("出版社為%s編寫(xiě)的圖書(shū)信息如下:\n",press);
flag2=1;
printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
}
p=p->next;
}
if(flag2==0)
printf("圖書(shū)館沒(méi)有出版社%s編寫(xiě)的圖書(shū)!\n",press);
}
return ;
}
void Delete()
{
int num;
book *p,*q;
q=head,p=head->next;
printf("請(qǐng)輸入要?jiǎng)h除的圖書(shū)編號(hào):\n");
scanf("%d",&num);
while(p!=NULL)
{
if(p->book_id==num)
{
q->next=p->next;
free(p);
length--;
printf("刪除成功!\n");
return ;
}
p=p->next;
q=q->next;
}
if(p==NULL)
{
printf("找不到要?jiǎng)h除的圖書(shū)編號(hào)!\n");
return ;
}
}
void menu()
{
printf("________________________________________________________________\n");
printf("| 圖書(shū)登記管理系統(tǒng) |\n");
printf("| 0、 退出系統(tǒng) |\n");
printf("| 1、 輸入圖書(shū)信息 |\n");
printf("| 2、 顯示圖書(shū)信息 |\n");
printf("| 3、 查詢圖書(shū)信息 |\n");
printf("| 4、 刪除圖書(shū)信息 |\n");
printf("________________________________________________________________\n");
return ;
}
int main(void)
{
int a;
menu();
while(1)
{
printf("請(qǐng)選擇相應(yīng)的功能:");
scanf("%d",&a);
switch(a)
{
case 0:
return 0;
case 1:
create();
menu();
break;
case 2:
if(head)
{
display();
menu();
}
else
{
printf("圖書(shū)信息為空,請(qǐng)先輸入圖書(shū)信息!\n");
menu();
}
break;
case 3:
if(head)
{
search();
menu();
}
else
{
printf("圖書(shū)信息為空,請(qǐng)先輸入圖書(shū)信息!\n");
menu();
}
break;
case 4:
if(head)
{
Delete();
menu();
}
else
{
printf("圖書(shū)信息為空,請(qǐng)先輸入圖書(shū)信息!\n");
menu();
}
break;
default:
break;
}
}
system("pause");
return 0;
}
停車場(chǎng)管理系統(tǒng)
設(shè)停車場(chǎng)是一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在停車場(chǎng)的最北端),若停車場(chǎng)內(nèi)已停滿n輛汽車,則后來(lái)的汽車只能在門外的便道上等候,一旦有車開(kāi)走,則排在便道上的第一輛車即可開(kāi)入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開(kāi)時(shí),在它之后進(jìn)入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開(kāi)出大門外,其他車輛再按原次序進(jìn)入車場(chǎng),每輛停放在車場(chǎng)的車在它離開(kāi)停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。
基本要求:
以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼以及到達(dá)或離去的時(shí)刻。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。
完整的實(shí)現(xiàn)代碼如下:
第一種方法:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define MAX 2 //車庫(kù)容量
#define price 0.05 //每車每分鐘費(fèi)用
typedef struct time //時(shí)間結(jié)點(diǎn)
{
int hour;
int min;
}Time;
typedef struct node //車輛信息結(jié)點(diǎn)
{
char num[10];
Time reach;
Time leave;
}CarNode;
typedef struct NODE //模擬車站
{
CarNode *stack[MAX+1];
int top;
}SeqStackCar;
typedef struct car
{
CarNode *data;
struct car *next;
}QueueNode;
typedef struct Node //模擬通道
{
QueueNode *head;
QueueNode *rear;
}LinkQueueCar;
void InitStack(SeqStackCar *); //初始化棧
int InitQueue(LinkQueueCar *); //初始化便道
int arrival(SeqStackCar *,LinkQueueCar *); //車輛到達(dá)
void leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); //車輛離開(kāi)
void list(SeqStackCar,LinkQueueCar); //顯示存車信息
int main(void)
{
SeqStackCar Enter,Temp;
LinkQueueCar Wait;
int ch;
InitStack(&Enter); //初始化車站
InitStack(&Temp); //初始化讓路的臨時(shí)棧
InitQueue(&Wait); //初始化通道
while(1)
{
printf("\n 1. The car arrive\n");
printf(" 2. The car leave\n");
printf(" 3. The schedule\n");
printf(" 4. Exit\n");
while(1)
{
scanf("%d",&ch);
if(ch>=1 && ch<=4)
break;
else
printf("\nPlease choose: 1|2|3|4.");
}
switch(ch)
{
case 1:
arrival(&Enter,&Wait); //車輛到達(dá)
break;
case 2:
leave(&Enter,&Temp,&Wait); //車輛離開(kāi)
break;
case 3:
list(Enter,Wait);break; //列表打印信息
case 4:
exit(0); //退出主程序
default:
break;
}
}
}
void InitStack(SeqStackCar *s) //初始化棧
{
int i;
s->top=0;
for(i=0;i<=MAX;i++)
s->stack[s->top]=NULL;
}
int InitQueue(LinkQueueCar *Q) //初始化便道
{
Q->head=(QueueNode *)malloc(sizeof(QueueNode));
if(Q->head!=NULL)
{
Q->head->next=NULL;
Q->rear=Q->head;
return 1;
}
else return -1;
}
void print(CarNode *p,int room) //打印出站車的信息
{
int A1,A2,B1,B2;
printf("\nplease input thedepart time:/**:**/");
scanf("%d:%d",&(p->leave.hour),&(p->leave.min));
printf("\nthe number of the car:");
puts(p->num);
printf("\nthe time the car arrive: %d:%d",p->reach.hour,p->reach.min);
printf("the depart time: %d:%d",p->leave.hour,p->leave.min);
A1=p->reach.hour;
A2=p->reach.min;
B1=p->leave.hour;
B2=p->leave.min;
printf("\nthe fee: %2.1f元",((B1-A1)*60+(B2-A2))*price);
free(p);
}
int arrival(SeqStackCar *Enter,LinkQueueCar *W) //車輛到達(dá)
{
CarNode *p;
QueueNode *t;
p=(CarNode *)malloc(sizeof(CarNode));
flushall();
printf("\ninput the number of the car(例:陜A1234):");
gets(p->num);
if(Enter->top<MAX) //車場(chǎng)未滿,車進(jìn)車場(chǎng)
{
Enter->top++;
printf("\nthe place of the car.",Enter->top);
printf("\nthe time thecar arrive:/**:**/");
scanf("%d:%d",&(p->reach.hour),&(p->reach.min));
Enter->stack[Enter->top]=p;
return 1;
}
else //車場(chǎng)已滿,車進(jìn)便道
{
printf("\n該車須在便道等待!");
t=(QueueNode *)malloc(sizeof(QueueNode));
t->data=p;
t->next=NULL;
W->rear->next=t;
W->rear=t;
return 1;
}
}
void leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) //車輛離開(kāi)
{
int i, room;
CarNode *p,*t;
QueueNode *q;
//判斷車場(chǎng)內(nèi)是否有車
if(Enter->top>0) //有車
{
while(1) //輸入離開(kāi)車輛的信息
{
printf("\n請(qǐng)輸入車在車場(chǎng)的位置/1--%d/:",Enter->top);
scanf("%d",&room);
if(room>=1&&room<=Enter->top)
break;
}
while(Enter->top>room) //車輛離開(kāi)
{
Temp->top++;
Temp->stack[Temp->top]=Enter->stack[Enter->top];
Enter->stack[Enter->top]=NULL;
Enter->top--;
}
p=Enter->stack[Enter->top];
Enter->stack[Enter->top]=NULL;
Enter->top--;
while(Temp->top>=1)
{
Enter->top++;
Enter->stack[Enter->top]=Temp->stack[Temp->top];
Temp->stack[Temp->top]=NULL;
Temp->top--;
}
print(p,room);
//判斷通道上是否有車及車站是否已滿
if((W->head!=W->rear)&&Enter->top<MAX) //便道的車輛進(jìn)入車場(chǎng)
{
q=W->head->next;
t=q->data;
Enter->top++;
printf("\n便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.",t->num,Enter->top);
printf("\n請(qǐng)輸入現(xiàn)在的時(shí)間/**:**/:");
scanf("%d:%d",&(t->reach.hour),&(t->reach.min));
W->head->next=q->next;
if(q==W->rear) W->rear=W->head;
Enter->stack[Enter->top]=t;
free(q);
}
else
printf("\n便道里沒(méi)有車.\n");
}
else
printf("\n車場(chǎng)里沒(méi)有車."); //沒(méi)車
}
void list1(SeqStackCar *S) //列表顯示車場(chǎng)信息
{
int i;
if(S->top>0) //判斷車站內(nèi)是否有車
{
printf("\n車場(chǎng):");
printf("\n 位置 到達(dá)時(shí)間 車牌號(hào)\n");
for(i=1;i<=S->top;i++)
{
printf(" %d ",i);
printf("%d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min);
puts(S->stack[i]->num);
}
}
else
printf("\n車場(chǎng)里沒(méi)有車");
}
void list2(LinkQueueCar *W) //列表顯示便道信息
{
QueueNode *p;
p=W->head->next;
if(W->head!=W->rear) //判斷通道上是否有車
{
printf("\n等待車輛的號(hào)碼為:");
while(p!=NULL)
{
puts(p->data->num);
p=p->next;
}
}
else
printf("\n便道里沒(méi)有車.");
}
void list(SeqStackCar S,LinkQueueCar W)
{
int flag,tag;
flag=1;
while(flag)
{
printf("\n請(qǐng)選擇 1|2|3:");
printf("\n1.車場(chǎng)\n2.便道\n3.返回\n");
while(1)
{
scanf("%d",&tag);
if(tag>=1 || tag<=3)
break;
else
printf("\n請(qǐng)選擇 1|2|3:");
}
switch(tag)
{
case 1:
list1(&S);
break; //列表顯示車場(chǎng)信息
case 2:
list2(&W);
break; //列表顯示便道信息
case 3:
flag=0;
break;
default: break;
}
}
}
第二種方法:
#include "stdio.h"
#include "stdlib.h"
#define SIZE 10
typedef struct
{
int hour;
int min;
}time; //車的時(shí)間結(jié)構(gòu)體
typedef struct
{
int num;
int position;
time t;
float money;
}Car; //車的信息
typedef struct
{
Car elem[SIZE+1];
int top; //指向便道中的第一個(gè)空位
} Stack; //創(chuàng)建堆棧
typedef struct Node
{
Car data;
struct Node *next;
}CQueueNode;
//建立過(guò)道的程序:
typedef struct
{
CQueueNode *front;
CQueueNode *rear;
}LinkQueue; //設(shè)置的便道
//便道初始化程序
void InitQueue(LinkQueue *Q)
{
Q->front=(CQueueNode*)malloc(sizeof(CQueueNode)); //使mallo返回的指針轉(zhuǎn)換為指向CQueueNode類型數(shù)據(jù)的指針
if(Q->front!=NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;
}
}
int EnterQueue(LinkQueue *Q,Car *t)
{
CQueueNode *NewNode;
NewNode=(CQueueNode*)malloc(sizeof(CQueueNode)); //給便道申請(qǐng)空間
if(NewNode!=NULL)
{
NewNode->data.num=t->num;
NewNode->data.t.hour=t->t.hour;
NewNode->data.t.min=t->t.min;
NewNode->next=NULL;
Q->rear->next=NewNode;
Q->rear=NewNode;
return 1;
}
else return 0;
}
void InitStack(Stack *S)
{
S->top=0;
} //確保堆棧為空
void Push(Stack *S,Car *r) //便道中的車入庫(kù)
{
S->top++;
S->elem[S->top].num=r->num;
r->position=S->elem[S->top].position=S->top;
S->elem[S->top].t.hour=r->t.hour;
S->elem[S->top].t.min=r->t.min;
}
int IsEmpty(Stack* S) //判斷車庫(kù)是否為空
{
return(S->top==0?1:0);
}
int IsFull(Stack *S) //判斷車庫(kù)是否為滿
{
return(S->top==SIZE?1:0);
}
int GetTop(Stack *S,Car *n) //車離開(kāi)車庫(kù)
{
n->num=S->elem[S->top].num;
n->position=S->elem[S->top].position;
n->t.hour=S->elem[S->top].t.hour;
n->t.min=S->elem[S->top].t.min;
return 1;
}
int DeleteQueue(LinkQueue *Q,Car *x)
{
CQueueNode *p;
if(Q->front==Q->rear)
return 0; //判斷便道為空
p=Q->front->next; //將便道中的車放入車庫(kù)
Q->front->next=p->next;
if(Q->rear==p)
Q->rear=Q->front;
x->num=p->data.num;
x->t.hour=p->data.t.hour;
x->t.min=p->data.t.min;
free(p); //釋放臨時(shí)指針
return 1;
}
void In(Stack *S,LinkQueue *Q,Car*r)
{
if(IsFull(S))
{
printf("車庫(kù)已滿,請(qǐng)等待!");
EnterQueue(Q,r); //車進(jìn)入便道
}
else
{
Push(S,r);
printf("\n您現(xiàn)在所在位置 %d",r->position); //打印車的位置
}
}
void TaM(Car *r,int h,int m)
{
if(m>r->t.min)
{
r->t.min+=60;
r->t.hour-=1;
}
h=r->t.hour-h;
m=r->t.min-m;
printf("\n停車 %d小時(shí) %d 分鐘\n",h,m);
printf("每小時(shí)收費(fèi)30元\n");
h=h*60;m=h+m;
r->money=0.5*m;
printf("請(qǐng)支付金額%.2f元\n",r->money); //輸出車主應(yīng)付金額
}
void Out(Stack *S,Stack *S0,Car *r,LinkQueue *Q)
{
int tag=S->top;
Car x;
if(IsEmpty(S))
printf("沒(méi)有此車!");
else
{
for(;r->num!=S->elem[tag].num && tag>0;tag--)
{
Push(S0,&S->elem[tag]);
S->top--;
}
if(r->num==S->elem[tag].num)
{
TaM(r,S->elem[tag].t.hour,S->elem[tag].t.min);
S->top--;
for(;S0->top>0;S0->top--)
Push(S,&S0->elem[S0->top]);
if(S->top<SIZE && Q->front!=Q->rear) //判斷車庫(kù)是否有此車,有就找到此車,然后退出
{
DeleteQueue(Q,&x);
Push(S,&x);
}
}
else if(tag==0) //過(guò)道中的車無(wú)需收車費(fèi)
{
printf("未進(jìn)入停車場(chǎng)應(yīng)支付金額 0元!");
for(;S0->top>0;S0->top--)
Push(S,&S0->elem[S0->top]);
}
}
}
void print1(Stack *S)
{
int tag;
Car x;
printf("停車場(chǎng)停車情況:\n");
if(IsEmpty(S))
printf("無(wú)車!");
for(tag=S->top;S->top>0;S->top--)
if(GetTop(S,&x)) //顯示車庫(kù)中個(gè)車的信息及到達(dá)時(shí)間
printf("車牌號(hào) %d,所在位置 %d,到達(dá)/離開(kāi)時(shí)間 %d:%d\n",x.num,x.position,x.t.hour,x.t.min);
S->top=tag;
}
void print2(LinkQueue *Q)
{
CQueueNode *p;
p=Q->front->next;
for(;p!=NULL;p=p->next) //顯示過(guò)道上車的信息及到達(dá)時(shí)間
printf("等待車牌號(hào) %d, 到達(dá)/離開(kāi)時(shí)間 %d:%d",p->data.num,p->data.t.hour,p->data.t.min);
}
void print()
{
printf("\n***********************************歡迎光臨*************************************\n");
printf("\n 請(qǐng)選擇:\n");
printf("\n 1 :到達(dá)");
printf("\n 2 :離開(kāi)");
printf("\n 3 :搜索");
printf("\n 4 :退出\n");
printf("\n");
}
int main(void)
{
int n,m,i=1,j,flag=0;
Car c[10];
Stack S,S0; //設(shè)定堆棧S,SO
LinkQueue Q; //便道
InitStack(&S); //堆棧S
InitStack(&S0); //臨時(shí)堆棧S0
InitQueue(&Q);
while(1)
{
print();
scanf("%d",&m);
switch(m)
{
case 1:
printf("\n請(qǐng)輸入車牌號(hào):");
scanf("%d",&c[i].num);
printf("\n請(qǐng)輸入到達(dá)/離開(kāi)時(shí)間:");
scanf("%d:%d",&c[i].t.hour,&c[i].t.min);
In(&S,&Q,&c[i]);i++; //車輛的情況
break;
case 2:
printf("\n請(qǐng)輸入車牌號(hào):");
scanf("%d",&n);
for(j=0;j<10;j++)
if(n==c[j].num)
break;
printf("\n請(qǐng)輸入到達(dá)/離開(kāi)時(shí)間:");
scanf("%d:%d",&c[j].t.hour,&c[j].t.min);
Out(&S,&S0,&c[j],&Q); //車輛的情況
break;
case 3:
print1(&S); //輸出車庫(kù)中車的信息
print2(&Q); //輸出過(guò)道上車的信息
break; //終止
case 4:
flag=1;
break;
default:
printf("\n輸入錯(cuò)誤,請(qǐng)輸入 1,2,3 或4");
}
if(flag)
break; //結(jié)束程序
} return 0;
}
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- C語(yǔ)言圖書(shū)管理系統(tǒng)簡(jiǎn)潔版
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單圖書(shū)管理系統(tǒng)
- C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- C語(yǔ)言鏈表實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)管理系統(tǒng)(文件數(shù)據(jù)庫(kù))
- C語(yǔ)言單鏈表實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)管理系統(tǒng)開(kāi)發(fā)
相關(guān)文章
解析C++哈夫曼樹(shù)編碼和譯碼的實(shí)現(xiàn)
本篇文章主要介紹了C++哈夫曼樹(shù)編碼和譯碼的實(shí)現(xiàn),詳細(xì)的講訴了哈夫曼樹(shù)編碼的原理,有需要的同學(xué)可以了解一下。2016-11-11
Cocos2d-x學(xué)習(xí)筆記之Hello World!
這篇文章主要介紹了Cocos2d-x學(xué)習(xí)筆記之Hello World!本文基于vs2010和C++語(yǔ)言開(kāi)發(fā),需要的朋友可以參考下2014-09-09
C語(yǔ)言實(shí)現(xiàn)的雙鏈表功能完整示例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)的雙鏈表功能,結(jié)合完整實(shí)例形式分析了基于C語(yǔ)言實(shí)現(xiàn)的雙鏈表定義、添加、刪除、排序等相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
利用OpenCV實(shí)現(xiàn)局部動(dòng)態(tài)閾值分割
這篇文章主要為大家詳細(xì)介紹了利用OpenCV實(shí)現(xiàn)局部動(dòng)態(tài)閾值分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Cocos2d-x保存用戶游戲數(shù)據(jù)CCUserDefault類使用實(shí)例
這篇文章主要介紹了Cocos2d-x保存用戶游戲數(shù)據(jù)CCUserDefault類使用實(shí)例,需要的朋友可以參考下2014-09-09
C++中形參和實(shí)參的區(qū)別及說(shuō)明
這篇文章主要介紹了C++中形參和實(shí)參的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

