是酷姐 2022-01-13 23:28 采纳率: 100%
浏览 51
已结题

使用c语言,单词背诵系统,要求如图

img


这个里面的记录不同用户的成绩还要再弄文件来保存吗?
不同用户怎么区别?
怎么访问选择词库来访问?

  • 写回答

1条回答 默认 最新

  • 五一编程 2022-01-13 23:47
    关注
    
    
    #include<stdio.h>
    #include<string.h>
    int F=20,N=100,k=0;
    int score[100];
    int count=0;
    void hello();
    void add();
    void preview();
    void mdelete();
    void etc();
    void cte();
    void mscore();
    void recompose();
    struct word{
        char e[20];
        char c[20];
    }words[300];
    int main()
    {
        hello();
        return 0;
    }
    void hello()
    {
        int num,mexit=1;
        while(mexit)
        {
            printf("┌▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽┐\n");
            printf("│                                        │\n");
            printf("│   Welcome to recite words system       │\n");
            printf("│      ☆ 欢迎来到背单词系统  ☆         │\n");
            printf("│                                        │\n");
            printf("│        (っ。ω。)っ 学习计划走起      │\n");
            printf("│****************************************│\n");
            printf("│                                        │\n");
            printf("│     1.单词预览     2.英译汉            │\n"); 
            printf("│     3.汉译英       4.查询分数          │\n");
            printf("│                                        │\n");
            printf("│****************************************│\n");
            printf("│后台登录:                              │\n");
            printf("│                                        │\n");
            printf("│     5.单词添加     6.单词删除          │\n");
            printf("│     7.单词修改     8.退出程序          │\n");
            printf("│                                        │\n");
            printf("└△△△△△△△△△△△△△△△△△△△△┘\n");
            printf("请输入要操作的选项:\n\n");
        
            scanf("%d",&num);
            switch(num)
            {
                case 1:preview();
                    break;
                case 2:etc();
                    break;
                case 3:cte();
                    break;
                case 4:mscore();
                    break;
                case 5:add();
                    break;
                case 6:mdelete();
                    break;
                case 7:recompose();
                    break;
                case 8:mexit=0;
                    break;
                default:printf("请重新输入编号1~8\n\n");
                    break;
            }
        }
    }
    void add()
    {
        int m;
        int b=1;
        char c;
        while(b)
        {
            for(m=k;m<=300;m++)
            {
                printf("现在录入词库\n\n");
                printf("请输入你想录入的单词:\n");
                printf("请输入英文:\n\n");
                scanf("%s",words[m].e);
                printf("请输入中文:\n\n");
                scanf("%s",words[m].c);
                k++;
                
                printf("是否继续录入?\n\n");
                scanf(" %c",&c);
                if(c=='Y')
                {
                    b=1;
                    break; 
                }
                else(c=='N');
                {
                    
                    b=0;
                    printf("输入完成!\n");
                    break;
                }
            }
        }
    }
    void preview()
    {
        int i;
        printf("英文        中文\n");
        for(i=0;i<k;i++)
        {
            printf("%s        %s\n",words[i].e,words[i].c);
        }
    }
    void mdelete()
    {
        char s[20];
        int i;
        int j;
        for(i=0;i<k;i++)
        {
            printf("请输入您想删除的单词英文:\n");
            scanf("%s",s);
            if(strcmp(s,words[i].e)==0)
            {
                printf("已经成功删除\n\n");
                for(j=i;j<k;j++)
                {
                    words[j]=words[j+1];
                    k--;
                }
            break;
            }else
            {
                printf("该词库没有您输入的单词\n\n");
            }
        }
    }
    void etc()
    {
        char x[100];
        int y=0;
        int u;
        printf("背诵模式:英译汉!\n");
        printf("请输入你想练习的个数:\n");
        scanf("%d",&u);
        for(int i=0;i<u;i++)
        {
            printf("%s\n",words[i].e);
            printf("请输入相对应的中文:\n");
            scanf("%s",x);
            if(strcmp(words[i].c,x)==0)
            {
                printf("你答对了!\n");
                y++;
            }
            else
            {
                printf("很遗憾,你答错了。\n");
                printf("正确的翻译为:\n");
                printf("%s\n",words[i].c);
            }
        }
        printf("你的分数是:%d\n",y);
        score[count++]=y;
    }
    void cte()
    {
        
        char x[100];
        
        int  y=0;
        int u;
        printf("背诵模式:汉译英!\n");
        printf("请输入你想练习的个数:\n");
        scanf("%d",&u);
        for(int i=0;i<u;i++)
        {
            printf("%s\n",words[i].c);
     
            printf("请输入相对应的英文:\n"); 
            
            scanf("%s",x);
     
            if(strcmp(words[i].e,x)==0)
        
            {
                printf("你答对了!\n");
            
                y++;
            }
     
            else         
            {
                printf("很遗憾你,你答错了。\n");
     
                printf("正确的翻译为:");
     
                printf("%s\n",words[i].e);
            }
            
        }
        printf("你的分数是:%d\n",y);
        score[count++]=y;
        
    }
    void mscore()
    {
        int i;
        for(i=0;i<count;i++)
        {
            printf("score%d : %d\n",i,score[i]);
        }
    }
    void recompose()
    {
        int i;
        char z[20],x[20],c[20];
        printf("请输入您想修改的单词:\n");
        scanf("%s",z);
        if(k<=0)
        {
            printf("没有任何单词,无法修改\n");
            return; 
        }
        else
        {
            for(i=0;i<k;i++)
            {
                if(strcmp(z,words[i].e)==0)
                {
                    printf("请输入您修改后的英文单词:\n");
                    scanf("%s",x);
                    strcpy(words[i].e,x);
                    printf("请输入您修改后的中文翻译:\n");
                    scanf("%s",c);
                    strcpy(words[i].c,c);
                    printf("已经修改成功\n");
                    break; 
                }
                else
                {
                    printf("没有找到您要修改的单词\n");
                }
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月3日
  • 已采纳回答 5月26日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。