单词小助手

第三章 结构化程序设计
一.实验目的:
1.明确结构化程序设计的基本结构。
2.通过对问题的分析,设计合理的结构化程序解决问题。
二.题目分析:
本次单词小助手的上机实验,老师给出了大部分功能实现的代码,包括词库维护、单词预览、单词背诵(中英)、单词背诵(英中)、查询成绩、帮助、退出系统。主要由我完善,完成以下要求:
1.改写程序为良好程序风格(文档注释,函数注释,语句注释)。
2.将单词测试中的功能完善,可针对做错的单词重复记忆。
3.查询单词的功能添加英文词查询,中文查询的功能完善(考虑如何显示同样中文意义,不同的英文单词)。
三.关键算法流程图的构造,及其源代码的实现:
(1)对做错的单词重复记忆实现流程图如下
在这里插入图片描述
代码实现如下:
中英增强记忆
void zyRetest()
{
char b1[20];
int z;
int choose = 1;
int i;
int m = 0;
while (choose)
{
i = rand() % num;
printf("\n【%s】请输入英文单词:", r[i].ch);
scanf("%s", b1);
for (z = 0; strcmp(b1, r[i].en) != 0; z = z)
{
printf("\n输入错误,请重新输入:");
scanf("%s", b1);
c = c + 1;
}
printf("\n恭喜你回答正确,加10分\n\n");
d = d + 1;
printf("\n继续测试请选1,返回上一级请选0:");
scanf("%d", &choose);
if (choose == 0) return;
}
}

英中增强记忆
void yzRetest()
{
char b1[20];
int z, x = 41;
int choose = 1;
int i;
while (choose)
{
i = rand() % num;
printf("\n【%s】请输入中文意思:", r[i].en);
scanf("%s", b1);
for (z = 0; strcmp(b1, r[i].ch) != 0; z = z)
{
printf("\n输入错误,请重新输入:");
scanf("%s", b1);
c = c + 1;
}
printf("\n恭喜你回答正确,加10分\n\n");
d = d + 1;
printf("\n继续测试请选1,返回上一级请选0:");
scanf("%d", &choose);
if (choose == 0) return;
}
}
其中有关文件的操作如下:
从增强记忆文件中读取单词
void readRemeberfile()
{
FILE *fp;
int i = 0;
fp = fopen(“Remeberdata.txt”, “r”);
if (!fp)
{
printf("\n打开文件Remeberdata.txt失败!");

}
while (fscanf(fp, "%s %s", r[i].en, r[i].ch) == 2)
{
	i++;
}
rnum = i;
if (0 == i)
	printf("\n你还没有错题哦");
else
	printf("\n");
fclose(fp);

}
(2)查询单词的功能添加英文词查询,中文查询的功能完善如下:
下列分别用基本流程图和NS盒图表示思想:
在这里插入图片描述
在这里插入图片描述
英文查询单词实现代码如下:
英文查询单词
void ysearch()
{
int i = 0, choose = 0, flag = 1;
char en[MAX_CHAR]; //中文形式
while (choose || flag)
{
printf("\n请输入你要查询的单词英文形式:");
scanf("%s", en);
for (i = 0; i<num; i++)//先找到该英文形式对应的序号
if (strcmp(s[i].en, en) == 0)
{
printf("\n英文形式 中文形式 “);
printf(”\n %-12s%12s", s[i].en, s[i].ch);

		printf("\n继续查询请选1,返回上一级请选0:");
		scanf("%d", &choose);
		if (choose == 0) return;
	}
	flag = 0;
}
if (!flag)	 printf("\n没有这个单词!");

}
四.调试测试及其运行结果:
(1)主页面布局
在这里插入图片描述
(2)词库维护增加单词:
在这里插入图片描述
查询,中英文都可以查询
在这里插入图片描述
在这里插入图片描述
测试如下:
从左到右依次为——增强记忆(中英)、增强记忆(英中)
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值