C說話中的函數指針進修筆記。本站提示廣大學習愛好者:(C說話中的函數指針進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中的函數指針進修筆記正文
本文實例為年夜家分享了C++基本先生治理體系的完成代碼,供年夜家參考,詳細內容以下
實用於c++6.0,codeblocks等經常使用對象
1. 鏈表處置部門
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
void dispnode(linklist h)
{
node *p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
int inputnode(linklist h,T e)
{
node *p;
node *q;
p=h;
while(p->next&& (p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return 0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return 1;
}
int delnode(linklist h,int id)
{
node *p;
p=h;
while(p->next&&(p->next->data).id!=id)
p=p->next;
if(p->next)
{
node *t=p->next;
p->next=t->next;
free(t);
return 1;
}
else
return 0;
}
node* searchname(linklist h,char name[])
{
node *p;
p=h-next;
while( p && strcmp((p->data).name ,name)!=0)
p=p->next;
return p;
}
node* searchid(linklist h,int id)
{
node *p;
p=h->next;
while( p->next && (p->next->data).id <= e.id )
p=p->next;
return p;
}
2. 數據處置部門
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
void dispnode(linklist h)
{
node *p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
int inputnode(linklist h,T e)
{
node *p;
node *q;
p=h;
while(p->next&& (p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return 0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return 1;
}
int delnode(linklist h,int id)
{
node *p;
p=h;
while(p->next&&(p->next->data).id!=id)
p=p->next;
if(p->next)
{
node *t=p->next;
p->next=t->next;
free(t);
return 1;
}
else
return 0;
}
node* searchname(linklist h,char name[])
{
node *p;
p=h-next;
while( p && strcmp((p->data).name ,name)!=0)
p=p->next;
return p;
}
node* searchid(linklist h,int id)
{
node *p;
p=h->next;
while( p->next && (p->next->data).id <= e.id )
p=p->next;
return p;
}
3. 文件處置部門
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
void dispnode(linklist h)
{
node *p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
int inputnode(linklist h,T e)
{
node *p;
node *q;
p=h;
while(p->next&& (p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return 0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return 1;
}
int delnode(linklist h,int id)
{
node *p;
p=h;
while(p->next&&(p->next->data).id!=id)
p=p->next;
if(p->next)
{
node *t=p->next;
p->next=t->next;
free(t);
return 1;
}
else
return 0;
}
node* searchname(linklist h,char name[])
{
node *p;
p=h-next;
while( p && strcmp((p->data).name ,name)!=0)
p=p->next;
return p;
}
node* searchid(linklist h,int id)
{
node *p;
p=h->next;
while( p->next && (p->next->data).id <= e.id )
p=p->next;
return p;
}
4. 主菜單自界說部門
#include <stdio.h>
#include <stdlib.h>
#include "linklist.h"
#include "elem.h"
#include "fileop.h"
void mainmenu();
void searchlinklist(linlist h)
{
linklist h;
h=(linklist)malloc(sizeof(node));
h->next=NULL;
loadfile(h);
mainmenu(h);
savefile(h);
printf("\n");
return 0;
}
void mainmenu()
{
node *p;
int id;
T e;
int select;
int count=1;
do
{
printf("\n");
printf(" ----------------¡¶SSMGS OS¡· ---------------\n");
printf(" 1 displaying 2 searching 3 adding 4 deleting\n\n");
printf(" 5 changing 6 extiting \n");
printf(" --------------------welcome ------------------------\n");
printf("please input your select: ");
scanf("%d", &select);
switch(select)
{
case 1:
dispnode(h);
break;
case 2:
searchlinlist(h);
break;
case 3:
inputelem(&e);
if(inputnode(h,e))
printf("succeed\n");
else
printf("failed\n");
break;
case 4:
printf("please input id:");
scanf("%d",&id);
break;
case 5://功效援用
break;
case 6://功效援用
count=0;
break;
}
}while(count);
}
5.頭文件聚集部門
elem.h部門
#ifndef LINKLIST_H_INCLUDED
#define LINKLIST_H_INCLUDED
#include"elem.h"
typedef struct node
{
T data;
struct node *next;
}node;
typedef node* linklist;
void dispnode(linklist h);
int inputnode(linklist h,T e);
int delnode(linklist h,int id);
node* searchname(linklist h,char name[]);
node* searchid(linklist h,int id);
#endif // LINKLIST_H_INCLUDED
fileop.h部門
#ifndef FILEOP_H_INCLUDED
#define FILEOP_H_INCLUDED
#include"linklist.h"
void savefile(linklist h);
void loadfile(linklist h);
#endif // FILEOP_H_INCLUDED
linklist.h部門
#ifndef LINKLIST_H_INCLUDED
#define LINKLIST_H_INCLUDED
#include"elem.h"
typedef struct node
{
T data;
struct node *next;
}node;
typedef node* linklist;
void dispnode(linklist h);
int inputnode(linklist h,T e);
int delnode(linklist h,int id);
node* searchname(linklist h,char name[]);
node* searchid(linklist h,int id);
#endif // LINKLIST_H_INCLUDED
以上就是本文的全體內容,願望對年夜家進修C++說話有所贊助。