数据结构课程设计报告

发布 2022-10-05 17:47:28 阅读 5611

数据结构。

课程设计报告书。

学校青岛科技大学。

学号。姓名。

指导老师刘勇。

1. 问题描述:

学生成绩管理是学校教务管理的重要组成部分,其处理信息量很大,该题目是对学生的成绩管理作一个简单的模拟,其中学生信息包括:学号、姓名与成绩。成绩分为课程1成绩、课程2成绩、课程3成绩和总成绩。

要求设计一个简易的成绩管理系统,输入各门功课的成绩后能自动求出总成绩,并通过菜单选择操作方式完成下列功能:

1 登记学生成绩;

2 ②查询学生成绩;

3 插入学生成绩;

4 ④删除学生成绩;

5 按总成绩降序排序。

2. 基本要求:

该题目涉及到单链表的各种操作,包括单链表的建立、结点的查找、插入、删除等基本运算。首先建立学生成绩单链表,链表中每个结点由4个域组成,分别为:学号、姓名、成绩、存放下一个结点地址的next域。

然后将要求完成的四项功能写成四个函数,登记学生成绩对应建立学生单链表的功能,后三个功能分别对应单链表的查询、插入与删除三大基本操作。

3. 算法思想:

creat()函数算法思想:从0至n循环输入n个同学的三科成绩,并且计算总成绩。

inquiry()函数算法思想:将学号与已输入的所有学号做比较,一旦相同则输出该学号信息,否则显示没有该学生信息。

insert ()函数算法思想:生成一个新节点,然后将其接到原有链表尾部。

delete()函数算法思想:通过id找到该节点,并删去该节点。

sort(函数算法思想:利用排序算法对每一个节点作比较并更换其在链表中的位置顺序。

4. 模块划分。

1)linklist creat(linklist t,int n)其功能是创造节点,录入成绩。

2)void inquiry(linklist t)其功能是查询与已知id一致的学生信息并展示出来。

3)void insert(linklist t,int n) 其功能是添加若干个学生的成绩信息。

4)void delete(linklist t) 其功能是删除若干个学生的成绩信息。

5)void sort(lnode *p) 其功能是排序并展示若干个学生的成绩信息。

5. 数据结构:

数据类型lnode定义如下:

typedef struct lnode

int id;

char name[20];

int score1;

int score2;

int score3;

int total;

struct lnode *next;

lnode,*linklist;

6. 源程序:

源**。#include <>

#include <>

typedef struct lnode

int id;

char name[20];

int score1;

int score2;

int score3;

int total;

struct lnode *next;

lnode,*linklist;

linklist creat(linklist t,int n);

void delete(linklist t);

void inquiry(linklist t);

void insert(linklist t,int n);

void sort(lnode *p);

void insert(linklist t,int n)

int i;

lnode *r=t,*p;

while((r->next)!=null)

for(i=0;i

printf("insert is complete!")

void inquiry(linklist t)

int id;

printf("please enter the student id you want to inquire about: "

scanf("%d",&id);

lnode *p=t;

p=p->next;

while(p!=null)else

if(!p)

printf("sorry!did not inquiry the student scores information!")

void delete(linklist t)

int id,flag=1;

printf("please enter the student id you want to delete about: "

scanf("%d",&id);

lnode *p=t;

//lnode *q;

while((p->next)!=null)else

if(flag)

printf("sorry!did not delete the student scores information you want to delete!")

void sort(lnode *p)

lnode *r,*qian,*hou;

qian=p->next;

hou=qian->next;

while(hou)

if(qian->total>=hou->total)

//ifelse

//else

p=p->next;

int i=1;

while(p)

linklist creat(linklist t,int n)

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...