ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:84.50KB ,
资源ID:25510391      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25510391.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(太原理工大学程序设计课程设计报告文本文件单词的检索与计数停车场管理.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

太原理工大学程序设计课程设计报告文本文件单词的检索与计数停车场管理.docx

1、太原理工大学程序设计课程设计报告文本文件单词的检索与计数停车场管理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】太原理工大学程序设计课程设计报告文本文件单词的检索与计数停车场管理程序设计课程设计 报 告 学 院:软件学院 专业班级:软件 班 学 号: 姓 名: 指导教师: 时 间: 2014年 6月27日 【问题描述】-1 【设计需求及分析】-1 【设计功能的实现】-1 【实例测试及运行结果】-7 -8 【问题描述】-9 【设计需求及分析】-9 【设计功能的实现】-9 【实例测试及运行结果】-15 【实现提示】-16设计题目一1文本文

2、件单词的检索与计数【问题描述】设计C或C+程序,统计在这样的英文文本文件中,出现了多少个单词,每个单词出现了几次。连续的英文字符都认为单词(不包括数字),单词之间用空格或标点符号分隔。 【设计需求及分析】要统计英文文本文件中出现了哪些单词,就要从文件中读取字符,读取出来的连续英文字符认为是一个单词,遇空格或标点符号单词结束。使用线性表记录单词以及每个单词出现的次数。线性表中的单词按字典顺序存储。线性表的顺序存储结构如下:#define LIST_INIT_SIZE 100 ord)=0) ount+;return 0;else if(strcmp(word,p-elemmid.word)ele

3、mi-1.count=1;p-length+;return 1;void PrintList(SqList *p,int num)FILE *fw;int i;int no=num;fw=fopen(D:单词计数.txt,w);fprintf(fw,该文章共有 %d 个单词n以下按字母顺序来显示每个单词出现的次数n*n,no);fprintf(fw,单词 出现次数n,no);for(i=0;ilength;i+)fprintf(fw,%-24s %-5dn,p-elemi.word,p-elemi.count);fprintf(fw,*n);fclose(fw);xt 里面便是检索结果。);P

4、rintList(&L,num);system(start D:单词计数.txt); getchar();#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef structchar word21;int count; ElemType;typedef structElemType *elem;int length;int listsize; SqList;int InitList(SqList *p)p-elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType);if(p-elem=

5、NULL) return 0;p-length=0;p-listsize=LIST_INIT_SIZE;return 1;int LocateElem(SqList *p,char *word)int low,high,mid;low=0;high=p-length-1;while(lowelemmid.word)=0) ount+;return 0;else if(strcmp(word,p-elemmid.word)elemi-1.count=1;p-length+;return 1;void PrintList(SqList *p,int num)FILE *fw;int i;int n

6、o=num;fw=fopen(D:单词计数.txt,w);fprintf(fw,该文章共有 %d 个单词n以下按字母顺序来显示每个单词出现的次数n*n,no);fprintf(fw,单词 出现次数n,no);for(i=0;ilength;i+)fprintf(fw,%-24s %-5dn,p-elemi.word,p-elemi.count);fprintf(fw,*n);fclose(fw);xt 里面便是检索结果。);PrintList(&L,num);system(start D:单词计数.txt); getchar(); 实现顺序表的基本操作顺序表的初始化:InitList(SqLi

7、st &L)顺序表上查找指定的单词:LocateElem(SqList &L,char *s) 若找到,单词的出现次数增1,返回0,否则返回该单词的插入位置。在顺序表上插入新的单词:InsertList(SqList &L,int i,char *s) 要求按字典顺序有序。新单词的出现次数为1.输出顺序表上存储的单词统计信息:PrintList(SqList &L) 输出文件中每个单词出现的次数以及文件中总的单词数(可输出到文件中)。 统计单词数统计过程如下:(1)输入要统计单词的文本文件名,打开相应的文件;(2)初始化顺序表;(3)从文本文件中读取字符,直到文件结束。具体描述如下:While

8、 (读文件没有结束) 过滤单词前的非字母字符; 读取一个单词,已字符串形式存储在一个字符数组中; 在线性表中查找该单词,若找到,单词的出现次数加1,否则返回其插入位置; 上一步中,若没找到,则进行插入操作; 处理下一个单词。(4)关闭文件,输出统计结果。【实例测试及运行结果】 运行实例一 文章:love(我自己写的,只有一句话) 运行结果: 运行实例二文章:tyut运行结果: 设计题目二 2停车场管理【问题描述】设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若

9、停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。【设计需求及分析】以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或

10、便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。【设计功能的实现】(用C或C+语言描述)#include#include #include#include#define MAX 10#define price typedef struct time int hour;int min;time;typedef struct carnodechar num10;time reach;time leave;carnode;typedef struct carstackcarnode *stackMAX+1

11、;int top;carstack;typedef struct qnodecarnode *data;struct qnode *next;qnode;typedef struct nodeqnode *head;qnode *rear;linkqueue;void initstack(carstack *s)int i;s-top=0;for(i=0;istacks-top=NULL;int initqueue(linkqueue *Q) Q-head=(qnode *)malloc(sizeof(qnode);if(Q-head!=NULL)Q-head-next=NULL;Q-rear

12、=Q-head;return 1;elsereturn -1;f元,(p-*60+(p-)*price);free(p);/车辆离开void leave(carstack *enter,carstack *temp,linkqueue *w)int room;carnode *p,*t;qnode *q;if(enter-top0)/有车while(1)printf(n请输入您的车在停车场上的位置:);scanf(%d,&(room);if(room=1&roomtop)break;while(enter-toproom)/位置不在栈顶的汽车出栈temp-top+;temp-stacktemp

13、-top=enter-stackenter-top;enter-stackenter-top=NULL;enter-top-;p=enter-stackenter-top;enter-stackenter-top=NULL;enter-top-;while(temp-top=1)/当暂时存储汽车的栈结构中有汽车时enter-top+;enter-stackenter-top=temp-stacktemp-top;temp-stacktemp-top=NULL;temp-top-;print(p,room); /判断便道上是否有车及停车场上是否已满if(w-head!=w-rear)&enter

14、-tophead-next;t=q-data;enter-top+;printf(n请便道上的%s号车进入%d号位置。,t-num,enter-top);printf(n请输入现在的时间:);scanf(%d:%d,&(t-,&(t-);w-head-next=q-next;if(q=w-rear)w-rear=w-head;enter-stackenter-top=t;free(q);elseprintf(n便道里没有车!);elseprintf(n现在停车场里没有车了!); /显示停车场的信息void list1(carstack *s)int i;if(s-top0)printf(n停车

15、场:);printf(n停车位置t到达时间t车牌号n);for(i=1;itop;i+)printf( %dt,i);printf( %02d:%02d ,s-stacki-,s-stacki-;printf(t%s,s-stacki-num);elseprintf(n暂无停车信息!); /显示便道上的void list2(linkqueue *w) qnode *p;p=w-head-next;if(w-head!=w-rear)printf(n等待车辆的号码为:);printf(n*);while(p!=NULL)puts(p-data-num);p=p-next;printf(n*);elseprintf(n便道里没有车!);void list(carstack s,linkqueue w)int flag,tag;flag=1;while(flag)printf(n请选择:);printf(ntt1、停车场信息ntt2、便道信息ntt3、返回主菜单n);while(1)scanf(%d,&flag);if(flag=1|flaghead-next=q-next; if(q=w-rear) w-rear=w-head; enter-stackenter-top=t; free(q);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1