版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-33-东北大学信息科学与工程学院数据结构课程设计报告题目汽车牌照的快速查询课题组长肖瑶课题组成员陈果张帅专业名称计算机科学与技术班级计算机1307指导教师杨雷 2015年1月课程设计任务书题目: 汽车牌照的快速查询问题描述:在汽车数据的信息模型中,汽车牌照是具有结构特点的一类关键字。汽车牌照是字母和数字混编的,例如01B7238。利用查找和排序算法,实现辽宁省内汽车牌照的快速查找。设计要求:设计汽车牌照的快速查询程序。(1)采用顺序表、静态链表等数据结构。(2)利用静态链表对汽车牌照进行链式基数排序。(3)采用折半查找汽车牌照。(4)可以按城市进行分块索引查找。(5)其它完善性功能。指导教师签字:2014年12月24日目录1课题概述 11.1课题任务 11.2课题原理 11.3相关知识 32需求分析 22.1课题调研 22.2用户需求分析 23方案设计 23.1总体功能设计 23.2数据结构设计 23.3函数原型设计 23.4主算法设计 34方案实现 74.1开发环境与工具 74.2程序设计关键技术 74.3个人设计实现(按组员分工)4.3.1肖瑶设计实现 74.3.1张帅设计实现 104.3.1陈果设计实现 145测试与调试 125.1个人测试(按组员分工) 125.1.1肖瑶测试 125.1.2张帅测试 145.1.3测试 155.2组装与系统测试 156课题总结 176.1课题评价 176.2团队协作 176.3下一步工作 176.4个人设计小结(按组员分工) 186.4.1肖瑶设计小结 186.4.2陈果设计小结 186.4.3张帅设计小结 197附录A课题任务分工 20A-1课题程序设计分工 20A-2课题报告分工 21附录B课题设计文档(光盘) 22B-1课程设计报告(电子版) 22B-2源程序代码(*.H,*.CPP) 22B-3工程与可执行文件) 22B-4屏幕演示录像文件(可选) 22附录C用户操作手册(可选) 22C.1运行环境说明 22C.2操作说明 22课题概述1.1课题任务在汽车数据的信息模型中,汽车牌照是具有结构特点的一类关键字。汽车牌照是字母和数字混编的,例如01B7238。利用查找和排序算法,实现辽宁省内汽车牌照的快速查找。设计汽车牌照的快速查询程序。(1)采用顺序表、静态链表等数据结构。(2)利用静态链表对汽车牌照进行链式基数排序。(3)采用折半查找汽车牌照。(4)可以按城市进行分块索引查找。(5)其它完善性功能。1.2课题原理通过输入汽车牌照信息,保存在一个文件中。程序从文件中读入信息,把车牌号码转换成相应的关键字并把车牌信息和关键字保存在链表中。再通过链式基数排序算法整理这些信息便于查找,最后通过折半查找算法实现快速查找功能。1.3相关知识一个汽车牌照相当于一辆汽车的身份证,因此通过查询汽车牌照便可知道这辆汽车的主人、品牌等信息。汽车牌照是由汉子、字母及数字组成,即多关键字,其中数字和字母的比较1容易实现的,考虑到汉字的存储等各方面的原因,对汉字的排序并不是很容易就能完成的,因此不能直接对汉字排序。但特殊的是,汽车牌照中的汉字是各个省、直辖市及自治区的简称(比如辽代表辽宁,京代表北京),一共34个。但是由于汉语拼音可以和英文字母相互转换,因此可以按照汉语拼音的规则进行排序。需求分析2.1课题调研汽车牌照由汉子、字母、数字组成,一汉字+字母+数字方式呈现。要实现对车牌号码的排序与查找就得想办法把汉字和字母转换成数字。2.2用户需求分析能对车牌号码实现链式基数排序,并能用查找算法让用户户能根据车牌号码查到相关信息,能够输出车牌信息。方案设计3.1总体功能设计1.从文件读入数据保存进链表2.对车牌进行基数排序3.二分查找查询汽车牌照4.输出车牌信息3.2数据结构设计 程序要求实现对汽车牌照的排序与查找,而如果仅仅进行牌照的排序与查找,则显得程序没有太大的实用性,所以考虑在程序中加入例如车主的姓名以及车子的品牌等内容来增加程序的实用性。为了能够更好的完成这些功能,在这里选用链表来存储所有车辆的信息,用链表中的单个节点来存储一辆汽车的信息,而对应的各个节点的域中则存储其对应的车辆信息(如车牌号码、车主姓名、车的品牌等信息)。在存储汽车牌照中的汉字时,由于汉字在内存中占用两个字节,需要使用字符串数据来存储。其中的26个字母则使用一个一维字符数组来存储。车主的姓名及车子的品牌则使用一维字符数组来存储。在基数排序时,每趟的数据收集由两个链队列来完成,链队列的个数为基数的个数,两个链队列的队列指针分别指向每组链队列的队头和队尾。3.3函数原型设计main():主函数;Rnode*Setlist():添加车辆函数;voidDistribute(Rnode*q,intj):进行基数排序每一趟的分配函数;voidCollect():进行基数排序每一趟的收集函数;intSearch_Bin((Rnode*q,longintk,intlow,inthigh);voidfind(Rnode*q):二分查找函数;voidmenu():菜单函数;voidprint():输出所有车辆信息函数;Rnode*RadixSort(Rnode*p):基数排序函数;3.4主算法设计建立链表,添加汽车牌照信息:开始开始结束申请一结点p并为其分配内存空间head=NULLhead=p输入汽车的相应信息,经过相应的处理后存入结点p相应的域。将该结点按尾插法插入到链表的相应位置返回该链表的头指针YN对车牌号码进行基数排序:开始开始结束i=M-1i>=0调用Distribute及Collect函数i++遍历排序好的链表将每个车辆的牌照号转换为长整型数据存于一个一维数组A[MAX]中。YN按车牌号码查询:开始开始结束输入需要查找的牌照将待查找的牌照号处理后,存于一整型变量中调用二分查找函数并返回cc=-1没有查找成功查找成功并输出该车的信息YN各函数间的关系:mmain()Distribute()menu()print()Collect()Setlist()find()RadixSort()Search_Bin()菜单界面,选择功能:n=1n=1n=pn=c调用子函数SetList(p)调用子函数print()调用子函数find(p)调用子函数paixu(p)n=sYNNYYNN开始输入nNNYn=qNNY结果NN方案实现4.1开发环境与工具Windows7,CodeBlocks4.2程序设计关键技术1.把车牌号码转换成用于比较和排序的关键字:设立一个字符数组存26各大写字母,再设一个string类型数组存34省、直辖市、自治区各地的简称。那么汉字和字母就可转化成它们在数组中的位序数字;2.递归实现二分查找算法;3.链式基数排序的实现;4.3个人设计实现(按组员分工)4.3.1肖瑶设计实现Rnode*SetList()//头插法建立链表,从文件中读取信息保存到链表中{FILE*f1;Rnode*head,*p,*l;intm,j,k;stringr;if((f1=fopen("汽车管理.txt","r"))==NULL)printf("不能打开文件!");head=NULL;p=(Rnode*)malloc(sizeof(Rnode));while(fscanf(f1,"%s%s%s",p->key,p->name,p->paizi)!=EOF){//头插法建链表if(head==NULL){l=head=p;}else{l->next=p;l=p;}p=(Rnode*)malloc(sizeof(Rnode));p->next=NULL;}p=head;while(p!=NULL){stringkey1=(string)p->key;stringkey2=key1.substr(0,2);for(j=0;j<N;j++){stringkey3=(string)name1[j];if(key2==key3)k=j;}if(k>33||k<0){cout<<"==您输入的车牌号码错误,请重新选择输入!"<<endl;break;}ints=k/10;p->keynum[0]=s;s=k%10;p->keynum[1]=s;for(inth=0;h<K;h++){if(p->key[2]==name2[h])m=h;}if(m>25||m<0){cout<<"==您输入的车牌号码错误,请重新选择输入!"<<endl;break;}s=m/10;p->keynum[2]=s;s=m%10;p->keynum[3]=s;for(intn=3;n<M-1;n++){intc=(int)p->key[n]-48;p->keynum[n+1]=c;}p=p->next;}flag=1;returnhead;}intSearch_Bin(Rnode*q,longintk,intlow,inthigh)//递归实现折半查找{intmid;if(low>high)return-1;else{mid=(high+low)/2;if(A[mid]==k)returnmid;elseif(k<A[mid])return(Search_Bin(q,k,low,mid-1));elsereturn(Search_Bin(q,k,mid+1,high));}}voidfind(Rnode*q)//按车牌号码用二分查找法查询{Rnode*p;p=q;intk,m,c;chard[8];longints;cout<<"请输入您要查找的车辆的汽车牌照:"<<endl;cin>>d;stringkey1=(string)d;stringkey2=key1.substr(0,2);for(intj=0;j<N;j++){stringkey3=(string)name1[j];if(key2==key3)k=j;}if(k>33||k<0)cout<<"对不起,您输入的车牌号不合法,请重新输入!"<<endl;s=k/10*100000000+k%10*10000000;for(inth=0;h<K;h++){if(d[2]==name2[h])m=h;}if(m>25||m<0)cout<<"对不起,您输入的车牌号不合法,请重新输入!"<<endl;s=s+m/10*1000000+m%10*100000;s=s+((longint)d[3]-48)*10000+((int)d[4]-48)*1000+((int)d[5]-48)*100+((int)d[6]-48)*10+(int)d[7]-48;c=Search_Bin(q,s,0,b);if(c==-1)cout<<"==对不起,没有找到您要查找的车辆信息,请重新输入!"<<endl<<endl;else{cout<<"\t\t"<<"车牌号码"<<"\t"<<"车主姓名"<<"\t"<<"车牌"<<endl;for(inti=0;i<c;i++)q=q->next;cout<<"\t\t"<<q->key<<"\t"<<q->name<<"\t\t"<<p->paizi<<endl;}cout<<endl;}4.3.2张帅设计实现voidDistribute(Rnode*q,intj)//基数排序的一趟收集{Rnode*p;inti,k=0;for(i=0;i<=RAX-1;i++)f[i]=r[i]=NULL;p=q;while(p!=NULL){q=q->next;k=p->keynum[j];if(f[k]==NULL)f[k]=p;elser[k]->next=p;//队尾指针向后移动一位r[k]=p;r[k]->next=NULL;p=q;}}Rnode*Collect()//基数排序的一趟收集{Rnode*L;inti=0,j,k;while(f[i]==NULL)i++;L=f[i];for(j=i,k=i+1;k<=RAX-1;k++)if(f[k]!=NULL){r[j]->next=f[k];j=k;}returnL;}Rnode*RadixSort(Rnode*p)//对车牌号码进行链式基数排序{Rnode*q;inta=0;for(inti=M-1;i>=0;i--){Distribute(p,i);q=p=Collect();}cout<<"==完成对车辆信息的排序!"<<endl;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;}4.3.3陈果设计实现voidmenu()//菜单即主界面{cout<<"\t\t\t┏━┳━━━━━━━━━━━━━━┳━┓"<<endl;cout<<"\t\t\t┣━┫车辆信息管理系统┣━┫"<<endl;cout<<"\t\t\t┣━┻━━━━━━━━━━━━━━┻━┫"<<endl;cout<<"\t\t\t┃1)添加车辆信息┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃2)按车牌号码进行排序┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃3)按车牌号码查找车辆┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃4)输出所有车辆信息┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃0)退出程序┃"<<endl;cout<<"\t\t\t┗━━━━━━━━━━━━━━━━━━┛"<<endl;}Rnode*RadixSort(Rnode*p)//输出所有车牌信息{Rnode*q;inta=0;for(inti=M-1;i>=0;i--){Distribute(p,i);q=p=Collect();}cout<<"==完成对车辆信息的排序!"<<endl;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],*r[RAX];//*f[RAX],*r[RAX]分别为链队列的队头指针和队尾指针longintA[MAX];intflag=0;//记录在查找前是否进行了排序intb;//汽车牌照转换为数字后最后一个汽车牌照的数组中的下标Rnode*SetList(){FILE*f1;Rnode*head,*p,*l;intm,j,k;stringr;if((f1=fopen("汽车管理.txt","r"))==NULL)printf("不能打开文件!");head=NULL;p=(Rnode*)malloc(sizeof(Rnode));while(fscanf(f1,"%s%s%s",p->key,p->name,p->paizi)!=EOF){//头插法建链表if(head==NULL){l=head=p;}else{l->next=p;l=p;}p=(Rnode*)malloc(sizeof(Rnode));p->next=NULL;}p=head;while(p!=NULL){stringkey1=(string)p->key;stringkey2=key1.substr(0,2);for(j=0;j<N;j++){stringkey3=(string)name1[j];if(key2==key3)k=j;}if(k>33||k<0){cout<<"==您输入的车牌号码错误,请重新选择输入!"<<endl;break;}ints=k/10;p->keynum[0]=s;s=k%10;p->keynum[1]=s;for(inth=0;h<K;h++){if(p->key[2]==name2[h])m=h;}if(m>25||m<0){cout<<"==您输入的车牌号码错误,请重新选择输入!"<<endl;break;}s=m/10;p->keynum[2]=s;s=m%10;p->keynum[3]=s;for(intn=3;n<M-1;n++){intc=(int)p->key[n]-48;p->keynum[n+1]=c;}p=p->next;}flag=1;returnhead;}voidDistribute(Rnode*q,intj){Rnode*p;inti,k=0;for(i=0;i<=RAX-1;i++)f[i]=r[i]=NULL;p=q;while(p!=NULL){q=q->next;k=p->keynum[j];if(f[k]==NULL)f[k]=p;elser[k]->next=p;//队尾指针向后移动一位r[k]=p;r[k]->next=NULL;p=q;}}Rnode*Collect(){Rnode*L;inti=0,j,k;while(f[i]==NULL)i++;L=f[i];for(j=i,k=i+1;k<=RAX-1;k++)if(f[k]!=NULL){r[j]->next=f[k];j=k;}returnL;}intSearch_Bin(Rnode*q,longintk,intlow,inthigh){//递归调用折半查找intmid;if(low>high)return-1;else{mid=(high+low)/2;if(A[mid]==k)returnmid;elseif(k<A[mid])return(Search_Bin(q,k,low,mid-1));elsereturn(Search_Bin(q,k,mid+1,high));}}voidfind(Rnode*q){Rnode*p;p=q;intk,m,c;chard[8];longints;cout<<"请输入您要查找的车辆的汽车牌照:"<<endl;cin>>d;stringkey1=(string)d;stringkey2=key1.substr(0,2);for(intj=0;j<N;j++){stringkey3=(string)name1[j];if(key2==key3)k=j;}if(k>33||k<0)cout<<"对不起,您输入的车牌号不合法,请重新输入!"<<endl;s=k/10*100000000+k%10*10000000;for(inth=0;h<K;h++){if(d[2]==name2[h])m=h;}if(m>25||m<0)cout<<"对不起,您输入的车牌号不合法,请重新输入!"<<endl;s=s+m/10*1000000+m%10*100000;s=s+((longint)d[3]-48)*10000+((int)d[4]-48)*1000+((int)d[5]-48)*100+((int)d[6]-48)*10+(int)d[7]-48;c=Search_Bin(q,s,0,b);if(c==-1)cout<<"==对不起,没有找到您要查找的车辆信息,请重新输入!"<<endl<<endl;else{cout<<"\t\t"<<"车牌号码"<<"\t"<<"车主姓名"<<"\t"<<"车牌"<<endl;for(inti=0;i<c;i++)q=q->next;cout<<"\t\t"<<q->key<<"\t"<<q->name<<"\t\t"<<p->paizi<<endl;}cout<<endl;}voidprint(Rnode*p){cout<<"==所有车辆的信息如下:"<<endl<<endl;cout<<"车牌照号"<<"\t"<<"车主姓名"<<"\t"<<"车牌"<<endl;while(p!=NULL){cout<<p->key<<"\t"<<p->name<<"\t\t"<<p->paizi<<endl;p=p->next;}cout<<endl;}Rnode*RadixSort(Rnode*p){Rnode*q;inta=0;for(inti=M-1;i>=0;i--){Distribute(p,i);q=p=Collect();}cout<<"==完成对车辆信息的排序!"<<endl;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;}voidmenu(){cout<<"\t\t\t┏━┳━━━━━━━━━━━━━━┳━┓"<<endl;cout<<"\t\t\t┣━┫车辆信息管理系统┣━┫"<<endl;cout<<"\t\t\t┣━┻━━━━━━━━━━━━━━┻━┫"<<endl;cout<<"\t\t\t┃1)添加车辆信息┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃2)按车牌号码进行排序┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃3)按车牌号码查找车辆┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃4)输出所有车辆信息┃"<<endl;cout<<"\t\t\t┣━━━━━━━━━━━━━━━━━━┫"<<endl;cout<<"\t\t\t┃0)退出程序┃"<<endl;cout<<"\t\t\t┗━━━━━━━━━━━━━━━━━━┛"<<endl;}intmain(){Rnode*p;intn;menu();cout<<"\t\t\t请您选择(0~4):";cin>>n;while(n!=0){switch(n){case1:system("cls");menu();cout<<"文件已录入!"<<endl;p=SetList();break;case2:system("cls");menu();p=RadixSort(p);break;case3:system("cls");menu();if(flag!=0){cout<<"对不起,您还没有进行排序,所以现在不能进行二分查找!"<<endl;break;}else{find(p);break;}case4:system("cls");menu();print(p);break;case0:break;default:system("cls");cout<<"==您的输入有误,请重新输入!"<<endl;break;}cout<<"\t\t\t请您选择(0~4):";cin>>n;}return0;}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究HYPER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理人员劳动合同示例
- 房屋建筑白蚁预防施工协议
- 铁矿石海运合同模板
- 店面转让协议样本-合同范本
- 家政服务用工合同样本
- 资产委托管理合同
- 商标许可使用合同范例
- 工业用途土地买卖合同参考
- 渔业养殖承包协议书-合同范本
- 股权投资协议范本汇编
- 2024年全国职业院校技能大赛高职组(护理技能赛项)考试题库-上(单选题)
- 2024-2030年中国汽车电磁干扰屏蔽行业市场发展趋势与前景展望战略分析报告
- MES系统实施管理办法
- 《人工智能导论》课程考试复习题库(含答案)
- 羽毛球运动教学与训练智慧树知到答案2024年黑龙江农业工程职业学院
- 2023-2024学年浙江龙泉市九年级语文上期中考试卷附答案解析
- 2024年二级建造师网考试试题答案
- 15《我与地坛》教学设计2023-2024学年统编版高中语文必修上册
- DL∕T 1687-2017 六氟化硫高压断路器状态评价导则
- 数字教育资源质量评估指标体系建构
- 文言文阅读训练:《通鉴纪事本末-刘邦起兵》(附答案解析与译文)
评论
0/150
提交评论