while(q!
=NULL)
{
A[a]=q->keynum[0]*100000000+q->keynum[1]*10000000+q->keynum[2]*1000000+q->keynum[3]*100000+q->keynum[4]*10000+q->keynum[5]*1000+q->keynum[6]*100+q->keynum[7]*10+q->keynum[8];
q=q->next;
b=a;
a++;
}
flag=0;
returnp;
}
测试与调试
5.1个人测试(按组员分工)
5.1.1肖瑶测试
5.1.2张帅测试
排序前:
5.1.3陈果测试
5.2组装与系统测试
课题总结
6.1课题评价
总的来说这次课程设计我们基本实现了题目所要求的功能,但整体情况不是特别理想有一些缺陷。
题目要求我们用静态链,但不知道如何吧文件中的信息读入静态链表,如何把信息插入静态链表。
我们试了很多次,但屡试屡败,所以就用了大家都比较熟练的动态链表。
另外因为索引查找,我们不知道如何从链表中抽出索引块来,所以没有实现。
这次课程设计也算历经坎坷,由于我们仨编码能力太过薄弱,在很多地方走了不少弯路。
写一个程序的过程不一定是快乐的,但是当程序调试成功的时候一定是激动人心的。
从这次实验中,我们都深深认识到实践对于编程能力提高的重要性。
我们不能只抱着数据结构钻研而不上机敲代码。
通过这次实验,我们深感现实生活中问题的复杂性和灵活性,它不是直接套用树上的算法和数据结构就可以解决的。
想解决现实生活中的问题我们必须学会转化,把问题分解然后一一分解再套用书上的数据结构去实现。
当我们拿到这个问题时,因为不知道如何比较车牌间的关系,一筹莫展。
但是我们想到了利用各种规则把汉字和字母转换成数字,从而整个车牌号码就变成了可以直接比较的关键字。
所以我们深感转化问题能力的重要性。
6.2团队协作
程序开发不是一蹴而就的得慢慢的改,所以小组成员之间的配合特别重要。
我们从这次课程设计中体会到了合作和交流的妙处。
大家一起交流,能互相启发,有些问题就会迎刃而解。
6.3下一步工作:
做出一个友好的可视化用户界面,完善功能,找出程序中的漏洞。
6.4个人设计小结(按组员分工)
6.4.1肖瑶总结:
通过这次实验巩固了我对数据结构的理解,提高了运用知识解决问题的能力。
当我能看懂书上的算法,实现起来却是一波三折,一种“纸上得来终觉浅”的感慨。
可见要想提高编程能力,光看算法可不行,上机敲代码也相当重要。
在这次实验中我担当组长,这也给了我一个锻炼的机会,让我提高了自己的组织能力,让我学会了担当,让让我学会了要有全局观念意识。
6.4.2陈果总结:
通过本次课程设计,让我感受到了团队的力量,课程设计刚开始时,小组成员一起思考讨论实际问题的解决方法,每个人都提出了自己的意见和建议,最后达成一致。
在接下来的实现过程中,每个人又有自己不同的分工,并在过程中不断交流,优化问题的解决方法。
更重要的是,这次课程设计让我有了一次把理论运用于实际的经验。
在和同学的交流中,在自己亲手编码的过程中加深了对知识的理解。
我也深感自己编码能力不大好,所以也让我有了多敲代码、努力提高编程技巧的动力。
6.4.3张帅总结:
这是我第一次做大型的课程设计,在此过程中遇到了很多不懂的问题,发现了自己还有很多不足,在寻找解决方法的过程中也获得了很多难得的心得与感悟。
课程设计是一个查漏补缺、不断完善的过程。
通过查找资料,相互学习,使我对课程设计有了一个更清晰的认识,同时我也被先辈们的聪明才智深深折服。
程序设计就是寻找一个最优化的方法去解决实际问题,给人们的生活带去方便与快捷。
附录A课题程序设计分工
A-1课题程序设计分工
学号
姓名
程序设计函数原型、类
功能说明
20133993
肖瑶
Rnode*SetList()
intSearch_Bin(Rnode*q,longintk,intlow,inthigh);
voidfind(Rnode*q);
建立并从文件添加车辆牌照函数;
二分查找算法的实现;
用按车牌用二分查找查询车辆牌照;
20133997
张帅
voidDistribute(Rnode*q,intj);
Rnode*Collect();
Rnode*RadixSort(Rnode*p);
链式基数排序的一趟分配过程;
链式基数排序的一趟收集过程;
对汽车牌照进行链式基数排序;
20134002
陈果
voidprint(Rnode*p);
voidmenu();
输出全部汽车牌照信息;
程序主界面;
A-2课题报告分工
章节
内容
完成人
1课题概述
1.1课题任务
1.2课题原理
1.3相关知识
肖瑶
2需求分析
2.1课题调研
2.2用户需求分析
肖瑶
3方案设计
3.1总体功能设计
3.2数据结构设计
3.3函数原型设计
3.4主算法设计
3.5用户界面设计
肖瑶
4方案实现
4.1开发环境与工具
4.2程序设计关键技术
4.3个人设计实现(按组员分工)
4.3.1肖瑶设计实现
4.3.2张帅设计实现
4.3.3陈果设计实现
肖瑶
肖瑶
张帅
陈果
5测试与调试
5.1个人测试(按组员分工)
5.1.1肖瑶测试
5.1.2张帅测试
5.1.3陈果测试
5.2组装与系统测试
肖瑶
张帅
陈果
肖瑶
6课题总结
6.1课题评价
6.2团队协作
6.3下一步工作
6.4个人设计心得(按组员分工)
6.4.1肖瑶设计心得
6.4.2张帅设计心得
6.4.3陈果设计心得
肖瑶
肖瑶
张帅
陈果
附录B课题设计文档(光盘)
B-1课程设计报告(电子版)
B-2源程序代码(*.H,*.CPP)
B-3工程与可执行文件)
B-4屏幕演示录像文件(可选)
附录C用户操作手册(可选)
C.1运行环境说明
C.2操作说明
B-2源程序代码:
#defineN34//省市自治区的个数
#defineK26//大写字母的个数
#defineRAX10//基数的个数
#defineMAX100//最大能够处理的车辆数
typedefstructnode{
intkeynum[M];
charkey[10];
charname[10];
charpaizi[10];
structnode*next;
}Rnode;
stringname1[N]={"澳","川","鄂","甘","赣","港","贵","桂","黑","沪","吉","津","晋","京","辽","鲁","闽","内","宁","青","琼","山","陕","苏","台","皖","湘","新","冀","渝","豫","云","藏","浙"};
charname2[K]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
Rnode*f[RAX