C语言课程设计 简单的单词学习系统
帮兄弟简单写了一个课设题目,时间有限(两个小时),恳请斧正嘿嘿
目录
零、题目要求
一、导入函数库、定义结构体以及函数声明
二、一级菜单函数
三、二级菜单函数
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语言课程设计 简单的单词学习系统相关推荐
- 计算机课程编程设计贪吃蛇游戏设计,c语言课程设计报告--贪吃蛇游戏系统
c语言课程设计报告--贪吃蛇游戏系统 院 系 计算机科学技术学院 班 级 组 长 学 号 指导教师 2017 年 3 月 2 日 C 语言语言基础课程设计基础课程设计 贪贪贪贪吃吃吃吃蛇蛇蛇蛇游游游游 ...
- c语言考试系统设计报告,C语言课程设计(单项选择题标准化考试系统)报告
<C语言课程设计(单项选择题标准化考试系统)报告>由会员分享,可在线阅读,更多相关<C语言课程设计(单项选择题标准化考试系统)报告(15页珍藏版)>请在人人文库网上搜索. 1. ...
- C语言课程设计之火车订票系统
C语言课程设计之火车订票系统 下载链接 运行效果图 文档报告 答辩PPT 下载链接 运行效果图 文档报告 答辩PPT
- 删除添加修改查询c语言报告,c语言课程设计报告 车辆违章查询系统.pdf
c语言课程设计报告 车辆违章查询系统 C 语言课程设计 姓 名:刘 风 学 号:8100612 时 间:2011/6/11 指导教师:王 薇 C 语言课程设计 题目:车辆违章查询系统 要求: 能够根据 ...
- C语言查课系统的报告,C语言课程设计报告车辆违章查询系统doc
C语言课程设计报告车辆违章查询系统doc C 语言课程设计姓 名:刘 风学 号:8100612时 间:2011/6/11指导教师:王 薇题目:车辆违章查询系统 要求: 能够根据车辆的牌号,进行违章记录 ...
- c语言课程设计计算器程序分析,c语言课程设计简单计算器程序..docx
课程设计名称:C语言课程设计 课程设计题目: 简单计算器程序 TOC \o "1-5" \h \z \o "Current Document" 第1章需求分析1 ...
- c语言课程设计计算器软件,C语言课程设计简单计算器程序.docx
课程设计名称: C 语言课程设计课程设计题目: 简单计算器程序 目录 第1章 需求分析 0 设计要求 0 任务 0 第2章 总体设计 1 TOC \o "1-5" \h \z \o ...
- c语言课程设计 湖南工程学院 小学生cai 系统 2013,研究报告C语言课程设计小学生心算CAI系统报告书.doc...
研究报告C语言课程设计小学生心算CAI系统报告书 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 小学生心算CAI系统 专 业 电气工程及其自动化 班 级 电气0985 学 ...
- c语言车辆违章管理系统,C语言课程设计报告车辆违章查询系统.pdf
C 语言课程设计 姓 名:刘 风 学 号:8100612 时 间:2011/6/11 指导教师:王 薇 C 语言课程设计 题目:车辆违章查询系统 要求: 能够根据车辆的牌号,进行违章记录的查询. 功能 ...
- c语言标准化考试系统课程设计,C语言课程设计单项选择题标准化考试系统.doc
. ... 仲恺农业工程学院 课程设计报告 单项选择题标准化考试系统 课程名称 C 语言程序设计 姓 名 院(系) 信息科学与技术学院 专业班级 学 号 指导教师 目 录 TOC \o "1 ...
最新文章
- [CQOI2010]扑克牌
- VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题
- MetaPhlAn 2:宏基因组进化分析
- 在C#里,如何执行cmd里的常用dos命令 (转)
- java参数类型不同_java – 两种不同的参数类型(将Object强制转换为Type)
- 监控服务器Nagios之一 概述及安装
- 二套“非普通住宅”是否认贷不认房 各地口径不一
- 你最喜欢哪款游戏的界面风格,为什么?
- 内置模块之configparser
- dm7达梦7Linux安装包,【达梦】DM7安装部署 2 安装达梦7数据库软件
- 移动机器人运动控制算法入门
- SolidWorks学习(1):基础绘图
- CC2540蓝牙开发一BLE例程
- meltdown linux检测,Spectre ampamp; Meltdown漏洞检测工具
- SWUST OJ533你的QQ多少级了?
- android平板能玩吃鸡吗,刺激战场用什么平板好 平板吃鸡配置推荐
- Spring Boot项目出现问题: Whitelabel Error Page
- 闲聊弹幕网站背后的用户需求和心理动机
- 第1期-通过携程爬取机票价格
- openvas-nals 调试脚本ftp 2
热门文章
- 2022深圳杯D题思路:复杂水平井三维轨道设计
- 2019深圳杯数学建模比赛--初步思路
- 运动控制器用c语言编程吗,中文可编程运动控制器
- Hive 不支持 where 子句中的子查询, SQL 常用的 exist in 子句需要改写。这一改写相对简单。考虑以下 SQL 查询语句:
- linux系统usb口死机,在Linux上修复故障的USB设备或端口的5种方法 | MOS86
- 在服务器上安装centos系统
- [RS] 地理空间数据云 使用ftp批量下载影像(以批量下载Landsat8数据为例)
- Spring工作原理
- css实现接地气的checkbox框
- Nodejs页面访问加载静态资源