C语言课程设计报告电子生词库软件
毕业设计c语言课程设计

毕业设计c语言课程设计一、课程目标知识目标:1. 理解C语言在毕业设计中的应用场景,掌握C语言的基本语法和编程技巧。
2. 学会使用C语言进行数据结构的设计与实现,如链表、树、图等。
3. 掌握C语言在嵌入式系统、算法竞赛等领域的实际应用。
技能目标:1. 能够运用C语言编写具有实际意义的程序,解决实际问题。
2. 能够分析并优化C语言程序的运行效率,提高编程质量。
3. 培养良好的编程习惯,编写规范、易读、高质量的C语言代码。
情感态度价值观目标:1. 培养学生积极主动探索新知识的精神,提高学生的自主学习能力。
2. 增强学生的团队协作意识,培养良好的沟通与协作能力。
3. 使学生认识到C语言在计算机科学领域的重要地位,激发学生对编程的兴趣。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为毕业设计前的预备课程,旨在帮助学生掌握C语言编程技能,为毕业设计奠定基础。
2. 学生特点:学生已具备一定的计算机基础,了解编程基本概念,但实际编程能力较弱,需要加强实践操作。
3. 教学要求:注重理论与实践相结合,强调实际编程能力的培养,以项目驱动教学,提高学生的实践操作能力。
1. 独立完成C语言基础语法的学习,并能运用所学知识编写简单程序。
2. 掌握常见数据结构在C语言中的实现与应用,能够解决实际问题。
3. 编写具有一定规模的C语言项目,具备初步的软件设计能力。
4. 养成良好的编程习惯,具备团队协作能力和沟通能力。
二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制语句(顺序、选择、循环)、函数、数组、指针。
2. 常见数据结构:链表、栈、队列、树(二叉树、查找树)、图(邻接矩阵、邻接表)。
3. 编程技巧与优化:算法复杂度分析、递归与迭代、内存管理、程序调试与优化。
4. C语言项目实践:学生信息管理系统、简易计算器、文件压缩与解压缩、小型游戏等。
5. 教学内容安排与进度:- 第一周:C语言概述、基础语法、数据类型与运算符。
软件工程c语言课程设计

