我是靠谱客的博主 虚拟发箍,最近开发中收集的这篇文章主要介绍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("您现在的等级是%dn",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
%sn",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("英:%sn",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("英:%sn",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语言课程设计 简单的单词学习系统零、题目要求一、导入函数库、定义结构体以及函数声明二、一级菜单函数三、二级菜单函数四、功能实现函数五、主函数及总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部