学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx

上传人:b****1 文档编号:4984539 上传时间:2023-05-04 格式:DOCX 页数:16 大小:82.73KB
下载 相关 举报
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第1页
第1页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第2页
第2页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第3页
第3页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第4页
第4页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第5页
第5页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第6页
第6页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第7页
第7页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第8页
第8页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第9页
第9页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第10页
第10页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第11页
第11页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第12页
第12页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第13页
第13页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第14页
第14页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第15页
第15页 / 共16页
学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx

《学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。

学生信息管理系统数据结构课程设计报告Word文档下载推荐.docx

学生信息的删除;

学生信息的插入;

编写算法,以实现基本要求。

二、本程序用到的基本操作

InintList(&

l):

操作结果:

构造一个空的线性表L。

DestroList(&

L)

初始条件:

线性表已存在。

销毁线性表。

ListInsert(&

L,i,e)

线性表L已存在,

在L中第i个位置之前插入新的数据元素e。

L的长度加1.

ListDelete(&

线性表L已存在且非空

删除L的第i个数据元素,并用e返回其值,L的长度减1.

}ADTList

三、模块设计

模块一:

头文件,变量定义,函数的声明对系统所使用的变量进行定义,

对函数进行声明

模块二:

结构体的建立,定义学生的学号,名字,和各成绩

模块三:

学生信息系统使用菜单声明函数voidmenu(),对整个系统进行明

模块四:

链表的建立,用voidcreat()来建立链表

模块五:

显示学生信息,声明voidprint()显示学生的信息

模块六:

学生信息的查找声明voidsearch()为查找函数,通过switch(a)

设定用学号查找,用查找两个分支

模块七:

删除学生信息通过voiddelete()实现学生信息的删除,

确定要删除的信息,再删除掉。

插入学生信息,通过voidinsert()为插入函数,通过switch(a)插入到指定学生的后面。

模块八:

学生信息按学号排序声明voidsort()将录入学生系按升序排列,

用的是“冒泡排序法”实现排序

四、系统设计流程图

五、源代码

#include"

stdio.h"

stdlib.h"

string.h"

#defineSTUDENT2

typedefstructstudent

{

intnum;

//学号

charname[20];

//

intmath;

//高数

intEnglish;

//英语

intData;

//数据结构

structstudent*next;

}student;

student*head=NULL;

intlength;

//链表的长度

voidcreate()

student*p1,*p2;

length=0;

intnumber=0;

p1=(student*)malloc(sizeof(student));

p1->

num=-1;

if(head==NULL)

head=p1;

printf("

请输入学生的学号、、高数、英语、数据结构:

\n"

);

while(number<

=3)

{

p2=(student*)malloc(sizeof(student));

scanf("

%d%s%d%d%d"

&

p2->

num,p2->

name,&

math,&

English,&

Data);

//输入学生信息

if(p2->

num==0)

{

链表创建完成!

break;

}

length++;

next=p2;

p2->

next=NULL;

p1=p1->

next;

number++;

}

return;

}

voiddisplay()

student*p=head->

链表中所有的学生信息如下:

while(p!

=NULL)

%d%s%d%d%d\n"

p->

num,p->

name,p->

math,p->

English,p->

p=p->

voidsearch()

intnum_;

需要查找的学生学号为:

"

%d"

num_);

if(p->

num==num_)

{

学号为%d的学生的信息如下:

num_);

return;

}

if(p==NULL)

无此记录!

voidsearch1()

charna_me[20];

需要查找的学生为:

%s"

na_me);

if(!

(strcmp(p->

name,na_me)))

为%s的学生的信息如下:

}

}

voidinsert()

intnum_,i;

student*p,*q;

p=head;

请输入你要插入位置:

"

if(num_>

length)

找不到要插入的位置\n"

else

请输入你要插入的学生的学号、、高数、英语、数据结构:

q=(student*)malloc(sizeof(student));

q->

num,q->

num==q->

num)

{

该学号已经存在,无法插入!

}

for(i=0;

i<

num_;

i++)

q->

next=p->

p->

next=q;

插入成功!

}

voidDelete()

q=head,p=head->

请输入要删除的学生的学号:

free(p);

length--;

删除成功!

q=q->

找不到要删除的编号!

voidmenu()

________________________________________________________________\n"

|学生信息管理系统|\n"

|0、退出系统|\n"

|1、建立链表|\n"

|2、显示链表|\n"

|3、查找链表中的某个学生信息|\n"

|4、删除链表中指定学号的学生|\n"

|5、指定的位置上插入一个学生|\n"

intmain(void)

inta;

menu();

intchoice;

while

(1)

请选择相应的功能:

a);

switch(a)

case0:

return0;

case1:

create();

case2:

if(head)

display();

链表为空,请先建立链表!

case3:

printf("

请选择是按学号查找还是按查找,若是学号就按7,按8\n"

choice);

if(choice==7)

{

search();

}

else{

search1();

case4:

{

Delete();

}

break;

case5:

insert();

default:

system("

pause"

六、程序结果

建立链表

显示链表

查询学生信息

按学号查

按查

删除信息

插入信息

退出系统

七、心得体会

这次的《学生信息管理系统》的设计中,使我懂得课堂上的知识,必须要通过实践操作才能掌握。

在练习中,遇到一些问题,需要具体分析,具体操作,不断调试。

在这过程中,遇到过很多问题。

刚建立链表时,总是出错,经过不断地调试后来解决了。

通过这次的设计,我发现了自身知识的欠缺,上机操作的经验不足,以及粗心。

比如,一些错误不知道怎么改,后来同学讨论后才调试成功,还有字符串的比较都不熟,有时掉了地址符等等。

虽然有很多欠缺,但在这过程中我也受益良多,感觉自己对程序的处理越来越清晰。

在调试过程中,我发现有时一个小小的错误也会给程序带来很大的麻烦,所以以后应该更加细心,多多操作,积累经验。

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2