软件工程c语言课程设计一、教学目标本课程旨在通过软件工程的角度,深入浅出地介绍C语言的核心概念、编程技巧和软件开发流程。
通过本课程的学习,学生将掌握C语言的基础语法、数据结构、算法以及软件工程的基本原则。
•理解C语言的基本语法和结构。
•掌握常用的数据结构和算法。
•了解软件工程的基本原则和流程。
•能够使用C语言编写简单的程序。
•能够运用数据结构和算法解决实际问题。
•能够独立完成小型软件项目的开发。
情感态度价值观目标:•培养学生的逻辑思维和问题解决能力。
•培养学生的团队合作意识和沟通能力。
•培养学生的创新精神和对软件工程的职业热情。
二、教学内容本课程的教学内容将按照软件工程的理念和C语言的特点进行。
首先,学生将学习C语言的基本语法和结构,包括数据类型、运算符、控制结构等。
然后,学生将学习常用的数据结构和算法,如数组、链表、排序等。
最后,学生将学习软件工程的基本原则和流程,包括需求分析、设计、实现和测试等。
具体的教学大纲如下:1.C语言基础:介绍C语言的基本语法和结构,包括数据类型、运算符、控制结构等。
2.数据结构和算法:介绍常用的数据结构和算法,如数组、链表、排序等,并通过实例进行讲解和练习。
3.软件工程原理:介绍软件工程的基本原则和流程,包括需求分析、设计、实现和测试等,并通过实际项目进行实践。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
首先,将采用讲授法,系统地介绍C语言的基本语法和结构,数据结构和算法,以及软件工程的基本原则和流程。
其次,将采用讨论法,鼓励学生积极参与课堂讨论,提出问题并解决。
此外,还将采用案例分析法,通过分析实际项目案例,使学生更好地理解和应用所学知识。
最后,将采用实验法,让学生通过实际编程和软件开发,巩固和提高所学知识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备适当的教学资源。
教材方面,选择权威、实用的C语言和软件工程方面的教材。
C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。
3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。
提高编写程序解决实际问题的能力、调试程序的技术。
三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。
主程序:新建:输入记录(遇#号时停止输入)。
插入:在指定位置插入记录。
显示:列出所有记录。
查询:一、按学号查询;二、按名字排序。
删除:一、按学号删除;二、按名字删除;3、删除所有记录。
排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。
保留:保留为任意名字,系统自动加后缀名为.txt。
读取:读取程序目录下的后缀名为.txt的文件。
退出:退出程序。
五、各功能模块的具体实现,用图表表示。
输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。
STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。
c语言课程设计报告

c语言课程设计报告c语言课程设计报告在现在社会,我们都不可避免地要接触到报告,报告成为了一种新兴产业。
那么报告应该怎么写才合适呢?以下是店铺收集整理的c语言课程设计报告,欢迎阅读与收藏。
c语言课程设计报告11、题目要求◆ 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、居住街道、省份、城市、电子邮箱等;◆ 能够提供添加、删除和修改通讯录信息的功能;◆ 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆ 将通讯录保存在文件中;◆ 能够按表格方式输出通讯录信息。
2、需求分析本程序将用到文件系统,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
3、总体设计根据项目的任务要求及以上分析,在设计方法上,采用模块化的程序设计思想,即将通讯录管理系统划分为数据输入模块,数据查询模块,数据修改模块,数据插入模块,数据删除模块,,并对每个模块按照其功能分别独立完成对应的程序设计。
在数据处理上,各模块中的数据处理(如数据读/写操作)均用文件形式来实施,并在主程序中完成操作界面的设计功能,设计思路如下:1、采用模块设计思想;2、将通讯录信息定义成结构体类型,并通过文件实施数据操作;3、通过设计一菜单界面完成具体操作。
4、详细设计c语言课程设计报告2一、传统C语言课程设计教学模式C语言是最基本的计算机编程,是计算机、电子信息类等相关专业学生的专业入门课,在其学习过程中,要求必须掌握编程的技能。
但是C语言的学习有其特点,规则比较多、知识点多,涉及到的编程程序等也比较难懂,在运行上代码的要求较高,程序执行效率高,因此更讲究教学和学习的方式方法,但是在我们的教学中,目前教学方法比较单一,随着信息化的发展,传统的教学模式已经无法适应,亟需改革。
C语言课程设计 仓库管理系统

《C语言程序设计》实训报告实训题目:仓库管理系统专业:班级:姓名:成绩:一:需求分析1:问题该系统所应包含的信息有以下一些:产品,仓库。
根据需求,该系统所应实现的功能有以下一些:输入密码进入操作界面产品入库,产品出库。
查询指定仓库编号的入库记录查询指定产品编号的入库记录查询指定入库时间的入库记录查询指定仓库编号的出库记录查询指定产品编号的出库记录查询指定出库时间的出库记录查询仓库中的产品是否过期可以在操作过程中修改密码2、系统采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。
3.运行要求1)可以进行随便操作,不受限制。
2)界面友好,操作方便,例如在进行产品出入库和查询时有提示操作。
二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程2.系统模块设计如下,有三大基本功能:1.出库2.入库3.查询三:总体思路菜单显示:实现操作某功能时有相应的提示。
功能选择:每一种功能用相应的操作数字相对应。
产品出入库:在原有链表的基础上进行插入操作。
查询记录:调用对应的查询函数来实现。
四:详细设计1:定义结构体变量日期:struct warehouse{int wnum;char wname[20];char changename[20];}wh[5];产品:struct product{int pnum;char pname[20];char norms[10];}pr[10];链表:struct manage{int wnum;int pnum;char data[15];int number;int operate;struct manage *next;};为了能实现不受限制的产品出入库,采用链表的结构保存产品的信息,在增加产品出入库时,创建一个新的节点,将其插入到链表中,示意图如下。
2:模块化设计进入设计:以输入密码的方式进入,最多可输入三次,如果第三次输入错误,系统将自动退出。
C语言课程设计--背单词系统的程序代码

