C语言程序课程设计任务书

  • c语言课程设计电子生词库
    • 一、设计目的
    • 二、设计任务及容
    • 三、设计要求
    • 四、提交的成果
    • 五、主要参考资料
    • 六、各阶段时间安排(共1周)
    • 目录
  • 1概述
    • 1.1 题目内容
    • 1.2 要求
    • 1.3 设计目的
  • 2 总体设计
  • 3 详细设计
    • 3.1 创建函数
    • 3.2 显示函数
    • 3.3 编辑函数
    • 3.4 查找函数
  • 4调试与测试
    • 4.1 创建英文词库
    • 4.2 创建中文词库
    • 4.3 显示所有单词
    • 4.4 显示中文单词
    • 4.5 显示英文单词
    • 4.6 查找英文单词
    • 4.7 查找中文单词
    • 4.8 退出程序
  • 总结
  • 致谢

c语言课程设计电子生词库

一、设计目的

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语言设计了此电子生词库软件,使用较为简单方便。该软件生词库为使用者本人创建,软件使用过程中可以进行词库的编辑维护。生词库包含中英文单词,软件具有查找单词功能可以进行中英文单词的查找。对于英文单词,给出中文解释,对于中文单词给出英文解释。
关键词:生词库;编辑;查找;

目录

                            目录1概述.........................................11.1 题目内容  ..........................11.2 要求   ..........................11.3 设计目的 ..........................22 总体设计   ..................................33 详细设计   ..................................63.1 创建函数 ..........................63.2 显示函数 ..........................93.3 编辑函数 .........................113.4 查找函数 .........................134调试与测试   .................................174.1 创建英文词库   .....................174.2 创建中文词库   .....................184.3 显示所有单词   .....................184.4 显示中文单词   .....................194.5 显示英文单词   .....................194.6 查找英文单词   .....................204.7 查找中文单词   .....................204.8 退出程序..........................21总结   .........................................22致谢   .........................................23参考文献 .....................................24

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 总体设计

该程序采用模块化设计,主要分为主模块,创建生词库模块,编辑词库模块,显示词库模块,查找生词模块。用户通过主模块对其余各模块进行调用,实现软件功能。

