c语言课程设计报告.docx

上传人:b****7 文档编号:11328608 上传时间:2023-02-27 格式:DOCX 页数:21 大小:198.26KB
下载 相关 举报
c语言课程设计报告.docx_第1页
第1页 / 共21页
c语言课程设计报告.docx_第2页
第2页 / 共21页
c语言课程设计报告.docx_第3页
第3页 / 共21页
c语言课程设计报告.docx_第4页
第4页 / 共21页
c语言课程设计报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告.docx

《c语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告.docx(21页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告.docx

c语言课程设计报告

xxxxxx

 

课程设计报告

院(系):

__xxxxxxxxxxxxx_专业班级:

xxxxxxxxxx

学生姓名:

xxxxxxx学号:

xxxxxxxxxx

设计地点(单位)_____xxxxxxxxxxxxxxxxxxxxxxxxx_________

设计题目:

_____背单词_______________

完成日期:

年月日

指导教师评语:

_______________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):

________________

指导教师(签字):

________________

课程设计任务书

设计题目:

背单词

学生姓名

课程名称

C语言程序设计课程设计

专业班级

地点

起止时间

第19~20周

设计内容及要求

该系统是帮助学生背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让学生输入其英文意思,也可输出英文让学生输入中文意思。

并判定词义是否正确。

如不正确给出提示并要求用户重新输入。

如正确给以鼓励。

还应有词语预览功能。

基本功能:

(1)词库的维护。

(2)单词预览。

(3)显示英文用户输入中文的背诵方法。

(4)背诵成绩的记录。

设计

参数

进度

要求

第19周周一、周二:

讲解各任务相关基础知识、熟悉任务要求、软件框架设计

第19周周三~第20周周二:

程序编码

第20周周三、四:

撰写课程设计报告

第20周周五:

答辩及上交作品

参考资料

[1]《C程序设计》(第三版).北京:

清华大学出版社,2009

[2]《C语言课程设计指导书》(内部资料)

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

摘要

在信息飞速发展的今天,掌握一门计算机语言刻不容缓,C语言是在国内外使用广泛的一种计算机语言,既有高级语言的优点,又有低级语言的许多特点,所以特别适合于编写系统软件,被大众所喜爱。

这个迷你背单词系统有三个主要功能,分别是单词录入、单词预览和单词测试,单词录入可任意录入原来系统没有的单词,预览系统可以在学习时候遇到不懂的单词进行查询,通过单词预览还可以学习背诵单词,对学习英语有很大的好处,测试系统则是检验自身英语水平最好的方法。

关键词:

背单词录入系统预览系统测试系统

 

目录

1设计题目的内容、任务及具体要求1

1.1内容1

1.2我的任务1

1.3要求1

2总体设计思路2

2.3总程序图3

3功能模块的具体设计4

3.1各个模块的操作方法4

3.2代码的分析说明4

3.3单词录入系统流程图5

4功能模块的调试及测试6

4.1功能模块的测试6

4.2程序的调试11

5总结13

致谢14

参考文献15

程序清单16

 

1设计题目的内容、任务及具体要求

1.1内容

该系统是帮助学生背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让学生输入其英文意思,也可输出英文让学生输入中文意思。

并判定词义是否正确。

如不正确给出提示并要求用户重新输入。

如正确给以鼓励。

还应有词语预览功能。

基本功能:

a)词库的维护(单词录入)。

b)单词预览。

c)显示英文用户输入中文的背诵方法。

d)背诵成绩的记录。

1.2我的任务

用C语言编写一个关于对词库的维护,也就是如何把新单词录入系统中去。

能把单词录入到预先建立的文本文档中,紧密联系预览与测试系统。

1.3要求

(1)在录入的新单词时,提示要输入中文与英文。

(2)能自动把新单词保存在预先建立的txt文档中去。

(3)新单词可以应用到各个系统中,比如预览和测试系统,与各个系统紧密联系。

 

2总体设计思路

2.1系统功能

我们这个小组做的是被单词系统。

背单词系统有三个主要功能,分别是单词录入、单词预览和单词测试。

单词录入系统可任意录入新的单词,方便快捷;预览系统可以在学习时候遇到不懂的单词进行查询,对学习英语有很多大的好处;测试系统则是可以检查并提高自身英语水平的一个好系统。

2.2模块之间的主要关系

各个系统之间联系紧密,比如我设计的程序部分是单词录入,录入的单词可以再预览系统中应用,也可以应用再测试系统中,还有在测试中不懂单词意思的,也可以通过预览单词学习查询单词意思。

每个程序是息息相关的。

 

2.3总程序图

图2.1总程序图

3功能模块的具体设计

3.1各个模块的操作方法

操作方法

1录入单词

在主菜单中,选择对应系统的编号;进入该程序的子菜单,然后再选择录入单词的个数,先输英文再输中文;选择预览系统检查是否把单词录入到词库中去了。

2单词预览

在主菜单中,选择对应系统的编号,进入预览系统预览词库单词。

3单词测试