综合性程序设计报告设计题目:背单词系统指导教师:班级:学号:设计者:成绩:设计时间:2010年5月27日目录1 题目描述 (3)2 变量、函数和结构体说明 (4)3 树形结构图 (5)4 用户操作说明 (6)5 代码 (8)6设计体会 (12)1 题目描述该系统是帮助学生背诵单词的软件,有词语预览功能;用户可以编辑自己的词库,即可增加或删除单词;系统可以进行测试,即给出中文,让学生输入其英文,每十个单词一组,测试结束能够显示成绩,即单词的正确个数;能够输入中文或英文进行单词的查询。
基本功能:词库的增加或删除;单词预览;显示中文用户输入英文进行测试;用户输入中文或英文进行单词的查询。
2变量、函数和结构体说明(1)关键变量说明int x 结构体数组中元素的数目 int n 测试时单词的正确个数int a 进行菜单选择int m 进行菜单选择(2)函数定义说明void foresee(); 单词预览及进行测试int intest(); 产生随机单词以进行测试void test2(int n); 测试单词的成绩void testchinese(); 测试单词void translation(); 单词查询void EtoC(); 输入单词,查询意思void CtoE(); 输入中文,查询单词void word_add(); 单词添加void word_delete(); 单词删除(3)结构体说明struct words 单词结构体定义{char eword[20]; 单词char cixing[10]; 词性char chinese[50]; 意思}struct words bank[SIZE] 定义数组结构体,存储单词3 树形结构图4 用户操作说明运行程序后进行选择选择1.单词预览是否要运行测试功能?Y\N输入Y:进行单词测试输入N:返回主菜单选择2.英汉互译1.英译汉2.汉译英3.返回上级菜单选择3.单词添加选择4.单词删除选择5.退出系统5 代码程序如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<time.h>#define SIZE 50 //定义词库单词数量void foresee(); //单词预览及进行测试int intest(); //产生随机单词以进行测试void test2(int n); //测试单词的成绩void testchinese(); //测试单词void translation(); //单词查询void EtoC(); //输入单词,查询意思void CtoE(); //输入中文,查询单词void word_add(); //单词添加void word_delete(); //单词删除struct words{char eword[20];char cixing[10];char chinese[50];}; //单词结构体定义int x;struct words bank[SIZE]={{"aspect","n.","方面,朝向,样子"},{"according","ad.","依照"},{"accustomde","a.","惯常的,习惯的"},{"basis","n.","基础,根据,原则"},{"confidence","n.","信心,信任"},{"dismiss","vt.","不再考虑,解散"},{"economy","n.","经济,节约,节省"},{"fatal","a.","致命的,命运的"},{"global","a.","全球的,总的"},{"helpful","a.","给予帮助的,有用的"},{"impose","vt.","把……加强,征"},{"largely","ad.","大部分,大量的"},{"mystery","n.","神秘,神秘的人或事"},{"nuclear","a.","核子的,核能的"},{"obtain","v.","获得,通用"},{"occasion","n.","场合,时刻"},{"particularly","ad.","尤其,特别"},{"patient","a.","忍耐的,有耐心的"},{"railway","n.","铁路"},{"reaction","n.","反应,反作用"},{"remote","a.","遥远的,偏僻的"},{"selection","n.","选择,挑选"},{"setting","n.","环境,背景"},{"shrink","v.","起皱,收缩"},{"translation","n.","翻译,译文"},{"troublesome","a.","令人烦恼的,麻烦的"},{"undergo","vt.","经历,经受"},{"unlike","prep.","不像"},{"volunteer","n.","志愿者"},{"virtue","n.","善,美德"},{"wideapread","a.","分布广泛的,普通的"},{"withdraw","v.","收回,撤回"},{"absence","n.","缺席,不在"},{"abstract","a.","抽象的,抽象派的"},{"bacteria","n.","细菌"},{"biology","n.","生物学,生态学"},{"characterize","vt.","成为…的特征"},{"debate","n.,vi.","争论,辩论"},{"display","vt.","陈列,展览"}};//词库void test2(int n) //测试单词的成绩{switch(n){case 0:case 1:case 2:case 3:printf("正确个数:%d \n还需努力!",n);getch();break;case 4:case 5:case 6:printf("正确个数:%d \n还不错哈!",n);getch();break;case 7:case 8:case 9:case 10:printf("正确个数:%d \nGreat!好样的!",n);getch();break;default:printf("系统故障!");getch();}}int intest() //产生随机单词以进行测试{srand( (unsigned)time( NULL ) );return (rand() %39+1);}void testchinese() //测试单词{int i,j=0,a;char word[30];for(i=0;i<10;i++){ a=intest();printf("%s\n请输入对应的单词:",bank[a].chinese);scanf("%s",word);if(strcmp(bank[a].eword,word)==0)j++;}test2(j);}void foresee() //单词预览及进行测试{int a;char ch;puts("单词词性意思");for(a=0;a<SIZE;a++)printf("%-16s %-8s %-20s\n",bank[a].eword,bank[a].cixing,bank[a].chinese);printf("是否要运行测试功能?N/Y\n");fflush(stdin);ch=getchar();if(ch=='y'||ch=='Y'){system("cls");testchinese();}}void EtoC() //输入单词,查询意思{char word[20];int i=0;puts("请输入您要查询的单词:");scanf("%s",word);while(strcmp(bank[i].eword,word)!=0&&i<SIZE)i++;if(i<SIZE)printf("\n该单词的中文意思为:%s",bank[i].chinese);else puts("抱歉,没有查到您要找的单词。
C语言电子词典

