C语言课程设计背单词Word文件下载.docx

上传人:b****6 文档编号:18814520 上传时间:2023-01-01 格式:DOCX 页数:17 大小:144.25KB
下载 相关 举报
C语言课程设计背单词Word文件下载.docx_第1页
第1页 / 共17页
C语言课程设计背单词Word文件下载.docx_第2页
第2页 / 共17页
C语言课程设计背单词Word文件下载.docx_第3页
第3页 / 共17页
C语言课程设计背单词Word文件下载.docx_第4页
第4页 / 共17页
C语言课程设计背单词Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言课程设计背单词Word文件下载.docx

《C语言课程设计背单词Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计背单词Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

C语言课程设计背单词Word文件下载.docx

a)文件的存取

b)结构体的使用

c)数组的使用

d)指针操作

一、开题报告

1:

变量和结构体说明

1)单词信息的结构体如下:

typedefstructword

//单词的结构体

{

charen[MAX_CHAR];

//英文形式

charno[MAX_CHAR];

//中文形式

}word;

2)存放单词的信息的变量如下:

words[MAX_NUM];

//单词数组

intnum;

//单词个数

2:

概要设计

1)定义结构体数组用来存放单词的信息

2)单词信息存放在data.txt中,文件格式如下:

单词个数—长度为4个字节

第1个单词的信息-----长度为sizeof(word)

第2个单词的信息-----长度为sizeof(word)

第n个单词的信息-----长度为sizeof(word)

3)读文件data.txt的过程如下:

先读取单词个数,然后逐个读取单词的信息,采用fread函数

4)写文件data.txt的过程如下:

先写入单词个数,然后逐个写入单词的信息,采用fwrite函数

5)删除单词和修改单词信息的时候,都需要先输入英文,从该英文找到单词的位置

6)程序采用菜单的形式显示,用户可以输入选择进行操作

3:

树型结构模块图

功能模块图如下:

4课程流程图

5:

操作说明

1)本程序需要目录下存在“data.txt”文件

2)系统的菜单如下:

3)添加单词信息的功能操作方法如下:

4)删除单词信息的功能操作方法如下:

5)修改单词信息的功能操作方法如下:

6)显示单词背诵(中至英)功能操作方法如下:

7)显示单词背诵(英至中)功能操作方法如下:

6:

课程详细代码:

#include<

stdio.h>

string.h>

stdlib.h>

#defineMAX_CHAR20//最大字符

#defineMAX_NUM100//单词的最大个数

voidread_from_file()

//从文件中读取单词的信息

FILE*fp;

inti=0;

fp=fopen("

data.txt"

"

rb"

);

if(!

fp)

{

printf("

打开文件data.txt失败!

\n"

return;

}

fread(&

num,1,sizeof(num),fp);

//先读取单词的个数

for(i=0;

i<

num;

i++)

s[i],1,sizeof(word),fp);

//读取每个单词的信息存放到结构体

fclose(fp);

//关闭文件

}

voidwrite_to_file()

wb+"

fwrite(&

//先写入单词的个数

//写入每个单词的信息

voidadd_infor()//添加单词信息

inta,i=num;

请输入单词的英文形式:

"

scanf("

%s"

s[i].en);

请输入单词的中文形式:

s[i].no);

num++;

您输入的信息为:

英文:

%s中文:

%s\nEnter0继续输入;

Enter1返回主菜单"

s[i].en,s[i].no);

voiddel_infor()//删除单词信息

inti=0,j=0;

printf("

请输入你要删除的单词中文形式:

no);

i++)//先找到该中文形式对应的序号

if(strcmp(s[i].no,no)==0)

{

for(j=i;

j<

num-1;

j++)

s[j]=s[j+1];

num--;

//数量减少1

return;

}

没有这个单词!

EnterEnter1返回主菜单"

voidmodify_infor()//修改单词信息

请输入你要修改的单词中文形式:

printf("

请输入单词正确的英文形式:

scanf("

请输入此单词正确的的中文形式:

return;

voidshow_infor()

{inti=0;

单词:

英文中文\n"

%10s%10s\n"

printf("

voidsearch_infor()//查询单词

请输入你要查询的单词中文形式:

{

英文形式中文形式\n"

%10s%12s\n"

没有这个中文形式!

voidzy_infor()

{

charb1[20];

intz,d=0,c=0;

inti;

i=rand()%num;

【%s】请输入英文单词:

b1);

for(z=0;

strcmp(b1,s[i].en)!

=0;

z=z)

{printf("

输入错误!

请重新输入:

scanf("

c=c+1;

\n恭喜你,回答正确,加10分!

\n\n"

d=d+1;

Enter2继续输入;

voidyz_infor()

intz,x=41,d=0,c=0;

【%s】请输入中文意思:

strcmp(b1,s[i].no)!

\nEnter3继续输入;

voidchengji_infor()

intc,d;

\n共计输入错误:

%d次**每次扣10分**\n"

c);

共计输入正确:

%d次**每次加10分**\n"

d);

你的总得分为:

%d分\n\n"

10*d-10*c);

voidshow_main_menu()

######################################################\n"

\n"

背单词系统\n"

1、添加单词信息\n"

2、删除单词信息\n"

3、修改单词信息\n"

4、显示单词信息\n"

5、背诵(中至英)\n"

6、背诵(英至中)\n"

7、查询成绩\n"

8、退出\n"

//用户界面

请选择您需要的操作序号(1-8)按回车确认:

intmain()

inta,choose=0;

num=0;

//初始化单词个数为0

read_from_file();

//读取文件

show_main_menu();

%d"

&

choose);

while(choose!

=8)

switch(choose)

case1:

add_infor();

break;

case2:

del_infor();

case3:

modify_infor();

case4:

show_infor();

case5:

zy_infor();

case6:

yz_infor();

case7:

chengji_infor();

while(a<

10000){scanf("

a);

if(a==0){

write_to_file();

if(a==1)

write_to_file();

main();

if(a==2)

zy_infor();

if(a==3)

if(a>

3)

{break;

//写入文件

***************谢谢使用单词背诵系统!

再见!

***************\n"

getchar();

return1;

7:

心得体会

通过本次C语言课程设计,是我对C语言的文件的存取、结构体的使用、数组的使用和指针操作有了更深的理解。

还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。

每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。

有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。

这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向同学和老师请教。

尽管向其他人请教解决问题比较快,自己钻研花的时间较多,但我强迫自己独立的思考对我的学习提高帮助非常大。

系统测试达到了良好的效果,编程思路清晰,界面操作简单,功能比较完善,通过此次C语言课程设计,使我提高了编程的经验,为以后的学习打下了坚实的基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1