C语言关键字中英翻译机(用文件实现),有进阶(扩展了一个小游戏超有趣)

您所在的位置:网站首页 设计流程翻译成英语 C语言关键字中英翻译机(用文件实现),有进阶(扩展了一个小游戏超有趣)

C语言关键字中英翻译机(用文件实现),有进阶(扩展了一个小游戏超有趣)

2024-07-17 16:07| 来源: 网络整理| 查看: 265

文章目录 概要整体架构流程函数功能解释小结

概要

用c语言完成关键字中英翻译机。功能要求:要求输入中文的名词和关键字,可以将其翻译成英语,如输入“基本整形”+回车,得到 int;输入英文的单词 int,则可以翻译成中文“基本整形”。可模拟文曲星来实现。可多次查询,输入 bye 时退出。

整体架构流程

用文件实现各函数功能menu1菜单search字典 game小游戏

利用文件操作来完成,可以多次查找,将各函数放在主函数中实现。

功能:输入中文的名词和关键字,可以将其翻译成英语,扩展了一个关于关键字的小游戏。

利用while()来实现多组输入输出。

游戏里面一个for循环完成给用户三次机会。

函数功能解释

1 . void menu(); 菜单

2 . void search(char str[], int k);字典

3.  void menu1();菜单

4.  void game();小游戏

代码实现

注意由于使用文件实现故大家要把下面的数据拷到记事本里并重命名为"kkxixi.dat"

注意空格不能省略。

文件中要保存的数据(把下面这些数据拷到源程序对应的文件夹里的记事本里(如果没有记事本可自己创一个)一定记得把记事本重命名为"kkxixi.dat")

int 基本整型 char 字符型 float 浮点型 double 双精度浮点型 enum 枚举类型 long 长整型 short 短整型 struct 结构体类型 union 共用体类型 signed 有符号类型 longlong 长整型类型

思路:创建一个数组将文件中的数组保存下来后,遍历整个数组,找出答案并输出。扩展一个小游戏,也是用数组,不过这个数组只存放各各类型字节大小,和文件中的一一对应,判断输出即可。

采用while可多组输入输出。

菜单函数

void menu() { printf("-----------------------------\n"); printf("------\n"); printf("------------\n"); printf("-----------\n"); printf("\n"); }

 字典函数

void search(char str[], int k) { A s; FILE* fp; if ((fp = fopen("kkxixi.dat", "r")) == NULL) { printf("cannot open file\n"); exit(0); } A string[100]; int i = 0; while (!feof(fp)) { fscanf(fp, "%s %s", string[i].en, string[i].ch); i++; } fclose(fp); for (int t = 0; t =1; x--) { scanf("%d", &temp); if (a[k] == temp) { printf("你真厉害!恭喜你完成挑战!\n"); break; //printf("游戏结束\n"); } else { if (x - 1 == 0) { printf("很遗憾回答错误,再去复习复习吧\n"); break; } printf("回答错误你还有%d次机会\n",x-1); } } } else printf("很遗憾答错了,快去刷几题力扣再来\n"); printf("输入非0继续练习--输入0退出游戏\n"); scanf("%d", &t); } while (t); }

主函数

int main() { menu(); int num = 1; while (num) { menu1(); char str[100]; scanf("%s", str); if (strcmp(str, "bye") == 0) { printf("退出程序"); return 0; } if (strcmp(str, "play") == 0) game(); else search(str, num); } return 0; }

总代码

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include //课堂实验设计 /// typedef struct stk { char en[100]; char ch[100]; }A; void menu() { printf("-----------------------------\n"); printf("------\n"); printf("------------\n"); printf("-----------\n"); printf("\n"); } void search(char str[], int k) { A s; FILE* fp; if ((fp = fopen("kkxixi.dat", "r")) == NULL) { printf("cannot open file\n"); exit(0); } A string[100]; int i = 0; while (!feof(fp)) { fscanf(fp, "%s %s", string[i].en, string[i].ch); i++; } fclose(fp); for (int t = 0; t =1; x--) { scanf("%d", &temp); if (a[k] == temp) { printf("你真厉害!恭喜你完成挑战!\n"); break; //printf("游戏结束\n"); } else { if (x - 1 == 0) { printf("很遗憾回答错误,再去复习复习吧\n"); break; } printf("回答错误你还有%d次机会\n",x-1); } } } else printf("很遗憾答错了,快去刷几题力扣再来\n"); printf("输入非0继续练习--输入0退出游戏\n"); scanf("%d", &t); } while (t); } int main() { menu(); int num = 1; while (num) { menu1(); char str[100]; scanf("%s", str); if (strcmp(str, "bye") == 0) { printf("退出程序"); return 0; } if (strcmp(str, "play") == 0) game(); else search(str, num); } return 0; } 小结

将文件读取的数据存放在数组中,由于本题的特性,要自己定义一个类型,遍历整个数组,需要读者对文件操作有一定的了解,不难。

如果此文章对你有用的话麻烦点个赞,阿里嘎多。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3