第一局部课程设计题目与要求21.问题描述22.功能要求23.大致任务分工2第二局部《电子生词库软件》的设计与功能实现31.总体设计:32.数据结构43.算法设计54.程序代码设计135.测试与调试15第三局部课程设计总结201.个人总结202.完毕语30附录Ⅰ程序清单31附录Ⅱ用户使用说明书47参考文献48第一局部课程设计题目与要求1.问题描述题目名称:电子生词库软件主要用途:解决学生查找单词的问题,提高查找单词的速度。
2.功能要求功能:(1)创建生词库。
用文件创建一个单词库,中英文单词均有,对于英语单词,给出中文解释,对于英文单词给出中文解释。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词是按字母小到大的顺序排列。
(3)编辑词库。
首先确认密码后才允许添加新词、删除旧词、修改旧词。
(4)查找生祠。
显示所要查找的单词和其含义。
(5)实现创新功能。
此项功能学生自由发挥,根据本组爱好增加与此题目相关的新功能。
3.大致任务分工彭霜辰:4查找生词、3编辑词库、5创建新功能、0退出系统。
X轩:1创建生词库、2显示词库。
X鑫:1创建生词库、编辑实训报告。
第二局部《电子生词库软件》的设计与功能实现1.总体设计:主菜单2.数据结构1.结构体变量struct word{char ch[30];char en[30];};定义一个词库的结构体。
struct word pers[N];各个单词信息的输入。
struct word* pword;struct word tempword;struct word word_list[N]2.无参数的函数:int mainmenu();主菜单名称。
int showmenu();显示菜单函数。
int editmenu();显示词库内容,功能是全部显示,显示中文或英文。
int createfile();创建生词库函数。
int wordadd();编辑词库中的添加,功能是添加新词。
C语言课程设计成果