#mermaid-svg-uiDcdpSSs648gfKA .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-uiDcdpSSs648gfKA .label text{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .node rect,#mermaid-svg-uiDcdpSSs648gfKA .node circle,#mermaid-svg-uiDcdpSSs648gfKA .node ellipse,#mermaid-svg-uiDcdpSSs648gfKA .node polygon,#mermaid-svg-uiDcdpSSs648gfKA .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-uiDcdpSSs648gfKA .node .label{text-align:center;fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .node.clickable{cursor:pointer}#mermaid-svg-uiDcdpSSs648gfKA .arrowheadPath{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-uiDcdpSSs648gfKA .flowchart-link{stroke:#333;fill:none}#mermaid-svg-uiDcdpSSs648gfKA .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-uiDcdpSSs648gfKA .edgeLabel rect{opacity:0.9}#mermaid-svg-uiDcdpSSs648gfKA .edgeLabel span{color:#333}#mermaid-svg-uiDcdpSSs648gfKA .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-uiDcdpSSs648gfKA .cluster text{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-uiDcdpSSs648gfKA .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-uiDcdpSSs648gfKA text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-uiDcdpSSs648gfKA .actor-line{stroke:grey}#mermaid-svg-uiDcdpSSs648gfKA .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-uiDcdpSSs648gfKA .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-uiDcdpSSs648gfKA #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-uiDcdpSSs648gfKA .sequenceNumber{fill:#fff}#mermaid-svg-uiDcdpSSs648gfKA #sequencenumber{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA #crosshead path{fill:#333;stroke:#333}#mermaid-svg-uiDcdpSSs648gfKA .messageText{fill:#333;stroke:#333}#mermaid-svg-uiDcdpSSs648gfKA .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-uiDcdpSSs648gfKA .labelText,#mermaid-svg-uiDcdpSSs648gfKA .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-uiDcdpSSs648gfKA .loopText,#mermaid-svg-uiDcdpSSs648gfKA .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-uiDcdpSSs648gfKA .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-uiDcdpSSs648gfKA .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-uiDcdpSSs648gfKA .noteText,#mermaid-svg-uiDcdpSSs648gfKA .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-uiDcdpSSs648gfKA .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-uiDcdpSSs648gfKA .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-uiDcdpSSs648gfKA .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-uiDcdpSSs648gfKA .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .section{stroke:none;opacity:0.2}#mermaid-svg-uiDcdpSSs648gfKA .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-uiDcdpSSs648gfKA .section2{fill:#fff400}#mermaid-svg-uiDcdpSSs648gfKA .section1,#mermaid-svg-uiDcdpSSs648gfKA .section3{fill:#fff;opacity:0.2}#mermaid-svg-uiDcdpSSs648gfKA .sectionTitle0{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .sectionTitle1{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .sectionTitle2{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .sectionTitle3{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-uiDcdpSSs648gfKA .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .grid path{stroke-width:0}#mermaid-svg-uiDcdpSSs648gfKA .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-uiDcdpSSs648gfKA .task{stroke-width:2}#mermaid-svg-uiDcdpSSs648gfKA .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .taskText:not([font-size]){font-size:11px}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-uiDcdpSSs648gfKA .task.clickable{cursor:pointer}#mermaid-svg-uiDcdpSSs648gfKA .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-uiDcdpSSs648gfKA .taskText0,#mermaid-svg-uiDcdpSSs648gfKA .taskText1,#mermaid-svg-uiDcdpSSs648gfKA .taskText2,#mermaid-svg-uiDcdpSSs648gfKA .taskText3{fill:#fff}#mermaid-svg-uiDcdpSSs648gfKA .task0,#mermaid-svg-uiDcdpSSs648gfKA .task1,#mermaid-svg-uiDcdpSSs648gfKA .task2,#mermaid-svg-uiDcdpSSs648gfKA .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutside0,#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutside2{fill:#000}#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutside1,#mermaid-svg-uiDcdpSSs648gfKA .taskTextOutside3{fill:#000}#mermaid-svg-uiDcdpSSs648gfKA .active0,#mermaid-svg-uiDcdpSSs648gfKA .active1,#mermaid-svg-uiDcdpSSs648gfKA .active2,#mermaid-svg-uiDcdpSSs648gfKA .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-uiDcdpSSs648gfKA .activeText0,#mermaid-svg-uiDcdpSSs648gfKA .activeText1,#mermaid-svg-uiDcdpSSs648gfKA .activeText2,#mermaid-svg-uiDcdpSSs648gfKA .activeText3{fill:#000 !important}#mermaid-svg-uiDcdpSSs648gfKA .done0,#mermaid-svg-uiDcdpSSs648gfKA .done1,#mermaid-svg-uiDcdpSSs648gfKA .done2,#mermaid-svg-uiDcdpSSs648gfKA .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-uiDcdpSSs648gfKA .doneText0,#mermaid-svg-uiDcdpSSs648gfKA .doneText1,#mermaid-svg-uiDcdpSSs648gfKA .doneText2,#mermaid-svg-uiDcdpSSs648gfKA .doneText3{fill:#000 !important}#mermaid-svg-uiDcdpSSs648gfKA .crit0,#mermaid-svg-uiDcdpSSs648gfKA .crit1,#mermaid-svg-uiDcdpSSs648gfKA .crit2,#mermaid-svg-uiDcdpSSs648gfKA .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-uiDcdpSSs648gfKA .activeCrit0,#mermaid-svg-uiDcdpSSs648gfKA .activeCrit1,#mermaid-svg-uiDcdpSSs648gfKA .activeCrit2,#mermaid-svg-uiDcdpSSs648gfKA .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-uiDcdpSSs648gfKA .doneCrit0,#mermaid-svg-uiDcdpSSs648gfKA .doneCrit1,#mermaid-svg-uiDcdpSSs648gfKA .doneCrit2,#mermaid-svg-uiDcdpSSs648gfKA .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-uiDcdpSSs648gfKA .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-uiDcdpSSs648gfKA .milestoneText{font-style:italic}#mermaid-svg-uiDcdpSSs648gfKA .doneCritText0,#mermaid-svg-uiDcdpSSs648gfKA .doneCritText1,#mermaid-svg-uiDcdpSSs648gfKA .doneCritText2,#mermaid-svg-uiDcdpSSs648gfKA .doneCritText3{fill:#000 !important}#mermaid-svg-uiDcdpSSs648gfKA .activeCritText0,#mermaid-svg-uiDcdpSSs648gfKA .activeCritText1,#mermaid-svg-uiDcdpSSs648gfKA .activeCritText2,#mermaid-svg-uiDcdpSSs648gfKA .activeCritText3{fill:#000 !important}#mermaid-svg-uiDcdpSSs648gfKA .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-uiDcdpSSs648gfKA g.classGroup text .title{font-weight:bolder}#mermaid-svg-uiDcdpSSs648gfKA g.clickable{cursor:pointer}#mermaid-svg-uiDcdpSSs648gfKA g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-uiDcdpSSs648gfKA g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-uiDcdpSSs648gfKA .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-uiDcdpSSs648gfKA .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-uiDcdpSSs648gfKA .dashed-line{stroke-dasharray:3}#mermaid-svg-uiDcdpSSs648gfKA #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA .commit-id,#mermaid-svg-uiDcdpSSs648gfKA .commit-msg,#mermaid-svg-uiDcdpSSs648gfKA .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-uiDcdpSSs648gfKA g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-uiDcdpSSs648gfKA g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-uiDcdpSSs648gfKA g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-uiDcdpSSs648gfKA .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-uiDcdpSSs648gfKA .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-uiDcdpSSs648gfKA .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-uiDcdpSSs648gfKA .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-uiDcdpSSs648gfKA .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-uiDcdpSSs648gfKA .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-uiDcdpSSs648gfKA .edgeLabel text{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-uiDcdpSSs648gfKA .node circle.state-start{fill:black;stroke:black}#mermaid-svg-uiDcdpSSs648gfKA .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-uiDcdpSSs648gfKA #statediagram-barbEnd{fill:#9370db}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-state .divider{stroke:#9370db}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-uiDcdpSSs648gfKA .note-edge{stroke-dasharray:5}#mermaid-svg-uiDcdpSSs648gfKA .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-uiDcdpSSs648gfKA .error-icon{fill:#522}#mermaid-svg-uiDcdpSSs648gfKA .error-text{fill:#522;stroke:#522}#mermaid-svg-uiDcdpSSs648gfKA .edge-thickness-normal{stroke-width:2px}#mermaid-svg-uiDcdpSSs648gfKA .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-uiDcdpSSs648gfKA .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-uiDcdpSSs648gfKA .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-uiDcdpSSs648gfKA .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-uiDcdpSSs648gfKA .marker{fill:#333}#mermaid-svg-uiDcdpSSs648gfKA .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-uiDcdpSSs648gfKA {color: rgba(0, 0, 0, 0.75);font: ;}

