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

目录

零、题目要求

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

二、一级菜单函数

三、二级菜单函数

1.词库更新系统

2.学习系统

四、功能实现函数

1.词库更新相关

2.学习系统相关

①题目回答

②单词学习

五、主函数及总结


零、题目要求

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

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

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>//定义单词结构体
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;
}

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

C语言课程设计 简单的单词学习系统相关推荐

  1. 计算机课程编程设计贪吃蛇游戏设计,c语言课程设计报告--贪吃蛇游戏系统

    c语言课程设计报告--贪吃蛇游戏系统 院 系 计算机科学技术学院 班 级 组 长 学 号 指导教师 2017 年 3 月 2 日 C 语言语言基础课程设计基础课程设计 贪贪贪贪吃吃吃吃蛇蛇蛇蛇游游游游 ...

  2. c语言考试系统设计报告,C语言课程设计(单项选择题标准化考试系统)报告

    <C语言课程设计(单项选择题标准化考试系统)报告>由会员分享,可在线阅读,更多相关<C语言课程设计(单项选择题标准化考试系统)报告(15页珍藏版)>请在人人文库网上搜索. 1. ...

  3. C语言课程设计之火车订票系统

    C语言课程设计之火车订票系统 下载链接 运行效果图 文档报告 答辩PPT 下载链接 运行效果图 文档报告 答辩PPT

  4. 删除添加修改查询c语言报告,c语言课程设计报告 车辆违章查询系统.pdf

    c语言课程设计报告 车辆违章查询系统 C 语言课程设计 姓 名:刘 风 学 号:8100612 时 间:2011/6/11 指导教师:王 薇 C 语言课程设计 题目:车辆违章查询系统 要求: 能够根据 ...

  5. C语言查课系统的报告,C语言课程设计报告车辆违章查询系统doc

    C语言课程设计报告车辆违章查询系统doc C 语言课程设计姓 名:刘 风学 号:8100612时 间:2011/6/11指导教师:王 薇题目:车辆违章查询系统 要求: 能够根据车辆的牌号,进行违章记录 ...

  6. c语言课程设计计算器程序分析,c语言课程设计简单计算器程序..docx

    课程设计名称:C语言课程设计 课程设计题目: 简单计算器程序 TOC \o "1-5" \h \z \o "Current Document" 第1章需求分析1 ...

  7. c语言课程设计计算器软件,C语言课程设计简单计算器程序.docx

    课程设计名称: C 语言课程设计课程设计题目: 简单计算器程序 目录 第1章 需求分析 0 设计要求 0 任务 0 第2章 总体设计 1 TOC \o "1-5" \h \z \o ...

  8. c语言课程设计 湖南工程学院 小学生cai 系统 2013,研究报告C语言课程设计小学生心算CAI系统报告书.doc...

    研究报告C语言课程设计小学生心算CAI系统报告书 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 小学生心算CAI系统 专 业 电气工程及其自动化 班 级 电气0985 学 ...

  9. c语言车辆违章管理系统,C语言课程设计报告车辆违章查询系统.pdf

    C 语言课程设计 姓 名:刘 风 学 号:8100612 时 间:2011/6/11 指导教师:王 薇 C 语言课程设计 题目:车辆违章查询系统 要求: 能够根据车辆的牌号,进行违章记录的查询. 功能 ...

  10. c语言标准化考试系统课程设计,C语言课程设计单项选择题标准化考试系统.doc

    . ... 仲恺农业工程学院 课程设计报告 单项选择题标准化考试系统 课程名称 C 语言程序设计 姓 名 院(系) 信息科学与技术学院 专业班级 学 号 指导教师 目 录 TOC \o "1 ...

最新文章

  1. [CQOI2010]扑克牌
  2. VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题
  3. MetaPhlAn 2:宏基因组进化分析
  4. 在C#里,如何执行cmd里的常用dos命令 (转)
  5. java参数类型不同_java – 两种不同的参数类型(将Object强制转换为Type)
  6. 监控服务器Nagios之一 概述及安装
  7. 二套“非普通住宅”是否认贷不认房 各地口径不一
  8. 你最喜欢哪款游戏的界面风格,为什么?
  9. 内置模块之configparser
  10. dm7达梦7Linux安装包,【达梦】DM7安装部署 2 安装达梦7数据库软件
  11. 移动机器人运动控制算法入门
  12. SolidWorks学习(1):基础绘图
  13. CC2540蓝牙开发一BLE例程
  14. meltdown linux检测,Spectre ampamp; Meltdown漏洞检测工具
  15. SWUST OJ533你的QQ多少级了?
  16. android平板能玩吃鸡吗,刺激战场用什么平板好 平板吃鸡配置推荐
  17. Spring Boot项目出现问题: Whitelabel Error Page
  18. 闲聊弹幕网站背后的用户需求和心理动机
  19. 第1期-通过携程爬取机票价格
  20. openvas-nals 调试脚本ftp 2

热门文章

  1. 2022深圳杯D题思路:复杂水平井三维轨道设计
  2. 2019深圳杯数学建模比赛--初步思路
  3. 运动控制器用c语言编程吗,中文可编程运动控制器
  4. Hive 不支持 where 子句中的子查询, SQL 常用的 exist in 子句需要改写。这一改写相对简单。考虑以下 SQL 查询语句:
  5. linux系统usb口死机,在Linux上修复故障的USB设备或端口的5种方法 | MOS86
  6. 在服务器上安装centos系统
  7. [RS] 地理空间数据云 使用ftp批量下载影像(以批量下载Landsat8数据为例)
  8. Spring工作原理
  9. css实现接地气的checkbox框
  10. Nodejs页面访问加载静态资源