我是靠谱客的博主 虚拟发箍,这篇文章主要介绍C语言课程设计 简单的单词学习系统零、题目要求一、导入函数库、定义结构体以及函数声明二、一级菜单函数三、二级菜单函数四、功能实现函数五、主函数及总结,现在分享给大家,希望可以做个参考。
帮兄弟简单写了一个课设题目,时间有限(两个小时),恳请斧正嘿嘿
目录
零、题目要求
一、导入函数库、定义结构体以及函数声明
二、一级菜单函数
三、二级菜单函数
1.词库更新系统
2.学习系统
四、功能实现函数
1.词库更新相关
2.学习系统相关
①题目回答
②单词学习
五、主函数及总结
零、题目要求
1.具体功能
①建立词库:建立单词词库和词组词库各20组,可实现词条删除和添加功能。
②单词学习统计与晋级:第一级英语单词学习,要答对10道题且答对率为80%以上才可
以晋级至下一级,不满足条件重新学习。
(rand(),#include<stdio.h>结构体、文件或数组)
2.分步实施
①初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
②建立单词词库和词组词库,可对该词库进行删除和添加;
③完成单词学习功能,具有统计、升级和重新学习功能;
3.要求
①用C语言实现程序设计;
②利用结构体进行相关信息处理;
③系统的各个功能模块要求用函数的形式实现;
一、导入函数库、定义结构体以及函数声明
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#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();
二、一级菜单函数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30//主菜单 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.词库更新系统
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27//更新系统 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.学习系统
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49//学习系统 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.词库更新相关
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42//创建单词库 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.学习系统相关
①题目回答
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56//回答题目 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; //返回分数 } }
②单词学习
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23//单词学习 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; }
五、主函数及总结
复制代码
1
2
3
4int main(){ menu(); return 0; }
嘿嘿,词组学习模块没有实现,大家可以试着搞一下,兄弟说的比较晚,时间比较紧急,应该还可以吧,祝他答辩顺利哈哈哈哈
最后
以上就是虚拟发箍最近收集整理的关于C语言课程设计 简单的单词学习系统零、题目要求一、导入函数库、定义结构体以及函数声明二、一级菜单函数三、二级菜单函数四、功能实现函数五、主函数及总结的全部内容,更多相关C语言课程设计内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复