C语言课程设计成果一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程技巧,培养学生运用C语言解决实际问题的能力。
具体来说,知识目标包括:了解C语言的历史和发展,熟悉C语言的基本数据类型、运算符、控制语句、函数等语法知识;技能目标包括:能够使用C语言编写简单的程序,具备基本的编程能力和问题解决能力;情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情,提高学生动手实践的能力,培养学生的团队协作意识和创新精神。
二、教学内容本节课的教学内容主要包括C语言的基本语法和编程技巧。
具体安排如下:首先,介绍C语言的历史和发展,使学生对C语言有一个整体的认识;其次,讲解C语言的基本数据类型、运算符、控制语句、函数等语法知识,让学生掌握C语言编程的基本方法;最后,通过实例分析,使学生了解如何运用C语言解决实际问题。
三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式。
首先,采用讲授法,向学生讲解C语言的基本语法和编程技巧;其次,运用讨论法,引导学生分组讨论实际编程问题,培养学生解决问题的能力;再次,采用案例分析法,通过分析典型实例,使学生掌握C语言在实际问题中的应用;最后,利用实验法,让学生动手编写程序,巩固所学知识,提高编程能力。
四、教学资源为了支持本节课的教学,我们将准备以下教学资源:教材《C语言程序设计》,供学生学习和参考;参考书《C语言编程实例解析》,为学生提供更多的编程实践案例;多媒体教学课件,辅助讲解C语言的基本语法和编程技巧;在线编程平台,让学生实时测试和调试程序;实验设备,包括计算机、编程环境等,为学生提供动手实践的机会。
五、教学评估本节课的教学评估将采用多元化的评价方式,以全面、客观、公正地评价学生的学习成果。
评估主要包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评价学生的学习态度和积极性。
2.作业:布置适量的课后作业,让学生巩固所学知识,通过批改作业了解学生的掌握情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础实训任务书题目:电子生词库软件学生姓名:学号:班级:题目类型:软件工程(R)指导教师:一、设计目的1.进一步掌握和利用C语言进行程序设计的能力;2.进一步理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写实训开发文档的能力(书写实训报告);二、设计任务及内容根据需要,建立属于自己的生词库,这样使用起来很方便。
生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。
功能要求:(1)创建生词库。
用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。
(3)编辑词库。
首先确认密码后允许添加新词、删除旧词和修改旧词。
(4)查找生词。
显示所要查找的单词其及含义主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。
从子菜单可以返回主菜单。
三、设计要求1.用C语言实现系统;2.系统具有统计、查询、排序等基本功能;3.系统的各个功能模块要求用函数的形式实现;4.文档:实训说明书每个学生一份,并装在统一的资料盒中;5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。
四、提交的成果1. 设计任务书一份(学校统一格式)2. 设计说明书一份,内容包括:1) 中文摘要100字,关键词3-5个。
2) 实训题目、内容、要求。
3)总体设计(包含几大功能模块)。
4)详细设计(各功能模块的具体实现算法——流程图)5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
6)调试分析(包含各模块的测试用例,及测试结果。
)7)总结(实训完成了哪些功能,还有哪些地方需要改进,及通过实训有何收获,调试程序的体会等)8) 参考文献、致谢等。
五、主要参考资料1. 王连相《C/C++程序设计》武汉大学出版社2.谭浩强《C语言程序设计(第2版)学习指导》清华大学出版社3. 杨莉,龚义建《C语言程序设计实训指导教程》华中科技大学出版社4. 张小东,郑宏珍《C语言程序设计与应用》人民邮电出版社5. 郭翠英《C语言课程设计案例精编》中国水利水电出版社6.郭有强《C语言程序设计》清华大学出版社7.李丹程,刘莹,那俊《C语言程序设计案例实践》清华大学出版社8.李丽娟《C语言程序设计教程》人民邮电出版社9.武雅丽,王永玲,解亚利《C语言程序设计》清华大学出版社六、各阶段时间安排(共1周)摘要C语言是一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
根据课程设计要求使用C语言设计了此电子生词库软件,使用较为简单方便。
该软件生词库为使用者本人创建,软件使用过程中可以进行词库的编辑维护。
生词库包含中英文单词,软件具有查找单词功能可以进行中英文单词的查找。
对于英文单词,给出中文解释,对于中文单词给出英文解释。
关键词:生词库;编辑;查找AbstractC language is a computer programming language.It has both the charac teristics of high-level language,but also has the characteristics of assembly l anguage.It can be used as system design language,preparation of system a pplications,but also can be used as a programming language,the applicatio n writing does not rely on computer hardware.Therefore,its application ra nge isextensive.According to the design requirements for the use of C lang uage to design the electronic machine software,the use is simple and convenient.The software for the user lexicon creation , software process can be thes aurus edit and maintenance. Students in the English lexicon contains words,so ftwarehas to find words to search for words in english.For English words,give n the Chinese explanation,for Chinese word given Englishinterpretation. Keywords:edit;lookup;dictionary目录1概述 (1)1.1 题目内容 (1)1.2 要求 (1)1.3 设计目的 (2)2 总体设计 (3)3 详细设计 (6)3.1 创建函数 (6)3.2 显示函数 (9)3.3 编辑函数 (11)3.4 查找函数 (14)4调试与测试 (18)4.1 创建英文词库 (18)4.2 创建中文词库 (19)4.3 显示所有单词 (20)4.4 显示中文单词 (21)4.5 显示英文单词 (22)4.6 查找英文单词 (23)4.7 查找中文单词 (24)4.8 退出程序 (25)5结论 (26)参考文献 (27)致谢 (28)1概述1.1 题目内容C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
运用C语言,设计编写一个电子生词库软件。
该生词库软件可根据使用者需要,建立属于使用者自己的生词库,生词库软件使用过程中应简单易用。
生词库中生词选自本人经常需要使用的单词。
在生词库软件中对于英语单词,给出中文含义,对于中文单词给出英文含义。
1.2 要求(1)创建生词库。
用文件建立一个单词库,中英文单词均有,对于英语单词,给出中文含义,对于中文单词给出英文含义。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大的顺序排列。
(3)编辑词库。
首先确认密码,后允许添加新词,删除旧词和修改旧词。
(4)查找生词。
显示所要查找的单词及其含义。
主菜单和子菜单能够循环出现,每一项菜单执行后,询问用户是否继续进行。
从子菜单可以返回主菜单。
在主菜单中选择0:显示结束信息。
按任意键后退出主序。
1.3 设计目的1.进一步掌握和利用c语言进行程序设计的能力;2.进一步理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写实训开发文档的能力(书写实训报告);C语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
C语言的表现能力和处理能力极强。
它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX、windows 98.windows NT;也适用于多种机型。
C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
C语言具有很多特点,如简洁紧凑、灵活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。
把高级语言的基本结构和语句与低级语言的实用性结合起来。
C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单位。
运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C 语言的运算类型极其丰富,表达式类型多样化。
灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
通过上机训练,更加深刻的理解C语言中的知识点,加深对课堂讲授内容的理解更好的了解了一些关于C语言的知识,理解巩固了C语言的理论知识。
学习上机调试程序熟悉程序开发环境、学习计算机系统的操作方法。
2 总体设计该程序采用模块化设计,主要分为主模块,创建生词库模块,编辑词库模块,显示词库模块,查找生词模块。
用户通过主模块对其余各模块进行调用,实现软件功能。
图2.1 程序模块关系图主模块具备显示主菜单功能,用户对主菜单提供的功能进行选择后,主模块调用所需功能模块,实现相应功能,如图2.2 所示。
图2.2 主模块函数调用图void main(){int choose;while(1){printf(" |------------------------------------|\n");printf(" | 请输入选项编号(0--4)|\n");printf(" |------------------------------------|\n");printf(" | 1--创建生词库|\n");printf(" | 2--显示词库|\n");printf(" | 3--编辑词库|\n");printf(" | 4--查找生词|\n");printf(" | 0--退出系统|\n");printf(" |------------------------------------|\n");printf("请输入选项\n");scanf("%d",&choose);if(choose>5||choose<0){printf("输入错误,请重新输入");continue;}switch(choose){ case 1:CJ();;break;case 2:XSCK();break;case 3:BJCK();;break;case 4:CZCC();break;case 0:exit(0);default:printf("非法输入!"); }}3 详细设计主函数主要功能为调用各功能模块,功能模块共四个,分别为创建生词库模块,编辑词库模块,显示词库模块及查找生词模块。