程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話中的函數指針進修筆記

C說話中的函數指針進修筆記

編輯:關於C++

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++說話有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved