课程实践——第三个题——电子词典
来源:互联网 发布:php简历项目经验 编辑:程序博客网 时间:2024/06/05 19:45
/*Copyright (c) 2016, 烟台大学计算机学院 All rights reserved.文件名称:first.cpp作 者:颜丙齐完成日期:2017年 1 月 6 日版 本 号:v1.0题目描述 电子词典输入 想要查找的词输出 词的释义样例输入 love样例输出这是英译汉电子词典!!!制作人:颜丙齐指导老师:贺利坚老师结束程序请输入:0000请输入您要查找的单词:love您要找的单词的注释为:v.爱,喜欢;n.爱情请输入您要查找的单词:0000*/#include <stdio.h>#include <stdlib.h>#include<string.h>struct Word{ char English[20]; char translate[50];};//用结构体代表一个单词,描述单词的拼写和注释。void view();int find_word(char *,struct Word *,int );//二分查找函数,有三个参数,第一参数为要查找的单词,第二个参数为查找单词的词典,第三个参数为词典的长度int open_file(struct Word *);//打开文件int find_one_word(struct Word *dictionary,int k);//可以完成查找一个单词的所有功能int main(){ int k; int r; view(); struct Word dictionary[10000]; k=open_file(dictionary); do { r=find_one_word(dictionary,k); } while(r>=0); return 0;}/*************************************************************功能描述:输出程序的说明输入参数:无返 回 值:无其他说明:输出几句话,解释该程序*************************************************************/void view(){ printf("这是英译汉电子词典!!!\n"); printf("制作人:颜丙齐\n"); printf("指导老师:贺利坚老师\n"); printf("结束程序请输入:0000\n");}/*************************************************************功能描述:完整的进行查找一个单词输入参数:dictionary-结构体数组的首地址 k-结构体的长度返 回 值:m-用来判断是否结束程序其他说明:无*************************************************************/int find_one_word(struct Word *dictionary,int k){ printf("请输入您要查找的单词:"); char n[20]; scanf("%s",n); int r;//用来接受函数的返回值; int m; r=find_word(n,dictionary,k); int t; t=(n[0]==48)+(n[1]==48)+(n[2]==48)+(n[3]==48); if(t==4) { m=-1; } else { if(r<0) { printf("对不起,没有查到这个词!!!\n"); } else { printf("您要找的单词的注释为:%s\n",dictionary[r].translate); } m=1; } return m;}/*************************************************************功能描述:打开文件,并读入文件数据输入参数:dictionary-保存文件的结构体返 回 值:k-结构体数组的长度其他说明:无*************************************************************/int open_file(struct Word *dictionary){ FILE *fp1; if((fp1=fopen("dictionary.txt","r"))==NULL) { printf("不能打开文件!!!\n"); exit(1); } int k=0;//计算单词的个数 while(!feof(fp1)) { fscanf(fp1,"%s%s",dictionary[k].English,dictionary[k].translate); ++k; } fclose(fp1); return k;}/*************************************************************功能描述:查找一个单词返回他所在数组的下标输入参数:dictionary-保存文件的结构体 k-结构体数组的长度返 回 值:index-表明是否查到单词其他说明:无*************************************************************/int find_word(char *n,struct Word *dictionary,int k){ int index=-1; int first=0,finall=k-1,middle; while(first<=finall) { middle=(first+finall)/2; if(strcmp(n,dictionary[middle].English)==0) { index=middle; break; } else if(strcmp(n,dictionary[middle].English)<0) finall=middle-1; else first=middle+1; } return index;}
学习心得:以前感觉自己学的还可以,可是一到用的时候就发现了,其实还差的远,应该保持一颗平常心,好好做该做的事。
0 0
- 课程实践——第三个题——电子词典
- 课程实践:电子词典
- 第十六周实践项目3————电子词典
- 第14周上机实践项目4——电子词典
- 《C语言及程序设计》实践参考——电子词典
- C++实践参考——OOP版电子词典
- 第14周上机实践项目3——电子词典
- 第十六周上机实践——项目3-电子词典
- 课程设计—电子词典
- 十五周——电子词典
- 十五周——电子词典
- 期末作业——电子词典
- 课程设计3——电子词典
- 程序实训—电子词典
- 第17周上机实践项目7——电子词典结构体版
- 课程实践——第一个——小学生测试系统
- 课程实践——第二个——歌手大赛评分系统
- 第十四周项目四——电子词典
- PHP处理海量样本相似度聚类算法
- Spring IOC原理简析
- Mysql的BTree索引的原则和限制
- 记一次maven配置出错问题
- 78. Subsets
- 课程实践——第三个题——电子词典
- Centos升级gcc4.4.7升级gcc4.8
- 满堂红CIO邓劲翔:房屋中介突围
- springmvc支持jsonp
- Android 一个改善的okHttp封装库
- 网站收藏
- 劲牌——业务流程管理方案
- 高德地图之周边搜索及两点间距离计算(Poi的使用)
- 茂名石化BPM应用实践 ——业务协同及服务共享平台建设和应用