C++ basic student management system
- 2020-05-10 18:31:59
- OfStack
The example of this paper is to share the implementation code of C++ basic student management system for your reference, the specific content is as follows
Suitable for c++6.0,codeblocks and other common tools
1. Processing part of the linked list
#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. Data processing section
#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. Document processing section
#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. Customize the main menu
#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:// Function reference
break;
case 6:// Function reference
count=0;
break;
}
}while(count);
}
5. Header file collection section
elem h part
#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 Part of the
#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 Part of the
#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
Recommended articles:
C++ to achieve a simple library management system
C++ to achieve a simple staff information management system
C++ basic student management system
For more information about management systems, please click "management system topics" to learn