1、 题目:题目:背单词背单词 1概述概述 该系统是帮助单词背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑 自己的词库,系统可以给出中文,让单词输入其英文意思,也可输出英文让单词 输入中文意思。并判定词义是否正确。如不正确给出提示并要求用户重新输入。 如正确给以鼓励。还应有词语预览功能。 基本功能: 1)词库的维护 2)课程预览 3)显示中文用户输入英文的背诵方法 4)显示英文用户输入中文的背诵方法 5)背诵成绩的记录。 2 2课程设计目的课程设计目的 综合训练单词用 C 语言编程解决问题和处理问题的能力,巩固其对 C 语言课程内容和 知识的掌握。 3 3对课程设计的基本要求对课程设计的基
2、本要求 1)尽量多的应用 C 语言中所学到的知识和语句 2)课程设计前应书写开题报告主要内容包括(对题目的分析和对该课程设计的概要设 计) 3)课程设计后应交课程设计报告 ,和软件原代码及编译后的应用软件 4)课程设计最后一次上机实验时检查题目的完成情况 5)课程设计中必须用到的内容为 a 文件的存取 b 结构体的使用 c 数组的使用 d 指针操作 一、开题报告一、开题报告 2 1.变量和结构体说明变量和结构体说明 1)单词信息的结构体如下: typedef struct word /单词的结构体 char enM_CHAR; / 英文形式 char chM_CHAR; /中文形式 word;
3、 2)存放单词的信息的变量如下: word sM_NUM; /单词数组 int num; /单词个数 2.概要设计概要设计 1) 定义结构体数组用来存放单词的信息 2) 单词信息存放在 data.txt 中,文件格式如下: 单词个数长度为 4 个字节 第 1 个单词的信息-长度为 sizeof(word) 第 2 个单词的信息-长度为 sizeof(word) 。 。 。 。 。 。 第 n个单词的信息-长度为 sizeof(word) 3) 读文件 data.txt 的过程如下: 打开文件 data.txt 用 fopen函数(以 mode 指定的方式打开名为 filename 的文件) 先
4、读取单词个数,然后逐个读取单词的信息,采用 fread 函数(从 fp 所指定的文 件中读取长度为 size 的 n个数据项,存到 pt 所指向的内存区) 4) 写文件 data.txt 的过程如下: 先写入单词个数,然后逐个写入单词的信息,采用 fwrite 函数(把 ptr 所指向的 n*size 个字节输出的 fp 所指向的文件中) 5)删除单词和修改单词信息的时候,都需要先输入英文,从该英文找到单词的位置 6)程序采用菜单的形式显示,用户可以输入选择进行操作 3 3.树型结构模块图树型结构模块图 功能模块图如下: 学生背单词系统 读 取 文 件 信 息 添 加 单 词 信 息 修 改
5、单 词 信 息 删 除 单 词 信 息 显 示 单 词 信 息 背 诵 ( 中 至 英 ) 背 诵 ( 英 至 中 ) 查 询 成 绩 写 入 文 件 信 息 4 4课程流程课程流程 图图 5.操作说明操作说明 1) 本程序需要目录下存在“data.txt”文件 2) 系统的菜单如下 3) 添加单词信息的功能操作方法如下: 4) 删除单词信息的功能操作方法如下: 6 5) 修改单词信息的功能操作方法如下: 6) 显示单词信息功能操作方法如下: 7 7) 显示单词背诵(中至英)功能操作方法如下:1、回答正确 2、回答错误 8 8) 显示单词背诵(英至中)功能操作方法如下: 9 9) 成绩查询的功
6、能操作方法如下: 6.课程详细代码:课程详细代码: #include #include #include #define M_CHAR 20 / 最大字符 #define M_NUM 100 / 单词的最大个数 int c=0,d=0;/统分变量 typedef struct word /单词的结构体 char enM_CHAR; / 英文形式 char chM_CHAR; /中文形式 word; word sM_NUM; /单词数组 int num; /单词个数 void read_from_file() /从文件中读取单词的信息 10 FILE *fp; int i=0; fp=fopen(“data.txt“,“rb“);/以 rb(为读而打开一个二进制文件)打开 data.txt 文件 if(!fp) printf(“打开文件 data.txt 失败!n“); return ; fread( /