在主菜单中,选择对应系统的编号,进入单词测试系统,系统会给出一个英文让你输入中文意思,正确就会再给出其他单词进行测试,错误还可以重新输入,该程序对答对题目有记录,最后得到最终成绩。

4退出

在主菜单中,选择对应系统的编号,退出系统。

表1

3.2代码的分析说明

voidwtest();//单词测试函数

voidEnglish();//英译汉函数

voidyulan();//单词预览函数

voidluru();//录入单词函数

voidprint()//界面函数

FILE*fp;

fp=fopen("c:

\\ciku.txt","a+")作用是为了读写打开了一个文本文件《ciku》。

fclose(fp);关闭文件。

fprintf()的作用是整型变量和实型变量的值按某种格式输出到fp指向的文

件上。

for语句实现循环。

break语句可以使流程跳出switch结构,继续执行switch语句的下面的一个语句。

3.3单词录入系统流程图

图3.1单词录入系统流程图

 

4功能模块的调试及测试

4.1功能模块的测试

(1)我们这个小组做的是背单词系统,我做的是单词录入系统。

下面来介绍一下我的程序。

首先我们看到程序的主菜单如图4.1所示,输入2进入单词预览系统,预览词库的单词,这样做的目的是为了检查等下做的录入单词系统是否运行成功了。

图4.1

(2)如图4.2所示,进入到预览系统的界面,我们可以预览单词且看到最后的一个单词是“Saturday星期六”。

 

图4.2

(3)如图4.3所示,现在选择1进入单词录入系统。

图4.3

 

(4)如图4.4所示,进入了单词录入的子菜单,然后根据提示选择要录入的单词个数。

图4.4

(5)如图4.5所示,选择录入一个单词,先输入英文,然后再输入中文。

 

图4.5

(6)如图4.6所示,自动返回到主菜单,然后选择2单词预览系统,检查是否把单词录入到词库中去。

 

图4.6

(7)如图4.7所示,显然,刚才把录入的新单词“studious勤奋的”成功的添加到了词库中去,说明该程序运行成功了。

图4.7

(8)现在还可以任意选择进入哪个系统或是退出,简便又快捷。

4.2程序的调试

编写最重要的一个部分是对程序的调试,以下是一些对主要步骤:

voidluru()//单词录入系统

{

system("cls");

printf("****************************************\n");

printf("**********欢迎进入单词录入系统**********\n");

printf("****************************************\n");

inti,n;

printf("请输入你要输入的单词个数:

\n");

scanf("%d",&n);

FILE*fp;

for(i=0;i

{

printf("请输入单词:

\n");printf("英文:

");

scanf("%s",ciku[i].english);

printf("中文:

");

scanf("%s",ciku[i].chinese);

}

fp=fopen("c:

\\ciku.txt","a+");//单词写入文件

for(i=0;i

{

fprintf(fp,"%s%s\n",ciku[i].english,ciku[i].chinese);

}

fclose(fp);

print();

}

运行上述程序的时候,当进入该画面以后按回车键就直接退了出来,有明显的错误,后来经过认真研究才知道,在程序的后面少加了getchar(),getchar()的作用是把回车符去除,经过调试以后添加了函数getchar(),当加上该函数后

{

fprintf(fp,"%s%s\n",ciku[i].english,ciku[i].chinese);

}

fclose(fp);

getchar();

print();

}

再进行调试以后程序没有了错误,程序运行通畅无比,那是柳暗花明又一村的感觉啊!

 

5总结

在大学以前我从来就没见过C语言,这东西对我来说是十分陌生的。

刚开始学C语言,感到每天都在云里雾里飘着,感觉对这个东西真的好难入手。

但学了一段时间后逐渐对C语言有了认识,并能进行简单操作。

现在我们又要开始进行课程设计,顿时有点蒙了,不过我不会放弃,万事开头难,只要我找到方法,我一定可以的。

刚开始编程时,那个“error”啊,错得那是一大堆啊,于是我开始了漫长而繁琐的地毯式搜查,等到做出来那一刻的感觉,那真是无法用言语形容。

最后在我们整个团队的团结合作下,终于一个程序浮出了水面!

我们终于完成了,真高兴啊!

其实程序本身并没有其他人说的那么麻烦,但真正做起来需费些工夫。

就我这个平常上课认真听老师讲课。

我们得有不懈追求的精神,精益求精的追求,不断完善的理念,对理想崇高的追求,有一种不完成誓不罢休的精神。

终于,在一次又一次的被退回的过程中,我终于明白了一个人生的至理——没有最好,只有更好,没有最复杂,只有更复杂,没有最后的难题,只有下一个难题,没有一文不值,只有一钱不值。

此次课程设计重在检测对C程序的应用,通过此次课程设计找出了自身许多的不足,明白了学习基础的重要性,平时一般是看书本内容,缺少了自身的实践,要把理论与实践相结合,那么才能达到最好的效果,既能学得更多,又能加深巩固知识,一举两得。

要完成一个优秀的程序,必须熟练掌握各种语句的特点及用法,要学会举一反三,充分实现C程序的灵活性。

在平时的学习实践中,要不断开动脑筋,活学活用。

要发扬团体合作的精神,互帮互助,共同进步。

善于发问,善于思考。

遇到不明白的先自己看书,一边学习一边琢磨,然后再多加调试,如果做正确了成就感顿时油然而生,使自身充满自信,实在做不出来问老师或是同学,可以很快地解决问题,让你豁然开朗,但是得自己消化这些内容,消化以后就又学到了新方法新知识。

此次设计是在学习中实践,实践中去学习,不断实践不断学习,我们学习之路还很长很长,我们得脚踏实地,一步一个脚印,

最终定能成功。

致谢

感谢学校提供的优良的学习环境,感谢xxxxxxx老师的指导,老师的耐心讲解帮助我解决了许多的难点,也学到了更多的知识,也很感谢我们团队xxxx同学的帮助。

 

参考文献

[1]谭浩强著.C程序设计(第三版).北京:

清华大学出版社,2005

[2]谭浩强编著.C++程序设计.北京:

清华大学出版社,2004

 

程序清单

#include

#include

#include

#include

voidwtest();//单词测试函数

voidEnglish();//英译汉函数

voidyulan();//单词预览函数

voidluru();//录入单词函数

voidexit();//退出系统

structciku

{

charenglish[10];

charchinese[10];

}

ciku[100];

voidprint()//界面函数

{

charc;

printf("############欢迎您进入背单词系统#########\n");

printf("#############1、录入单词############\n");

printf("#############2、单词预览############\n");

printf("#############3、单词测试############\n");

printf("#############0、退出系统############\n");

printf("选择1.进入录入单词系统\n");

printf("选择2.进入单词预览系统\n");

printf("选择3.进入单词测试系统\n");

printf("选择0.退出系统\n");

printf("请输入您要进入的系统:

\n");

c=getchar();

switch(c)

{

case'1':

luru();break;

case'2':

yulan();break;

case'3':

getchar();wtest();break;

case'0':

exit();break;

}

}

voidexit()

{system("cls");

printf("*********您已成功退出系统**********\n");

printf("***********欢迎再次使用************\n");

printf("***************再见****************\n");

exit(0);

}

voidluru()//单词录入系统

{system("cls");

printf("****************************************\n");

printf("**********欢迎进入单词录入系统**********\n");

printf("****************************************\n");

inti,n;

 

printf("请输入你要输入的单词个数:

\n");

scanf("%d",&n);

FILE*fp;

for(i=0;i

{

printf("请输入单词:

\n");//输入单词

printf("英文:

");

scanf("%s",ciku[i].english);

printf("中文:

");

scanf("%s",ciku[i].chinese);

}

fp=fopen("c:

\\ciku.txt","a+");//单词写入文件

for(i=0;i

{

fprintf(fp,"%s%s\n",ciku[i].english,ciku[i].chinese);

}

fclose(fp);

getchar();

print();

}

voidyulan()//单词预览系统

{

system("cls");

inti;

FILE*fp;

fp=fopen("c:

\\ciku.txt","r");

for(i=0;i<100;i++)

{

fscanf(fp,"%s%s",ciku[i].english,ciku[i].chinese);

printf("%s%s\n",ciku[i].english,ciku[i].chinese);

}

fclose(fp);

getchar();

print();

}

voidwtest()

{

system("cls");//单词测试系统

charch;

printf("****************************************\n");

printf("**********欢迎进入单词测试系统**********\n");

printf("****************************************\n");

printf("请选择单词测试模式:

\n");

printf("\t1英译汉\n");

printf("\t2退出\n");

ch=getchar();

switch(ch)

{

case'1':

English();break;

case'2':

exit();break;

}

}

voidEnglish()//英译汉函数

{

system("cls");

printf("###########欢迎进入单词测试--英译汉系统###########\n");

printf("如果要退出请直接输入#!

\n");

FILE*fp;

fp=fopen("c:

\\ciku.txt","r");

charChin[10];

intt=0,n=0,f=0,w=0,x;

{

srand(time(0));//随机产生一个整数

x=rand()%5;

for(n=0;n<10;n++)

{

fscanf(fp,"%s",ciku[x].english);

fscanf(fp,"%s",ciku[x].chinese);

printf("%s\n",ciku[x].english);

printf("请您输入其汉语意思:

\n");

scanf("%s",Chin);

if(strcmp(Chin,"#")==0)break;

if(strcmp(ciku[x].chinese,Chin)==0)

{

printf("恭喜您,答对了!

请继续测试!

\n");

t++;//答对的题的个数

x=++x%5;//随机产生一个单词

else

{

printf("答案有误,请重新输入:

\n");

scanf("%s",Chin);

if(strcmp(ciku[x].chinese,Chin)==0)

{

printf("恭喜您,答对了!

请继续测试.\n");

t++;

x=++x%5;

}

else

{

printf("答案有误,请继续努力!

\n");

printf("正确答案是:

%s\n",ciku[x].chinese);

f++;

x=++x%5;

}

}

}

}

printf("您答对了%d道题\n",t);

getchar();

print();

}

voidmain()

{

system("color29");

print();

}

 

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

当前位置:首页 > 求职职场 > 笔试

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

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