C++基础学生管理系统

2020-01-06 14:59:27丽君
#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 deletingnn");
  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("succeedn");
   else
    printf("failedn");
   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