主模块
创建生词库
编辑词库
显示词库
查找生词
写文件
写文件
显示所有单词
图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 详细设计

主函数主要功能为调用各功能模块,功能模块共四个,分别为创建生词库模块,编辑词库模块,显示词库模块及查找生词模块。

3.1 创建函数

创建函数功能为为用户创建生词库,并对存入单词进行存记录处理。存入单词按英汉单词及汉英单词进行保存。

图3.1 创建函数图
void CJ()//创建生词库
{char choice;fflush(stdin);printf("请输入创建的类型(E表示英汉,C表示汉英)\n");scanf("%c",&choice);switch(choice){case 'E':CJE();break;case 'e':CJE();break;case 'C':CJC();break;case 'c':CJC();break;default:printf("输入错误!\n");break;}}
void CJE()//创建英汉
{int i=0;char yn;struct English EH[M];FILE* fp;fp=fopen("c://english.txt","w");if(fp==NULL){printf("文件打开失败\n");return ;}printf("请输入英文单词:\n");scanf("%s",EH[i].word );printf("请输入中文的解释:\n");scanf("%s",EH[i].explain );fprintf(fp,"%10s%10s",EH[i].word ,EH[i].explain );printf(" 操作成功!你要继续吗?(Y/N)\n");fflush(stdin);yn=getchar();if(yn=='n'||yn=='N'){  fclose(fp);return;}if(yn=='y'||yn=='Y'){ while(1){i++;printf("请输入英文单词:\n");scanf("%s",EH[i].word );printf("请输入中文的解释:\n");scanf("%s",EH[i].explain );fprintf(fp,"%10s%10s",EH[i].word ,EH[i].explain );printf("操作成功!你要继续吗?(Y/N)\n");fflush(stdin);yn=getchar();if(yn=='n'||yn=='N')break;}}fclose(fp);return;
}

