用c语言写具有查询,添加,修改和删除功能的英汉字典程序

时间: 2023-05-21 22:05:49 浏览: 68
非常感谢您的提问!我可以给您提供一种基于C语言的英汉字典程序的实现思路。首先,可以使用结构体来表示一个单词的基本信息,包括单词本身、词性、中文翻译、例句等。然后,可以将这些结构体保存到一个数组中,实现查询、添加、修改和删除等功能。 例如,可以定义如下的结构体: ``` struct word { char english[50]; // 英文单词 char type[20]; // 词性 char chinese[50]; // 中文翻译 char example[100]; // 例句 }; ``` 然后,定义一个包含这些结构体的数组,并实现相关操作: ``` struct word dict[100]; // 定义一个包含100个单词结构体的数组 int search(char* word) { // 在数组中查找指定单词,返回其在数组中的下标 } void add() { // 向数组中添加一个新单词 } void modify(char* word) { // 修改数组中指定单词的信息 } void delete(char* word) { // 从数组中删除指定单词 } ``` 完整代码请参考: ``` #include <stdio.h> #include <string.h> struct word { char english[50]; char type[20]; char chinese[50]; char example[100]; }; struct word dict[100]; int count = 0; void init() { // 初始化字典数组 struct word w1 = {"hello", "int.", "你好", "Hello, world!"}; struct word w2 = {"world", "n.", "世界", "Hello, world!"}; dict[0] = w1; dict[1] = w2; count = 2; } int search(char* word) { // 查找指定单词在数组中的位置 int i; for (i = 0; i < count; i++) { if (strcmp(dict[i].english, word) == 0) { return i; } } return -1; } void add() { // 添加一个新单词 struct word w; printf("请输入英文单词:"); scanf("%s", w.english); printf("请输入词性:"); scanf("%s", w.type); printf("请输入中文翻译:"); scanf("%s", w.chinese); printf("请输入例句:"); scanf("%s", w.example); dict[count] = w; count++; printf("添加成功!\n"); } void modify(char* word) { // 修改指定单词的信息 int index = search(word); if (index == -1) { printf("单词不存在!\n"); return; } struct word w; printf("请输入新的词性:"); scanf("%s", w.type); printf("请输入新的中文翻译:"); scanf("%s", w.chinese); printf("请输入新的例句:"); scanf("%s", w.example); dict[index] = w; printf("修改成功!\n"); } void delete(char* word) { // 删除指定单词 int index = search(word); if (index == -1) { printf("单词不存在!\n"); return; } int i; for (i = index; i < count - 1; i++) { dict[i] = dict[i + 1]; } count--; printf("删除成功!\n"); } void show(struct word w) { // 输出一个单词的信息 printf("%s [%s] %s\n", w.english, w.type, w.chinese); printf("%s\n", w.example); } void query(char* word) { // 查询单词信息 int index = search(word); if (index == -1) { printf("单词不存在!\n"); return; } show(dict[index]); } void menu() { // 打印菜单 printf("====== 中英文词典 ======\n"); printf("1. 查询单词\n"); printf("2. 添加单词\n"); printf("3. 修改单词\n"); printf("4. 删除单词\n"); printf("5. 退出\n"); printf("========================\n"); } int main() { init(); // 初始化字典数组 while (1) { int choice; menu(); // 打印菜单 printf("请输入选项(1-5):"); scanf("%d", &choice); switch (choice) { case 1: { char word[50]; printf("请输入要查询的单词:"); scanf("%s", word); query(word); break; } case 2: add(); break; case 3: { char word[50]; printf("请输入要修改的单词:"); scanf("%s", word); modify(word); break; } case 4: { char word[50]; printf("请输入要删除的单词:"); scanf("%s", word); delete(word); break; } case 5: return 0; default: printf("请选择正确的选项!\n"); } } return 0; } ``` 希望对您有所帮助!

相关推荐

最新推荐

recommend-type

C语言实现小型电子词典

主要为大家详细介绍了C语言实现小型电子词典,用户可以进行英译汉、汉译英等功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

电子英汉词典设计 课程设计报告

C语言课程设计之电子英汉词典设计,英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。
recommend-type

电子词典--c语言编写

一份完整的电子词典课程设计报告,是应用c语言编写的,用于初级学者参考使用。
recommend-type

android手机应用源码Imsdroid语音视频通话源码.rar

android手机应用源码Imsdroid语音视频通话源码.rar
recommend-type

营销计划汇报PPT,市场品牌 推广渠道 产品 营销策略tbb.pptx

营销计划汇报PPT,市场品牌 推广渠道 产品 营销策略tbb.pptx
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。