简易背单词系统

#include <stdio.h>
#include<string.h>
#include<stdlib.h>
struct word
{
    char chinese[20];
    char english[20];
};
int point=0,count1=0;
void tianjia(struct word str[100],int count);
void shuchu(struct word str[100],int count);
void fanyi1(struct word str[100],int count);
void fanyi2(struct word str[100],int count);
void chaxun(int point,int count1);
void main()
{
    int count=0,n;
    struct word str[100];
    char ch,chioch;
    while(1)
    {
        puts("*********背单词系统***********");
        printf("\n");
        puts("******1.添加词库**************");
        puts("******2.汉译英****************");
        puts("******3.英译汉****************");
        puts("******4.输出所有词库**********");
        puts("******5.成绩查询**************");
        puts("******0.退出******************");
        printf("\n");
        puts("请输入你想要进行的操作:");
        scanf("%d",&n);
        switch(n)
        {
            case 1:tianjia(str,count);break;
            case 2:fanyi1(str,count);break;
            case 3:fanyi2(str,count);break;
            case 4:shuchu(str,count);break;
            case 5:chaxun(point,count1);break;
            case 0:{
                        printf("你确认退出吗?y/n!!\n");
                        scanf("%c%c",&ch,&chioch);
                        if(ch=='y'||ch=='Y')
                            exit(0);
                    }
            default :puts("你的输入无法执行!!");
                        exit(0);
        }
    }
}
void tianjia(struct word str[100],int count)
{
    char ch;
    do{
        puts("录入词库!!");
        puts("请输入词库中的英语单词:");
        scanf("%s",str[count].english);
        printf("\n");
        puts("请输入相应的中文意思:");
        scanf("%s",str[count].chinese);
        count++;
        puts("是否继续录入?y/n!!!");
        scanf("%c",&ch);
    }while(ch=='y'||ch=='Y');
    printf("%d\n\n",count);
}
void shuchu(struct word str[100],int count)
{
    int i=0;
    puts("输出词库中的所有单词!!");
    if(count<=0)
    {
        puts("没有任何单词,无法输出!!");
        return;
    }
    else
    {
        for(i=0;i<count;i++)
        {
            printf("英文单词是:%s",str[i].english);
            printf("\n相应的中文意思是:%s",str[i].chinese);
            printf("\n\n");
        }
        printf("词库所有单词输出完毕!!\n");
    }
}
void fanyi1(struct word str[100],int count)
{
    int i;
    char ch[20],bh[20];
    puts("请输入英语单词:");
    scanf("%s",ch);
    puts("请输入翻译后的中文:");
    scanf("%s",bh);
    for(i=0;i<count;i++)
    {
        if(strcmp(ch,str[i].english)==0)
        {
            if(strcmp(bh,str[i].chinese)==0)
            {
                point++;
                count1++;
                puts("恭喜你!!答对了!!");
            }
        else
        {
            count1++;
            printf("很遗憾,答错了!!正确翻译是:%s\n",str[i].chinese);
        }
        }
    }
}
void fanyi2(struct word str[100],int count)
{
    int i;
    char ch[20];
    char bh[20];
    puts("请输入中文:\n");
    scanf("%s",ch);
    puts("请输入翻译后的英文:");
    scanf("%s",bh);
    for(i=0;i<count;i++)
    {
        if(strcmp(ch,str[i].chinese)==0)
        {
            if(strcmp(bh,str[i].english)==0)
            {
                point++;
                count1++;
                puts("恭喜你!!答对了!!");
            }
            else
            {
                count1++;
                printf("很遗憾,答错了!!正确的翻译是:%s\n",str[i].english);
            }
        }
    }
}
void chaxun(int point,int count1)
{
    puts("本次测试的成绩是:");
    printf("总共%d个\n",count1);
    printf("正确:%d个\n",point);
    printf("正确率为:%f\%\n",point/count1*100);
}

设计一个简单的Python背单词软件,可以分为以下几个步骤: 1. **数据存储**:首先,你可以创建一个包含单词、释义和翻译的数据结构,比如字典(dict),每个单词关联其相关信息。 ```python word_list = { 'apple': {'translation': '苹果', 'pinyin': 'píng guǒ'}, 'banana': {'translation': '香蕉', 'pinyin': 'xiāng jiāo'}, # 更多单词... } ``` 2. **用户界面**:使用`tkinter`库来构建基本的GUI界面,包括显示单词、输入答案、提交和显示进度的功能。 ```python import tkinter as tk class WordTutor: def __init__(self): self.root = tk.Tk() self.current_word = None # ... 添加UI元素和事件处理 # 示例:创建一个Label显示单词,Button用于提交答案 word_label = tk.Label(self.root, text="下一个单词") word_label.pack() submit_button = tk.Button(text="提交", command=self.next_word) submit_button.pack() ``` 3. **学习过程**:设置一个学习循环,每次随机选择一个单词,让用户尝试猜测并检查答案。如果答错,可以提供提示或增加复习次数。 ```python def next_word(): if not self.word_list: print("已结束所有单词的学习!") return self.current_word = random.choice(list(word_list.keys())) self.show_word_and_prompt() # ... 实现show_word_and_prompt函数,隐藏当前单词并显示新单词 ``` 4. **复习机制**:考虑加入定期复习功能,比如间隔一定时间后自动回放之前学过的单词。 5. **保存进度**:为了方便用户下次继续学习,可以将用户的进度信息(例如已完成的学习单词列表)存储到文件中,以便恢复。 6. **测试和优化**:最后,确保程序运行顺畅,对用户友好,并添加错误处理,如用户输入无效等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值