3.2 显示函数

显示函数主要功能为显示词库中单词,包含显示所有单词功能,显示英文单词功能,显示中文单词功能。

图3.2 显示函数图
void XSCK()//显示词库
{   fflush(stdin);char yn;int choose;do{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);switch(choose){ case 1:XSSY();break;case 2:XSZW();break;case 3:XSYW();break;case 4:return;case 0:exit(-1);default:printf("输入错误\n"); }fflush(stdin);printf("要继续显示吗(Y/N)?\n");yn=getchar();while(yn!='y'&&yn!='Y'&&yn!='N'&&yn!='n'){printf("要继续显示吗?请重新输入!\n");fflush(stdin);yn=getchar();};}while(yn=='Y'||yn=='y');}

3.3 编辑函数

编辑函数主要功能为对词库进行编辑维护,包含添加单词,修改单词,删除旧词功能。

图3.3 编辑函数图
void BJCK()//编辑词库
{char choice[20]="1111";char yn;char choice1[20];int count=0;int count1=0;int num=0;do{printf("快快输入密码:\n");scanf("%s",choice1);if(strcmp(choice,choice1)==0){count++;break;}else{count1++;printf("密码错误!请重新输入密码\n");}}while(count1<=3);if(count>0){int num;do{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",&num);switch(num){case 1:TJ();break;case 2:SC();break;case 3:XG();break;case 4:return;case 0:exit(0);}continue;}while(1);
}
}

3.4 查找函数

查找函数主要为查找单词功能,包含查找英文单词功能,查找中文单词功能。

图3.4 查找函数图
void CZCC()//查找生词
{char ch;fflush(stdin);printf("请选择选择查找的类型(E/C)\n");scanf("%c",&ch);if(ch=='e'||ch=='E')  cze();if(ch=='c'||ch=='C')  czc();
}
void cze()//查找英文{char word[20];char yn;struct Chinese dc[M];int n=0,i=0,k=-1;FILE* fp;if((fp=fopen("c:\\english.txt","r"))==NULL)printf("很不好意思,文件打不开!\n");
while(feof(fp)==0)
{  fscanf(fp,"%s%s",dc[n].word ,dc[n].explain );++n;  }
fclose(fp);
do
{printf("请输入你想要查找的单词!\n");fflush(stdin);gets(word);for(i=0;i<n;i++){if(strcmp(word,dc[i].word )==0){printf("该单词的英文释义是:%s\n",dc[i].explain );k=1;break;}}if(k<0)printf("没有该单词\n");printf("你想继续继续吗(Y/N)\n");fflush(stdin);yn=getchar();while(yn!='y'&&yn!='Y'&&yn!='N'&&yn!='n'){printf("要继续查找吗?请重新输入!\n");fflush(stdin);yn=getchar();};}while(yn=='Y'||yn=='y');
fflush(stdin);fclose(fp);
}
void czc()//查找中文
{char word[20];char yn;struct Chinese dc[M];int n=0,i=0,k=-1;FILE* fp;if((fp=fopen("c:\\chinese.txt","r"))==NULL)printf("很不好意思,文件打不开!\n");
while(feof(fp)==0)
{  fscanf(fp,"%s%s",dc[n].word ,dc[n].explain );++n;  }
fclose(fp);
do
{printf("请输入你想要查找的单词!\n");fflush(stdin);gets(word);for(i=0;i<n;i++){if(strcmp(word,dc[i].word )==0){printf("该单词的英文释义是:%s\n",dc[i].explain );k=1;break;}}if(k<0)printf("没有该单词\n");printf("你想继续继续吗(Y/N)\n");fflush(stdin);yn=getchar();while(yn!='y'&&yn!='Y'&&yn!='N'&&yn!='n'){printf("要继续查找吗?请重新输入!\n");fflush(stdin);yn=getchar();};
}while(yn=='Y'||yn=='y');
fflush(stdin);
fclose(fp);
}

