九江学院C语言试验报告,数据结构课程设计》实验报告.doc

数据结构课程设计》实验报告

九江学院

信息科学与技术学院

《数据结构课程设计》报告书

题 目: 学生成绩管理系统

专 业: 信息管理与信息系统

班 级:

姓 名:

学 号:

同组人员:

指导老师:

设计时间: 2014年 3月 23日 ~ 2014年3月28日

目 录

《数据结构》课程设计报告书1

1.课程设计(实训)计划3

2.系统需求分析与功能设计3

3. 总体设计4

4. 程序模块设计6

5. 技术难点与分析7

6. 系统测试8

7. 心得体会9

8. 参考文献10

课程设计(实训)计划

3月24日:完成必做项目班级通讯录管理

3月25日:上午完成选做项目的需求分析、总体设计

下午完成选做项目的模块设计

3月26号:完成系统的编码和调试

3月27号:设计有效的测试方法与测试数据、书写实验报告

3月28号:准备答辩系统需求分析与功能设计(根据课题的要求进行简单的需求分析,设计相应的数据流图,得出相应的系统功能需要, 系统数据流图)

(1)具备对成绩的管理功能(添加、删除、排序)

(2)具备按学号、姓名查询成绩的功能。

备注:成绩记录的信息有学号、姓名。可以用能表示学生成绩的结构体数组存储数据。

1:删除学生姓名、学号、成绩及学生列。

2:对学生信息进行相应的修改(对象为:姓名、学号、成绩)。

3:输入学生姓名、学号、成绩来添加学生列。

用C语言编程比较同类数据(成绩)大小进行排序。

4:通过输入学生的姓名、学号来查询对应的成绩。3. 总体设计

(根据功能需求,设计系统的总体结构。系统总体功能模块图,菜单的设计)

Creat()创建表,输入姓名 班级 学号 各科成绩

void menu();主登陆界面

void main();主函数

void alter(linklist L);修改学生信息

void delnode(linklist L);删除学生信息

void insert(linklist L,listnode *p);插入学生信息

void outputlist(linklist L);输出学生信息

listnode * listfind(linklist L);查找学生信息

void sort(linklist L);实现学生成绩的排序

4. 程序模块设计

(设计并编写输入\输出、查询\统计、数据维护等功能模块的应用程序, 每个人设计2个以上的模块,一个组完成一个完整的系统,数据库访问,存储过程调用等作重点阐述)

1.建立单链表

(1)模块设计分析:用头插法建表虽然算法简单,但生成的链表中结点的次序和输入的顺序相反。为求得二者一致这里采用了尾插法建表。

(2)算法思想:首先将新结点插到当前单链表的表尾上,然后需要增加一个尾指针,使之指向当前单链表的表尾。

代码:

linklist createlist()/*建立一个单链表*/

{

listnode *p,*r;

int flag=1;

r=L;

while(flag==1)

{

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

printf("学号 班级 姓名 性别 电话 地址 \n");

printf(" --------------------------------------------\n");

scanf("%s %s %s %s %s %s",p->data.num,p->data.clas,p->data.name,p->data.sex,p->data.phone,p->data.addr);

r->next=p;

r=p;

printf(" 继续建表吗? (1.是/0.不):");

scanf("%d",&flag);

}

if(flag==1)

printf("创建成功!\n");

r->next=NULL;

r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值