C++基础学生管理系统
本文实例为大家分享了C++基础学生管理系统的实现代码,供大家参考,具体内容如下
适用于c++6.0,codeblocks等常用工具
1.链表处理部分
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
voiddispnode(linklisth)
{
node*p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
intinputnode(linklisth,Te)
{
node*p;
node*q;
p=h;
while(p->next&&(p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return1;
}
intdelnode(linklisth,intid)
{
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);
return1;
}
else
return0;
}
node*searchname(linklisth,charname[])
{
node*p;
p=h-next;
while(p&&strcmp((p->data).name,name)!=0)
p=p->next;
returnp;
}
node*searchid(linklisth,intid)
{
node*p;
p=h->next;
while(p->next&&(p->next->data).id<=e.id)
p=p->next;
returnp;
}
2.数据处理部分
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
voiddispnode(linklisth)
{
node*p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
intinputnode(linklisth,Te)
{
node*p;
node*q;
p=h;
while(p->next&&(p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return1;
}
intdelnode(linklisth,intid)
{
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);
return1;
}
else
return0;
}
node*searchname(linklisth,charname[])
{
node*p;
p=h-next;
while(p&&strcmp((p->data).name,name)!=0)
p=p->next;
returnp;
}
node*searchid(linklisth,intid)
{
node*p;
p=h->next;
while(p->next&&(p->next->data).id<=e.id)
p=p->next;
returnp;
}
3.文件处理部分
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
voiddispnode(linklisth)
{
node*p;
p=h->next;
while(p)
{
dispelem(p);
p=p->next;
}
}
intinputnode(linklisth,Te)
{
node*p;
node*q;
p=h;
while(p->next&&(p->next->data).id<=e.id)
{
if((p->next->data).id==e.id)
return0;
p=p->next;
}
q=(node*)malloc(sizeof(node));
q->data=e;
q->next=p->next;
p->next=q;
return1;
}
intdelnode(linklisth,intid)
{
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);
return1;
}
else
return0;
}
node*searchname(linklisth,charname[])
{
node*p;
p=h-next;
while(p&&strcmp((p->data).name,name)!=0)
p=p->next;
returnp;
}
node*searchid(linklisth,intid)
{
node*p;
p=h->next;
while(p->next&&(p->next->data).id<=e.id)
p=p->next;
returnp;
}
4.主菜单自定义部分
#include<stdio.h>
#include<stdlib.h>
#include"linklist.h"
#include"elem.h"
#include"fileop.h"
voidmainmenu();
voidsearchlinklist(linlisth)
{
linklisth;
h=(linklist)malloc(sizeof(node));
h->next=NULL;
loadfile(h);
mainmenu(h);
savefile(h);
printf("\n");
return0;
}
voidmainmenu()
{
node*p;
intid;
Te;
intselect;
intcount=1;
do
{
printf("\n");
printf("----------------¡¶SSMGSOS¡·---------------\n");
printf("1displaying2searching3adding4deleting\n\n");
printf("5changing6extiting\n");
printf("--------------------welcome------------------------\n");
printf("pleaseinputyourselect:");
scanf("%d",&select);
switch(select)
{
case1:
dispnode(h);
break;
case2:
searchlinlist(h);
break;
case3:
inputelem(&e);
if(inputnode(h,e))
printf("succeed\n");
else
printf("failed\n");
break;
case4:
printf("pleaseinputid:");
scanf("%d",&id);
break;
case5://功能引用
break;
case6://功能引用
count=0;
break;
}
}while(count);
}
5.头文件集合部分
elem.h部分
#ifndefLINKLIST_H_INCLUDED
#defineLINKLIST_H_INCLUDED
#include"elem.h"
typedefstructnode
{
Tdata;
structnode*next;
}node;
typedefnode*linklist;
voiddispnode(linklisth);
intinputnode(linklisth,Te);
intdelnode(linklisth,intid);
node*searchname(linklisth,charname[]);
node*searchid(linklisth,intid);
#endif//LINKLIST_H_INCLUDED
fileop.h部分
#ifndefFILEOP_H_INCLUDED
#defineFILEOP_H_INCLUDED
#include"linklist.h"
voidsavefile(linklisth);
voidloadfile(linklisth);
#endif//FILEOP_H_INCLUDED
linklist.h部分
#ifndefLINKLIST_H_INCLUDED
#defineLINKLIST_H_INCLUDED
#include"elem.h"
typedefstructnode
{
Tdata;
structnode*next;
}node;
typedefnode*linklist;
voiddispnode(linklisth);
intinputnode(linklisth,Te);
intdelnode(linklisth,intid);
node*searchname(linklisth,charname[]);
node*searchid(linklisth,intid);
#endif//LINKLIST_H_INCLUDED
推荐几篇文章:
C++实现简单的图书管理系统
C++实现简单的职工信息管理系统
C++基础学生管理系统
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。