4调试与测试

对生词库软件所有功能进行测试,以检验生词库软件是否可靠,是否可以良好运行。

4.1 创建英文词库

运行程序后使用建立生词库功能,以英文单词“apple cat” 为例创建英文词库

图4.1 创建创建英文词库图

4.2 创建中文词库

使用建立生词库功能,以中文单词“狗”为例创建中文词库

    图4.2 创建中文词库图

4.3 显示所有单词

运行显示词库功能中显示所有单词功能

图4.3 显示所有单词图

4.4 显示中文单词

运行显示词库功能中显示所有中文功能

 图4.4 显示中文单词图

4.5 显示英文单词

运行显示词库功能中显示所有英文功能

  图4.5 显示英文单词

4.6 查找英文单词

运行查找生词功能,查找英文单词“apple”

图4.6 查找英文单词图

4.7 查找中文单词

运行查找生词功能,查找中文单词“狗”

     图4.7 查找中文单词图

4.8 退出程序

在主界面执行退出系统功能

     图4.8 退出程序图

总结

忙碌了一个星期,在大家的共同努力下,我们总算将此程序设计修改出来。尽管代码是百度的,但仍然很高兴,因为在改进设计的过程中,让我了解到要设计一个大型程序的思路和过程,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程虽然艰辛,但只要你持之以恒,成功指日可待。
另外平时扎实的基础也很关键,因为如果自己看不懂基础的代码,那么你面对这么一个比较有难度的程序,自己可能会望而却步,了解和学习他人的程序都是个难点,更别说让自己去设计。为了解决此类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的教学和编写程序的经验,解决我们的问题,对他们来说只是small case。
在设计这个程序时,也遇到过很多问题,但在小组同学的共同努力下,问题最终都得以解决。从这一个星期的设计过程中,我看到了我们小组的拼搏与努力,也让我知道团队精神的难能可贵,大一这一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在今后生活和学习中遇到问题时,我们软件工程一班会共同进退,每个人都很慷慨,并不会因为自己的私心而拒绝对同学的帮助。
最后,通过这次C语言设计程序让我受益良多,我会好好珍惜像这种难得的机会。再下一次的课设做到更好。

致谢

在我们小组共同的努力下,完成了大学的第一次课设,我们曾遇到了很多或难或易的相关问题。感谢老师,感谢他在这一学年来对我们学习的悉心教导,同时也感谢其他小组同学们在程序设计过程中给予我们小组的无私帮助,给我们提供解决问题的方法。通过这次课程设计,我获益匪浅。这次的课程设计,让我利用c语言进行程序设计的能力得到提高,使个人能力编程能力和思维得到极大改善,团队合作能力得到大大提高,也懂得了每一个人在团队中发挥的重大作用。

其中之是部分代码

