英语翻译程序,可以对用户自己建立的词汇表进行增删查改
⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。
⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。
⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>void Menu(); //菜单
int get_choice(); //获取选择(1-4)
int load(); //导入词汇表
void search(int i); //单词查找
int add(int i); //添加单词
int del(int i); //删除单词
void Save(int i); //将新的数据存如文件void Menu() //显示菜单
{printf("**************************************************************\n");printf("* *\n");printf("* 欢迎使用英语翻译程序 *\n");printf("* *\n");printf("* 1.单词查询 *\n");printf("* 2.增加单词 *\n");printf("* 3.删除单词 *\n");printf("* 4.退出 *\n");printf("* *\n");printf("* 请输入你的选择: *\n");printf("* *\n");printf("**************************************************************\n");
}int get_choice() //获取选择 (1-4)
{int a;scanf("%d", &a);return a;
}struct Translate
{char English[20];char Chinese[20];
};struct Translate cihui[6000]; //结构体数组 int load() //导入词汇表
{int i = 0;FILE* fp;if ((fp = fopen("cihuibiao.txt", "r")) == NULL) //打开文件{printf("无法打开文件!\n");}else {do {fscanf(fp, "%s%s", cihui[i].English, cihui[i].Chinese);i++;} while (feof(fp) == 0); //遍历}fclose(fp); //关闭文件return i - 1;
}void search(int i) //查询单词功能
{int a;char b;system("cls");char English[1024];
I: printf("请输入你要查询的单词\n"); scanf("%s", English); //用户输入查询的单词for (a = 0; a <= i; a++){if (strcmp(cihui[a].English, English) == 0){printf("中文意思:%s\n", cihui[a].Chinese);break;}}if (a > i)printf("not find\n");printf("是否继续查询?(y/n)\n");fflush(stdin); //刷新输出缓冲区scanf("%c", &b);if (b == 'y')goto I;else if (b == 'y')return;}int add(int i) //实现用户添加词汇表功能
{system("cls"); //清空屏幕printf("请输入你要添加的英文:\n");fflush(stdin); //刷新输出缓冲区scanf("%s", cihui[i + 1].English);printf("请输入你要添加的中文:\n");fflush(stdin);scanf("%s", cihui[i + 1].Chinese);printf("请在文件中查看"); return i + 1;
}int del(int i) // 实现用户删除词汇表功能
{system("cls");char english[20];printf("请输入你要删除的英文:\n");scanf("%s", english);for (int a = 0; a <= i; a++){if (strcmp(cihui[a].English, english) == 0){while (1){strcpy(cihui[a].English, cihui[a + 1].English);strcpy(cihui[a].Chinese, cihui[a + 1].Chinese);a++;if (a > i)goto Z;}}}printf("请在文件中查看");
Z: return i - 1;
}void Save(int i) //清空文件,并将新的数据存入文件
{FILE* fp = NULL;fp = fopen("词汇表.txt", "w"); //打开文件,只读方式if ((fp = fopen("词汇表.txt", "w")) == NULL){printf("写入文件失败,请重试!");}for (int a = 0; a <= i; a++){fprintf(fp, "%s", cihui[a].English);fputs(" ", fp);fprintf(fp, "%s", cihui[a].Chinese);fputs("\n", fp);}fclose(fp); //关闭磁盘文件
}int Bye_bye() //退出程序
{printf("退出程序\n");return 0;
}int main()
{int a, n, b, i;
L: i = load();system("cls");// 清空屏幕Menu();a = get_choice();switch (a){case 1: search(i); break;case 2: n = add(i); Save(n); break;case 3: b = del(i); Save(b); break;case 4: Bye_bye();}Sleep(3000);goto L;
}



相关文章:
英语翻译程序,可以对用户自己建立的词汇表进行增删查改
⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。 ⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。 ⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。 #defi…...
Django ORM魔法:用Python代码召唤数据库之灵!
探索Django ORM的神奇世界,学习如何用Python代码代替复杂的SQL语句,召唤数据库之灵,让数据管理变得轻松又有趣。从基础概念到高级技巧,阿佑带你一步步成为Django ORM的魔法师,让你的应用开发速度飞起来! 文…...
JetBrains Mono字体下载及安装
百度云字体下载 提取码:zida 1.mac 安装 选择文件夹中的所有字体文件,然后双击它们。点击“安装字体”按钮。 2.windows 安装 选择文件夹中的字体文件,右键单击其中任何一个,然后从菜单中选择“安装”。 3.linux 安装 将字体…...
【OS】AUTOSAR OS系统调用产生Trap的过程详解
目录 前言 正文 1.Os_Hal_Trap使用示例 2. Os_Hal_Trap的定义 3. syscall详解详解...
Java中的异常处理机制
在Java中,异常处理是一种重要的编程机制,用于处理程序运行时可能出现的错误情况。它提供了一种结构化的方式来处理异常情况,使程序能够更健壮、更易于维护。下面将从技术难点、面试官关注点、回答吸引力和代码举例四个方面来详细描述Java中的…...
什么是PLAB?
接上文PLAB---》 可以看到和TLAB很像,PLAB即 Promotion Local Allocation Buffers。用在年轻代对象晋升到老年代时。 在多线程并行执行YGC时,可能有很多对象需要晋升到老年代,此时老年代的指针就"热"起来了,于是搞了个…...
复试不考机试,初试300分以上,上岸稳了?东北林业大学计算机考研考情分析!
东北林业大学(Northeast Forestry University),简称东北林大(NEFU),位于黑龙江省哈尔滨市,是一所以林科为优势、林业工程为特色的中华人民共和国教育部直属高校,由教育部、国家林业局…...
【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
亲爱的读者们👋 欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀 Prometheus是云原生和DevOps的…...
微信小程序的事件绑定方式
微信小程序的事件绑定方式主要包括以下几种,每种方式都有其特定的用法和特性: 基础绑定方式: bind:这是最基础的绑定方式,用于绑定事件处理函数。例如,bindtap用于绑定点击事件。当组件触发事件时…...
AR和AP重分类(Regroup)[FAGLF101/OBBU/OBBV]
一、为什么AR和AP科目需要重分类 1.1 执行操作的前提(重要) 存在AR的当月总余额在贷方(客户贷项凭证、预收账款等)或AP的当月总余额在借方(供应商贷项凭证、预收账款等),这种情况下无法真实的反映出资产和负债情况&…...
进程——linux
目录 冯诺依曼体系结构(计算机组成原理与体系结构) 关于冯诺依曼,必须强调几点: 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 一、进程 基本概念…...
关于如何通过APlayer+MetingJS为自己的wordpress博客网页添加网易音乐播放器(无需插件)
本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:最近在网上冲浪,发现大家的博客大部分都有一个音乐播放器能够播放音乐,随机我也开始寻找解决方法。可是找来找去我…...
架构师如何以打游戏的心态做开发?
为什么打游戏可以很好玩,能够自发学习,从青铜到黄金很简单。换个角度思考🤔,以打游戏的心态如何进行架构开发,可以采用以下策略: 设定目标和里程碑: 就像游戏中的任务和关卡一样,为…...
【WP|6】WordPress 主题开发详解
WordPress主题开发是打造独特、功能强大的网站的重要途径。无论是创建全新的主题还是对现有主题进行自定义,掌握主题开发技能都是非常重要的。本文将详细讲解 WordPress 主题开发的基本步骤、文件结构、模板层次以及一些高级技巧,帮助你从零开始创建一个…...
Kivy.garden.NavigationDrawer 后续学习
如百词斩部分代码 MRWord\pages\infopage\info.kv <InfoPage>:anim_type: slide_above_simpleid: main_winbox_button_anchor: box_button_anchor.__self__three_labels_box: three_labels_box.__self__box_phonetic: box_phonetic.__self__BoxLayout:BoxLayout:id: ma…...
【CVE-2021-3156】——漏洞复现、原理分析以及漏洞修复
文章目录 前言1、漏洞概述2、漏洞复现2.1、漏洞复现测试环境2.2、漏洞复现具体步骤 3、漏洞原理3.1、前置知识3.1.1、sudo3.1.2、sudoedit3.1.3、转义字符 3.2、漏洞分析 4、漏洞修复5、参考文献总结 前言 2021年01月27日,RedHat官方发布了Sudo缓冲区/栈溢出漏洞的风…...
Github 2024-05-31 Java开源项目日报 Top10
根据Github Trendings的统计,今日(2024-05-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10TypeScript项目1JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache License 2.0Star数量:1…...
【上海大学计算机组成原理实验报告】六、内存系统实验
一、实验目的 学习内存访问机制。理解代码和数据的分区存放原理和技术。 二、实验原理 根据实验指导书的相关内容,地址寄存器MAR用来存放要进行读或写的存储器EM的地址。其内容经数据总线DBUS写入,因此必须在数据总线上具有数据后,配合MAR允…...
C++:细谈Sleep和_sleep
ZINCFFO的提醒 还记得上上上上上上上上上上上上上上上上上上(上的个数是真实的)篇文章吗? 随机应变——Sleep()和_sleep() 但在ZINCFFO的C怪谈-02中: 我不喜欢Sleep...... 奤?媜煞鷥! 整活!…...
CORS前端:深度解析跨域资源共享机制及其前端应用
CORS前端:深度解析跨域资源共享机制及其前端应用 在前端开发领域,CORS(跨源资源共享)是一个不可或缺的概念。它允许网页应用在不同的源(域、协议或端口)之间进行资源请求和共享,从而打破了同源…...
Git远程仓库核心原理与团队协作实战指南
1. 项目概述:为什么远程仓库是Git协作的基石如果你已经用Git在本地创建了项目,并且熟练地使用git add和git commit来记录每一次代码的变更,那么恭喜你,你已经掌握了版本控制的个人副本。但这仅仅是Git能力的冰山一角。真正的威力&…...
SoC与SoM:硬件开发的效率革命与双刃剑效应
1. 项目概述:当“系统”成为商品从业十几年,从画第一块51单片机的板子,到参与设计复杂的通信基站,我亲眼见证了硬件开发模式的剧变。如果说早些年我们还在为如何把CPU、内存、Flash、各种接口控制器塞进一块PCB而绞尽脑汁…...
从 API Key 管理与审计日志功能看 Taotoken 的企业级安全支持
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从 API Key 管理与审计日志功能看 Taotoken 的企业级安全支持 对于将大模型能力集成到业务流程中的企业而言,API 访问的…...
基于小波变换与渐进式特征金字塔网络的高效目标检测方法 —— 以电网巡检为例
点击蓝字关注我们关注并星标从此不迷路计算机视觉研究院公众号ID|计算机视觉研究院学习群|扫码在主页获取加入方式https://pmc.ncbi.nlm.nih.gov/articles/PMC12923819/pdf/41598_2026_Article_37017.pdf计算机视觉研究院专栏Column of Computer Vision …...
离线语音模块在塔扇智能化中的集成与应用实践
1. 项目概述:当塔扇“听懂”你的话 家里的塔式风扇,你是不是也经常遇到这样的场景:晚上躺在床上,风扇对着吹有点冷,想调小一档或者关掉,结果发现遥控器不知道被塞到哪个沙发缝里了,只能挣扎着爬…...
ESXi 8.0支持ARM架构吗?一文说清兼容性真相
在虚拟化运维过程中,很多运维人员会关注ESXi 8.0的硬件兼容性,尤其是随着ARM架构服务器的普及,不少人会疑问“ESXi 8.0支持ARM架构吗?”。答案非常明确:ESXi 8.0不支持ARM架构,仅支持x86-64架构。本文详细拆…...
HPM6750 CAN FD实战:从波特率配置到高效收发,避坑指南
1. 项目概述:从经典CAN到CAN FD的实战入门作为一名长期在嵌入式领域摸爬滚打的开发者,我深知现场总线技术,尤其是CAN总线,在工业控制、汽车电子等领域的核心地位。随着数据吞吐量需求的激增,经典CAN的1Mbps带宽逐渐捉襟…...
机器学习40讲-总结课:机器学习的模型体系
用17讲的篇幅,我和你分享了目前机器学习中的大多数主流模型。可是除开了解了各自的原理,这些模型背后的共性规律在哪里,这些规律又将如何指导对于新模型的理解呢?这就是今天这篇总结的主题。 要想在纷繁复杂的模型万花筒中梳理出一条清晰的脉络,还是要回到最原始的出发点…...
Bash脚本自动化部署ROS机械臂环境:OpenClaw一键安装实践
1. 项目概述:一个为中文用户定制的自动化安装脚本如果你在GitHub上搜索过与机械臂、机器人操作系统(ROS)或类似开源硬件项目相关的资源,大概率会看到过“OpenClaw”这个名字。它是一个开源的、模块化的机械爪项目,设计…...
S32K324双核M7实战:如何利用192KB TCM提升关键代码性能
S32K324双核M7实战:如何利用192KB TCM提升关键代码性能 在嵌入式系统开发中,实时性往往是决定产品成败的关键因素。当您面对电机控制、信号处理等高实时性需求场景时,处理器与内存之间的数据通路可能成为性能瓶颈的隐形杀手。S32K324芯片内置…...
