数据结构学籍管理系统Word下载.docx

上传人:b****2 文档编号:15087112 上传时间:2022-10-27 格式:DOCX 页数:12 大小:125.27KB
下载 相关 举报
数据结构学籍管理系统Word下载.docx_第1页
第1页 / 共12页
数据结构学籍管理系统Word下载.docx_第2页
第2页 / 共12页
数据结构学籍管理系统Word下载.docx_第3页
第3页 / 共12页
数据结构学籍管理系统Word下载.docx_第4页
第4页 / 共12页
数据结构学籍管理系统Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据结构学籍管理系统Word下载.docx

《数据结构学籍管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构学籍管理系统Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

数据结构学籍管理系统Word下载.docx

1)程序设计要求:

①采用交互工作方式,设计功能菜单;

②建立数据文件,数据包含学生的自然信息和成绩信息(设计几门课以及总成绩);

③对如下关键字:

姓名、学号、各科成绩进行排序(冒泡、选择、插入排序等任选一种)。

2)用二分查找实现如下查询:

①按姓名查询

②按学号查询

3)用堆排序找出总成绩排名的前5名学生

4)输出任一查询结果(可以连续操作)

4.设计过程

1.算法思想分析

根据设计要求,首先定义三个数组,分别存放学号、姓名、成绩.

typedefstructstud统测试

1.菜单

用户运行程序后,显示如下所示菜单,用户根据菜单提示进行操作(如图)。

2.批量添加

用户选择批量添加学生信息功能进行批量添加,可连续添加,按0结束添加操作(如图)。

3.按学号查找学生

将学生信息录入之后,若想查找某个学生,用户可选择按学号查找学生信息(图)。

4.按姓名查找学生

将学生信息录入之后,若想查找某个学生,用户可选择按姓名查找学生信息(图)。

5.添加信息

用户可以在批量添加后在单个添加学生信息(图)。

6.按学号删除学生信息

用户可根据情况对已添加的学生信息进行删除,通过学号删除(图)。

7.排序输出

程序可以将已添加的学生按照成绩的降序排列输出(图).

8.退出

操作结束后按0退出程序(图)。

5.设计总结

通过一周的课程设计,我从中受益匪浅,使得我对数据结构这门课有了更深一步的认识。

在设计过程中,我们发现问题,解决问题,一同探讨问题,在老师的帮助下把问题一一解决。

在解决问题的过程中得到了成长,在与同学的合作过程中,我获益良多,提高了自己的团队合作能力和实际动手能力,在亲自动手的同时提升自己,锻炼自己。

通过这次设计,我深深的感受到了做系统是一件十分复杂周密的事情,不能有半点的疏忽,需要一个人有周密的思考能力,分析问题、处理问题的能力,还要有足够的耐心。

参考文献

《数据结构程序设计题典》李春葆等编清华大学出版社

《数据结构(C语言版)》黄国瑜叶乃菁编清华大学出版社

《数据结构课程设计》苏仕华等编机械工业出版社

附录:

源代码

#include<

>

typedefstructstud;

getchar();

break;

case'

3'

:

;

4'

5'

6'

0'

批量添加学生信息"

);

printf("

2.按学号查找学生信息*\n"

*3.按姓名查学生信息"

4.按学号删除学生信息*\n"

*5.录入新的学生信息"

6.按分数降序排序输出*\n"

----------0.返回-----------\n"

\

**********************************************************************\n"

}

voidread(void)

{

longa;

请输入学号:

"

scanf("

%ld"

&

a);

while(a>

0){

inser(a);

voidinser(longb)

Node*last,*current,*p;

current=head;

while(current!

=NULL&

&

b>

current->

last=current;

current=current->

next;

if(current==NULL||b<

请输入姓名、分数:

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

p->

=b;

%s%f"

p->

;

next=NULL;

if(current==head){

next=head;

head=p;

else{

next=current;

last->

next=p;

elseif(b==current->

errorinputadifferentnumber:

voidprint()

Node*p=head;

\n学号姓名成绩:

\n"

while(p!

=NULL){

%ld%s%f\n"

p=p->

voidfind(longb)

b!

=p->

if(!

p)printf("

Nofound\n"

else{

\n学号姓名成绩\n"

voidsearchname(char*s)

intflag=0;

=NULL)

if(strcmp(p->

s)==0)

flag=1;

continue;

elsep=p->

flag)printf("

没有找到相关信息"

Node*del(longn)

Node*p=head,*last;

while(p->

!

=n){

last=p;

if(p==NULL)returnp;

elseif(p==head)head=p->

elselast->

next=p->

returnhead;

voidsort(intflag)

{

Node*p1,*p2,*k;

floatt1;

longt2;

chars[20];

for(p1=head;

p1->

p1=p1->

next)

k=p1;

for(p2=p1->

p2;

p2=p2->

if(flag==1&

k->

<

p2->

||!

flag&

k=p2;

if(k!

=p1){

t1=p1->

=k->

=t1;

t2=p1->

=t2;

strcpy(s,p1->

strcpy(p1->

k->

strcpy(k->

s);

}

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

当前位置:首页 > PPT模板 > 商务科技

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

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