C语言程序课程设计任务书相关推荐

  1. C++语言程序设计课程设计任务书

    C++语言程序设计课程设计任务书 一.课程设计的目的 全面系统的学习面向对象程序设计的基本概念.基本语法和编程方法. 正确理解掌握C++面向对象程序设计的基本特性:类.对象.继承与派生.多态.虚函数. ...

  2. C语言数据结构课程设计任务书

    C语言数据结构课程设计任务书 四.课程设计题目: 1.文本编辑系统 [问题描述] 输入一页文字,程序可以统计出文字﹑数字﹑空格的个数·静态存储一页文章,每行最多不超过80个字符,共N行. [要求] ( ...

  3. c语言程序课程设计摘要,C语言程序课程设计报告精编.docx

    湖南涉外经济学院 课程设计报告 课程名称: 报告题目: 学生姓名: 所在学院: 专业班级: 学生学号: 指导教师: C语言课程设计 **爱若烟花空< 信息科学与工程学院 **** 爱若 烟 花* ...

  4. c语言程序游戏玩家管理系统,c语言程序课程设计--游戏玩家管理系统及C语言课程设计_简易计算器.doc...

    湖南涉外经济学院 课程设计报告 课程名称: C语言课程设计 报告题目: 游戏玩家管理系统 学生姓名: ** ** 所在学院: 信息科学与工程学院 专业班级: 电科 学生学号: **** ****** ...

  5. c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc

    c语言程序课程设计学生成绩管理程序 武汉科技大学 二〇一〇~二〇一一学年第一学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 自动化2009级2班 学 号: 姓 名: 指 ...

  6. c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc

    矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...

  7. c语言程序设计课程设计心得体会,C语言程序课程设计心得体会

    在科技高度发展的今天,计算机在人们之中的作用越来越突出,学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要. 在这个星期里,我们专业的学生在专业老师的带领下进行了c ...

  8. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

  9. C语言程序课程设计—读心术

    文章目录 前言 这是我大学C语言程序课程设计的第一个项目((●'◡'●)),还是挺开心滴哈哈.虽然这个项目制作难度不高,代码量也不多,但只要你手法足够,任何简单的东西都能够复杂化滴. 一.游戏规则 二 ...

最新文章

  1. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
  2. 分享基于EF6、Unitwork、Autofac的Repository模式设计
  3. 解决Jupyter notebook安装后不自动跳转网页的方法
  4. Python入门学习(四)
  5. 【计算机本科补全计划】Mysql 学习小计(2)
  6. 功能区不显示工具条_【新老客户必知】软件支持超高清屏显示器了
  7. (82)介绍AXI4-Stream总线
  8. php去掉 x5E,清除wordpress里PHP文件恶意代码
  9. 基于神经网络的分类设计——模式识别实验
  10. 数据结构实验1 集合的交、并、差
  11. 缠论108课_缠论108课学习顺序
  12. 保险经纪公司达信联合IBM开发区块链平台
  13. Arcgis用矢量文件裁剪栅格图像
  14. 分享:MSDN visual studio 2010简体中文旗舰版,专业版下载(内置正版密钥)
  15. adb路径不能包含2空格remote couldn‘t create file: Is a directory
  16. Axure9.0---输入文字时文本框提示消失
  17. Procmon打开后无反应的问题
  18. 使用人人开源项目遇到的一些坑
  19. Delphi 把字符串复制到剪贴板
  20. qcalendarwidget只显示月_本周新股14只连发!明日3只新股可申购,分别是中信博、圣湘生物、瑞晟智能...

热门文章

  1. 3D汽车作品大赏!汇集世界各地CG大佬们的“汽车梦”
  2. 大学生计算机基础大难,大学生计算机基础实训六样文
  3. APP商店货币化的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. Android Market 分析【安卓市场】
  5. ingress 七层负载均衡器
  6. 医疗卫生行业如何做好数字化转型?
  7. oppor11st升Android p,OPPO R11st刷机教程_OPPO R11st卡刷升级更新官方系统包
  8. QueryPerformanceCounter实现Windows微秒级延时
  9. Excel使用之时间相加减(精确到毫秒)
  10. ffmpeg js转换音频_linux下使用ffmpeg将amr转成mp3