C语言课程设计 简单的单词学习系统 您所在的位置:网站首页 系统总体设计英文 C语言课程设计 简单的单词学习系统

C语言课程设计 简单的单词学习系统

2024-07-02 03:28| 来源: 网络整理| 查看: 265

帮兄弟简单写了一个课设题目,时间有限(两个小时),恳请斧正嘿嘿

目录

零、题目要求

一、导入函数库、定义结构体以及函数声明

二、一级菜单函数

三、二级菜单函数

1.词库更新系统

2.学习系统

四、功能实现函数

1.词库更新相关

2.学习系统相关

①题目回答

②单词学习

五、主函数及总结

零、题目要求

1.具体功能 ①建立词库:建立单词词库和词组词库各20组,可实现词条删除和添加功能。 ②单词学习统计与晋级:第一级英语单词学习,要答对10道题且答对率为80%以上才可 以晋级至下一级,不满足条件重新学习。 (rand(),#include结构体、文件或数组) 2.分步实施 ①初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; ②建立单词词库和词组词库,可对该词库进行删除和添加; ③完成单词学习功能,具有统计、升级和重新学习功能; 3.要求 ①用C语言实现程序设计; ②利用结构体进行相关信息处理; ③系统的各个功能模块要求用函数的形式实现;

一、导入函数库、定义结构体以及函数声明 #include #include #include #include //定义单词结构体 typedef struct word{ char e[100]; char c[100]; }word; //定义单词库 typedef struct word_list{ word list[20]; int length; }word_list; word_list Word;//为避免使用指针,这里直接创建单词库空间 void create(); int max(int,int); void add(); void del(); void pr(); void update(); int exc(int); int wordlearn(int); void startLearn(); 二、一级菜单函数 //主菜单 int menu(){ int n; int flag = 1; while(flag){ printf("*********欢迎来到小学生英语学习系统*********\n"); printf("*********1.新建词库 2.更新词库********\n"); printf("*********3.开始学习 4.退出 ********\n"); printf("**********************************************\n"); scanf("%d",&n); switch(n){ case 1: create(); break; case 2: update(); break; case 3: startLearn(); break; case 4: flag = 0; printf("退出成功!\n"); break; default: printf("输入错误!\n"); } } } 三、二级菜单函数 1.词库更新系统 //更新系统 void update(){ int flag = 1; int n; while(flag){ printf("*******更新系统*******\n"); printf("****1.添加单词 2.删除单词*****\n"); printf("****3.查看词库 4.退出 ********\n"); scanf("%d",&n); switch(n){ case 1: add(); break; case 2: del(); break; case 3: pr(); break; case 4: flag = 0; break; default: printf("输入错误!\n"); } } } 2.学习系统 //学习系统 void startLearn(){ int flag = 1; int n; int score = 0; int grade = 1; while(flag){ printf("*******学习系统********\n"); printf("***1.单词学习 2.词组学习******\n"); //词组学习实现 printf("***3.等级查看 4.称号查看******\n"); printf("***0.退出系统 *****\n"); scanf("%d",&n); switch(n){ case 1: score = max(score ,wordlearn(grade)); if(score >= 80 && grade < 2){ grade++; } break; case 2: break; case 3: printf("您现在的等级是%d\n",grade); break; case 4: //太懒了直接放上去 if(grade == 1){ printf("无称号\n"); break; } printf("您现在的称号是:\n"); if(grade > 1){ printf("初出茅庐\n"); } if(score == 100){ printf("人生巅峰\n"); } break; case 0: flag = 0; break; default: printf("输入错误!\n"); } } } 四、功能实现函数 1.词库更新相关 //创建单词库 void create(){ Word.length = 0; printf("创建成功!\n"); } //最大值函数 int max(int a , int b){ return a > b ? a:b; } //增加单词 void add(){ printf("请输入单词英文和中文(换行输入):\n"); scanf("%s%s",Word.list[Word.length].e,Word.list[Word.length].c); Word.length++; } //删除单词 void del(){ printf("请输入要删除的单词序号:\n"); int n,j; scanf("%d",&n); if(n > Word.length){ printf("未找到该单词!\n"); return; } for(j = n-1 ; j < Word.length-1 ; j++){ Word.list[j] = Word.list[j+1]; } Word.length--; printf("删除成功!\n"); } //打印单词库 void pr(){ if(Word.length == 0){ printf("词库中没有单词!\n"); } printf("******单词词库内容******\n"); int i; for(i = 0 ; i < Word.length ; i++){ printf("%s %s\n",Word.list[i].e,Word.list[i].c); } } 2.学习系统相关 ①题目回答 //回答题目 int exc(int grade){ srand(time(0)); int number = 0; int score = 0; int r; char temp[100]; //等级1 if(grade == 1){ while(number < 10){ r = rand()%10 + 1; printf("英:%s\n",Word.list[r].e); printf("中:"); scanf("%s",temp); if(strcmp(temp,Word.list[r].c) == 0){ score += 10; printf("回答正确!\n"); }else{ while(1){ printf("回答错误!请重新回答:\n"); scanf("%s",temp); if(strcmp(temp,Word.list[r].c) == 0){ printf("回答正确,但不是一次答对,所以不加分!\n"); break; } } } number++; } } //等级2 if(grade == 2){ while(number < 10){ r = rand()%10 + 11; printf("英:%s\n",Word.list[r].e); printf("中:"); scanf("%s",temp); if(strcmp(temp,Word.list[r].c) == 0){ score += 10; printf("回答正确!\n"); }else{ while(1){ printf("回答错误!请重新回答:\n"); scanf("%s",temp); if(strcmp(temp,Word.list[r].c) == 0){ printf("回答正确,但不是一次答对,所以不加分!\n"); break; } } number++; } } return score; //返回分数 } } ②单词学习 //单词学习 int wordlearn(int grade){ int score = 0; int flag = 1; while(flag){ printf("请选择:\n"); printf("1.学习 2.退出\n"); int n ; scanf("%d",&n); switch(n){ case 1: score = max(score,exc(grade)); break; case 2: flag = 0; break; default: printf("输入错误!\n"); } } return score; } 五、主函数及总结 int main(){ menu(); return 0; }

嘿嘿,词组学习模块没有实现,大家可以试着搞一下,兄弟说的比较晚,时间比较紧急,应该还可以吧,祝他答辩顺利哈哈哈哈



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有