学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx

上传人:b****4 文档编号:15981262 上传时间:2022-11-17 格式:DOCX 页数:17 大小:19.91KB
下载 相关 举报
学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx_第1页
第1页 / 共17页
学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx_第2页
第2页 / 共17页
学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx_第3页
第3页 / 共17页
学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx_第4页
第4页 / 共17页
学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx

《学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

学生信息管理系统源程序正确呕心沥血整理版Word格式文档下载.docx

{

structstudentdata;

structnode*next;

}Node,*Link;

/*************************************************************************************/

voidmenu()

printf("

********************************************************************************”);

printf(”\t1登记学生资料\t\t\t\t\t2删除学生资料\n”);

printf(”\t3查询学生资料\t\t\t\t\t4修改学生资料\n”);

\t5保存学生资料\t\t\t\t\t0退出系统\n”);

printf(”********************************************************************************\n”);

/*************************************************************************************/

voidprintstart()

printf(”—————-—-----————-——————---------—---——--——————--—-—-———--——————-—-——---\n"

);

}

voidWrong()

printf(”\n=====〉提示:

输入错误!

\n”);

voidNofind()

printf(”\n=====>

提示:

没有找到该学生!

\n"

voidprintc()/*本函数用于输出中文*/

学号\t姓名性别\t电话\t出生年月\t年龄\t地址\n”);

/*************************************************************************************/

voidprinte(Node*p)/*本函数用于输出英文,即输出结构体中各个成员的值,注意是通过指向结构体的指针访问结构体的成员的数据域*/

%—10s%s\t%s\t%d\t%d\t%d\t%s\n"

,p—〉data。

num,p—>

data。

name,p-〉data.sex,p—>

tele,p-〉data。

birth,p—>

data.age,p—>

addr);

Node*Locate(Linkl,charfindmess[],charnameornum[])/*该函数用于定位连表中符合要求的接点,并返回该指针*/

Node*r;

if(strcmp(nameornum,"

num"

)==0)/*按学号查询*/

r=l—〉next;

while(r!

=NULL)

if(strcmp(r->

data.num,findmess)==0)

returnr;

r=r->

next;

elseif(strcmp(nameornum,”name"

)==0)/*按姓名查询*/

r=l-〉next;

while(r!

if(strcmp(r—>

name,findmess)==0)

returnr;

r=r—〉next;

return0;

/*************************************************************************************/

voidAdd(Linkl)/*增加学生*/

Node*p,*r,*s;

charnum[10];

r=l;

s=l->

while(r—〉next!

next;

/*将指针置于最末尾,通过循环指向最后一个结点*/

while

(1)

printf(”请你输入学号(以’0'

返回上一级菜单”);

scanf("

%s”,num);

if(strcmp(num,”0”)==0)

break;

while(s)

if(strcmp(s-〉data.num,num)==0)

=====>

学号为'

%s'

的学生已经存在,若要修改请你选择'

4修改’!

,num);

printstart();

printc();

printe(s);

);

return;

s=s—〉next;

p=(Node*)malloc(sizeof(Node));

strcpy(p—〉data.num,num);

printf(”请你输入姓名:

”);

%s”,p—〉data。

name);

getchar();

printf(”请你输入性别:

%s”,p-〉data。

sex);

/*输入数据到性别的data域中,注意字符数组和普通变量*/

请你输入年龄:

”);

scanf(”%d”,&

p—>

age);

printf(”请你输入出生年月:

scanf(”%d”,&p—〉data。

birth);

getchar();

请你输入电话:

%d”,&p—>

tele);

printf(”请输入地址:

"

scanf(”%s”,&p—>

addr);

/*信息输入已经完成*/

next=NULL;

r-〉next=p;

r=p;

shoudsave=1;

/*************************************************************************************/

voidQur(Linkl)/*查询学生*/

intsel;

charfindmess[20];

Node*p;

if(!

l—>

next)

提示:

没有资料可以查询!

return;

1按学号查找\n=====〉2按姓名查找\n”);

scanf(”%d"

,&sel);

if(sel==1)/*学号*/

printf(”请你输入要查找的学号:

scanf(”%s”,findmess);

p=Locate(l,findmess,”num"

if(p)

\t\t\t\t查找结果\n"

printe(p);

printstart();

else

Nofind();

elseif(sel==2)/*姓名*/

printf(”请你输入要查找的姓名:

%s”,findmess);

p=Locate(l,findmess,"

name"

\t\t\t\t查找结果\n”);

printe(p);

Wrong();

/*************************************************************************************/

voidDel(Linkl)/*删除*/

Node*p,*r;

charfindmess[20];

l->

\n=====>

没有资料可以删除!

printf(”\n=====〉1按学号删除\n=====>

2按姓名删除\n”);

scanf(”%d”,&

sel);

if(sel==1)

printf(”请你输入要删除的学号:

scanf(”%s"

findmess);

p=Locate(l,findmess,”num"

r=l;

while(r—〉next!

=p)

r=r—>

/*r指针指向后一个结点*/

r->

next=p—〉next;

/*删除p结点*/

free(p);

\n=====〉提示:

该学生已经成功删除!

elseif(sel==2)

printf(”请你输入要删除的姓名:

%s"

,findmess);

p=Locate(l,findmess,”name"

/*r指针指向后一个结点*/

r-〉next=p-〉next;

/*删除p结点*/

该学生已经成功删除!

Nofind();

Wrong();

/*************************************************************************************/

voidModify(Linkl)

Node*p;

charfindmess[20];

l-〉next)

printf(”\n=====〉提示:

没有资料可以修改!

请你输入要修改的学生学号:

scanf(”%s”,findmess);

p=Locate(l,findmess,"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1