C语言实训报告(5)

2018-12-19 22:23

flag作为标记。

4.程序代码设计

void mycreate() /*定义创建生词库函数*/ { int i=1;

struct word temp={0}; FILE*fp=NULL;

fp=fopen(\

if(fp==NULL)

{ printf(\打开文件失败!\\n\

system(\请输入第1个记录:\\n\ printf(\单词(#结束输入):\ gets(temp.w);

printf(\解释(#结束输入):\ gets(temp.t);

printf(\词性(#结束输入):\ gets(temp.s);

printf(\汉字英译(c)还是英文汉译(e)?(#结束输入):\ gets(temp.d);

while(temp.w[0]!='#'&&temp.t[0]!='#'&&temp.s[0]!='#'&&temp.d[0]!='#')

{ fprintf(fp,\ i++; printf(\请输入第%d个记录:\\n\ printf(\单词(#结束输入):\ gets(temp.w);

printf(\解释(#结束输入):\ gets(temp.t); printf(\词性(#结束输入):\

gets(temp.s); printf(\汉字英译(c)还是英文汉译(e)?(#结束输入):\ gets(temp.d); }

fclose(fp); }

void mydisplay() /*定义显示函数*/ { char key,yes_no;

do

{ menu();

- 21 -

key=getch(); printf(\ switch(key) {

case '1': displaya(); break; case '2': displayb(); break; case '3': displayc(); break; case '4': return; case '0': exit(0);

default :printf(\为非法选项\\n\ } printf(\要继续选择吗(Y/N)?\\n\ do

{ yes_no=getch(); }while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');

}while(yes_no=='Y'||yes_no=='y'); }

void mysearch() /*定义查找生词函数*/ { int flag=0,n=0; char tempw[10]=\ struct word temp; FILE *fp=NULL;

fp=fopen(\ if(fp==NULL)

{printf(\打开文件失败!\\n\

printf(\请输入要查找的英(中)文: \gets(tempw);

while(feof(fp)==0)

{ fscanf(fp,\ if(strcmp(tempw,temp.w)==0) { if(flag==0)

printf(\单词 解释 词性 \\n\ printf(\ flag=1; }

n++; }

if(n==0) printf(\文件中无记录!\\n \if(flag==0) printf(\查无此词!\\n\}

完整请参见附录A

- 22 -

5.测试与调试

测试数据类型 合法数据 测试数据 printf(\请输入第1个记录:\\n\printf(\单词(#结束输入):\gets(temp.w); while(feof(fp)==0) {fscanf(fp,\&temp.w,&temp.t,&temp.s,&temp.d); printf(\temp.t,temp.s,temp.d); 显示所有文件中的单词信息 屏幕显示所有单词的信息 预期结果 输入的单词在屏幕上出现 实测结果 屏幕显示该单词 非法数据 printf(\请输入要修改的单词:\getchar(); gets(tempw); puts(tempw); printf(\请输入要删除的单词:\getchar(); gets(tempw); puts(tempw); 输入并显示要修改的单词 所显示的单词第一个字母丢失 输入并显示要删除的单词 屏幕提示无此单词

第三部分:课程设计总结

1. 个人总结:

邹冬梅: 通过本次实训,我收获颇多。在本次编程中,我负责的事主函数和

编辑函数,编辑函数中包含了添加、删除以及修改函数。编写主函数比较顺利,在编写添加函数时,由于对文件的操作不太熟悉,出现了许多知识上的错误,后来通过看教材,错误都得到了纠正。但在运行时,输入的#号也显示出来了,经过老师的指点,我在printf函数前加了一个getchar(),后来,此函数很顺利的编写完了。在删除函数中,出现了一个特别怪的问题,当你输入要删除的单词时,系统提示没有此单词的记录,经过分析发现,原来是我在编写打开文件代码时多打了一个字母。在修改函数中也遇到了同样的问题,这都是由于粗心而导致的问题。通过这些错误的修改,我学会了用getchar。

在编写创新函数时,由于考虑不周到,创新功能中显示无法与前面的函数连接,导致后来大篇幅的修改前面编写的程序。例如:创新功能中要显示名词、副词、动词以及形容词,而开始创建的时候,我并没有对所创建的单词进行词性的区分,后来,我将创建函数进行了修改。在将所有函数进行组合之后,发现程序无法连续进行,而且运行结果不符合要求,后来我认认真真地将程序进行了调试,错误一个一个被解决,。之后,程序终于能够顺利运行。

- 23 -

本程序的编写,有很多不足的地方,可能有些功能不太全面也不太

完善。但我从中学到了很多,以后,我要把自己欠缺的知识点补习好,还要学会举一反三、融会贯通。最重要的是改掉粗心马虎、考虑不周的习惯。我想我以后会将此程序完善好,争取能够运用到生活中去。

缐珊珊: 通过这次c语言的实训让我对c 语言有了一个更深的认识,也从这次实

训中学到更多的东西,对平时在课堂实践不少的东西作了更深的了解,让我以后对c语言有了很浓的兴趣。每次运行程序的成功,让我对下面的题就充满信心。通过编写程序,我最终把最初的理论和知识转化为基本技能。在实训中体现了同学的强烈的学习愿望,大家一起学习可以取长补短,这些可以很好的在实训中长知识,提高我们的学习热情。试训中深切体会到了老师认真负责和同学组学方式给了我很多鼓励。我个人认为很多事情没做好,在实训中完成自我编程的题目比较少,自己也没有过多的尝试用自己的发让法去做一些题目,所以这一点我做的不好,但金后我会改进的,这些食物平时上课时更深层次的巨大收获。C语言以及各种编程序都讲究循序渐进的。做每个程序都需要从各个方面考虑藏能作出一个好的软件,最后是实现以及测试了。这项就需要一个人有程序逻辑思维,如果缺少一个这样的思维的话,很难完成实训的任务。运行程序时,发现有多处错误,总是缺乏耐心,一处一处得去改正,独立做事的能力有待提高,总之我要在c语言学习上不断努力,提高自己分信能力和解决问题的能力。

张晶: 通过本次实训实训我有的收获:对c语言有了一个更深的了解认识,以前

学的知识得到巩固,也尝试运行编程,每次运行程序成功,让我对下面的题就充满信心。通过自己独立编写程序,我最终把最初的理论知识转化为基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。按照实训计划安排与目的要求,我认为我还没有达到的实训目的有哪些?或者说,我有哪些方面还有欠缺?这次实训中,使我认识到自己还有很多的知识没学好,基础知识没理清。自己也不能独立编程,遇到一些小错误运行不出来,就叫老师过来帮忙,觉得有依赖性,以后要克服,尽量自己多尝试完成,学好这门课。

此次实训的特点是有序的学习,没有零碎的感觉;增加了动手的时间,使

动手能力得到了提高,编写c语言程序和分析c语言问题的能力提高了;老师与学生互相讨论,增进了师生之情;最后,实训组织安排充实有序,考勤考核真实准确,在实训中老师总是耐心的对同学们的提问给于及时地解答,虽然有好多的问题“很简单”,但老师也没有因此责怪我们,反而更加耐心、细心的为我们讲解,直到每位同学都能理解,并能够举一反三为止,因此实训能提起学生最大的兴趣。

最后感谢给于我无限支持与信任的老师与伙伴,王此后仍有机会在此种活

动中论元。

2.结束语

在此感谢给与我们无限帮助的老师,没有她的悉心指导我们不会将此程

序做完。也感谢机房的老师,没有他们的机器我们就没有了成功的来源。感谢各位同学,是他们的激励是我们奋起奋起再奋起。

- 24 -

附录A

#include #include #include #include #define N 100

struct word

{ char w[80];char t[100];char s[80];char d[10];}; void myprint(); void mycreate(); void mydisplay();

void menu(); /*被mydisplay调用*/ void displaya(); /*被mydisplay调用*/ void displayb(); /*被mydisplay调用*/ void displayc(); /*被mydisplay调用*/ void mysearch(); void myedit();

void mychoose(); /*被myedit调用*/ void myadd(); /*被myedit调用*/ void mydelete(); /*被myedit调用*/ void mymodify(); /*被myedit调用*/ void mysort();

void sortmenu(); /*被mysort调用*/ void myget1(); /*被mysort调用*/ void myget2(); /*被mysort调用*/ void myget3(); /*被mysort调用*/ void myget4(); /*被mysort调用*/ main()

{ char choose='\\0',yes_no='\\0'; do

{ myprint(); /* 显示菜单*/ printf(\

choose=getch(); switch(choose)

{ case '1': mycreate();break; /* 创建*/ case '2': mydisplay();break; /*显示 */ case '3': myedit();break; /* 编辑*/

case '4': mysearch();break; /* 查找*/ case '5': mysort();break; /* 创新*/

- 25 -


C语言实训报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新机封规格表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: