计算机学院数据结构课程设计.doc
《计算机学院数据结构课程设计.doc》由会员分享,可在线阅读,更多相关《计算机学院数据结构课程设计.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机科学与技术学院课程设计成绩单课程名称:数据结构 指导教师: 姓名性别男学号班级综合成绩成绩等级程序运行情况(占总成绩20%)能正确运行 基本能正确运行 能运行但结果不完善(20分) (15分) (10分)程序功能的完善程度(占总成绩10%)完善 基本完善 不完善(10分) (8分) (5分)程序结构的合理性(占总成绩10%)合理 基本合理 不太合理(10分) (8分) (5分)对问题的答辩情况(占总成绩40%)概念正确有创新 能正确回答所有问题 基本能正确回答(40分) (35分) (30分)部分问题回答概念不清晰(20分)学生的工作态度与独立工作能力(占总成绩10%)工作态度认真能独立
2、完成任务 工作态度认真但独立性较差(10分) (8分)工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)符合规范 基本符合规范 规范性较差(10分) (8分) (5分)优秀:90分100分 良好:80分89分 中等:7079分 及格:6069分 不及格0分59分 计算机科学与技术学院 课 程 设 计 报 告课程名称: 数 据 结 构 专 业: 计算机科学与技术 班 级: 学 号: 姓 名: 指导老师: 【设计目的】数据结构是计算机专业的核心课程,是一门实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段,要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C
3、(C+)程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用,学以至用,才能真正的培养学生的能力。【设计要求】1、课程设计题目共两题,每个学生必须独立完成;2、课程设计时间为1.5周;3、设计语言C(C+)不限;4、课余时间完成源程序和课程设计报告等文档书写工作,上机时间只能做调试工作。上机时带上源程序、数据结构教材、C语言教材。题目一 火车票务系统的设计与实现设计一个火车票务系统,并完成如下功能:列车记录包含6项:车次、始发站、终点站、发车时间、到站时间、票
4、价Z38、 武昌、 北京西、21:06 、07:01 、272(1)列车信息录入:输入列车基本信息。(2)列车信息删除:删除车次信息。(列车线路停运)(3)列车信息修改:删除车次信息。(列车时间、票价等信息有变动)(4)列车信息输出:根据格式对齐输出列车信息。(5)列车信息查询:可根据车次号、始发站、终点站查询满足条件的列车信息。(6)列车信息排序:可根据票价对列车信息进行排序并输出。【需求分析】一根据题目要求系统主界面应有以下几个功能:1录入信息2 显示信息3 查询信息4 增加信息5 修改信息6 删除信息7排序对于各种有关信息操作,必须包括有车次、始发站、终点站、发车时间、到站时间、票价二
5、查询包括:由车次,起点站和终点站的分别查询三 排序::由票价排序【设计分析】头文件:#include#include#define MAX 100#define N 50 typedef struct time /时间类型 int x,y,z; /分别对应年,月,日TIME; typedef struct cnode /票信息类型 int no; /票号 int id; /购票人证件号 TIME date; /购票日期 struct cnode *next;CNODE; typedef struct tnode /车次信息类型 char data; /车次编号 struct tnode *lc
6、hild,*rchild; CNODE *head;TNODE; void create(); /按车次建立二叉排序树void insert(int ); /增加新的车次(二叉排序树的插入)void del(); /取消车次(二叉排序树节点删除)void inorder(TNODE *); /中序遍历车次二叉排序树(仅显示车次信息)void inorder_all(TNODE *); /中序遍历车次二叉排序树(显示车次及售票信息)void preorder(TNODE *); /先序遍历车次二叉排序树(仅显示车次信息)TNODE *search(); /按车次编号搜索CNODE *insert
7、_c(CNODE *); /插入新的售票信息(单张)CNODE *insert_c_more(CNODE *); /插入新的售票信息(批量)CNODE *del_c(CNODE *,CNODE *); /退票处理(删除售票信息)CNODE *search_c(CNODE *,int); /按票号查询void search_c_id(CNODE *,int); /按购票人证件号搜索(限定某车次)void search_c_id_all(TNODE *,int); /按购票人证件号搜索(所有车次)void search_date(CNODE *,TIME); /按购票日期搜索(限定某车次)void
8、 search_date_all(TNODE *,TIME); /按购票日期搜索(所有车次)void print_c(CNODE *); /输出售票纪录(单张)void print_c_all(CNODE *); /输出售票纪录(批量) TNODE *root=NULL; void main() int i,func,no,ok; TNODE *t; CNODE *c; TIME d; printf(nnn); for(i=0;i15;i+) printf(=); printf(列车售票信息管理系统); for(i=0;i15;i+) printf(=); printf(n); printf(
9、t1.车次信息管理n); printf(t2.售票记录管理n); printf(t3.售票记录查询n); printf(t4.售票记录一览n); printf(t5.退出系统n); for(i=0;in); for(i=0;iN;i+) printf(=); printf(nt1.增加新的车次); printf(nt2.取消车次); printf(nt3.返回上级菜单n); for(i=0;in); for(i=0;iN;i+) printf(=); printf(nt1.增加新的售票记录); printf(nt2.退票); printf(nt3.返回上级菜单n); for(i=0;ihead
10、=insert_c_more(t-head); break; case 2: t=search(); printf(需要退票的票号:); scanf(%d,&no); t-head=del_c(t-head,search_c(t-head,no); break; case 3:main();break; default:printf(n错误功能号输入有误!请重新输入!); break; case 3: printf(nn售票记录查询n); for(i=0;iN;i+) printf(=); printf(nt1.按票号搜索); printf(nt2.按购票者证件号搜索); printf(nt3
11、.按购票日期搜索); printf(nt4.返回上级菜单n); for(i=0;ihead,no); if(c=NULL) printf(错误没有该票号的纪录!该票还未售出或为废票!自动返回上级菜单n.); break; case 2: printf(n请输入您所要查询的购票者证件号:); scanf(%d,&no); search_c_id_all(root,no); printf(搜索完毕!自动返回上级菜单n.); break; case 3: do printf(n请输入您所要查询的日期(格式: yy-mm-dd):); scanf(%d-%d-%d,&d.x,&d.y,&d.z); i
12、f(d.y0) if(d.y=1|d.y=3|d.y=5|d.y=7|d.y=8|d.y=10|d.y=12) if(d.z0) ok=1; else if(d.z=2) if(d.z0) ok=1; else if(d.z0) ok=1; else ok=0; if(!ok) printf(n错误日期输入有误!请重新输入!); while(!ok); printf(n指定车次吗?(1-是,0-否):); scanf(%d,&ok); if(ok) search_date(search()-head,d); else search_date_all(root,d); break; case 4
13、:main();break; default:printf(n错误功能号输入有误!自动返回上级菜单n.); break; case 4: printf(nn售票记录一览n); for(i=0;iN;i+) printf(=); printf(nt1.仅浏览车次); printf(nt2.指定车次已售票记录); printf(nt3.所有车次已售票记录); printf(nt4.测试:先序遍历车次); printf(nt5.返回上级菜单n); for(i=0;ihead); printf(n); break; case 3: printf(n+所有车次已售票记录n); if(root=NULL)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 学院 数据结构 课程设计
限制150内