




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计教程》(第二版)1《C语言程序设计教程》(第二版)1《C语言程序设计教程》(第二版)110.1
程序设计方法简介程序设计方法很多,程序员可以充分发挥自己的聪明才智,设计出形式多样、运行效率高的程序。但是对于一个复杂的应用程序,不能在象前面章节中的例题一样直接设计。设计一个应用程序,是一个系统性的工作任务,有一定的方法和过程。对于一个应用程序的开发设计主要有如下过程:可行性研究与项目开发计划软件需求分析软件概要设计软件详细设计程序编码软件测试《C语言程序设计教程》(第二版)10.1
程序设计方法简介1.
可行性研究与项目开发计划可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否可解和是否值得去做。一般应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性,并写出可行性研究报告。在可行性研究的基础上编制项目开发计划书。《C语言程序设计教程》(第二版)10.1
程序设计方法简介2.
软件需求分析软件需求分析的目的是深入描述软件的功能和性能,确定软件设计的约束条件同其他系统元素的接口细节,定义软件的其他有效性需求。需求分析阶段研究的是用户对软件的要求。一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求《C语言程序设计教程》(第二版)10.1
程序设计方法简介2.
软件需求分析软件需求分析的目的是深入描述软件的功能和性能,确定软件设计的约束条件同其他系统元素的接口细节,定义软件的其他有效性需求。需求分析阶段研究的是用户对软件的要求。一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求。《C语言程序设计教程》(第二版)10.1
程序设计方法简介软件概要设计把一个软件需求转换为软件表示时,首先设计出软件总体系结构,称为概要设计或结构设计。概要设计阶段的基本任务是:设计软件系统结构,具体包括采用某种设计方法将一个复杂的系统按功能划分为模块、确定每个模块的功能、确定模块之间的调用关系、确定模块之间的接口、评价模块的结构质量。进行数据结构及数据库的设计。编写概要设计的文档。评审,包括是否完整地实现了规定的功能、性能要求;设计方案是否可行;关键的处理及内部接口定义的正确性、有效性、各部分的一致性。《C语言程序设计教程》(第二版)10.1
程序设计方法简介软件详细设计为每个模块进行详细的算法设计为模块内的数据结构进行设计对数据库进行物理设计其他设计编写详细设计说明书《C语言程序设计教程》(第二版)10.1
程序设计方法简介程序编码在程序编码阶段,要注意程序的结构化和数据结构的合理化。应当采取自顶向下、逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而转化为一系列用某种程序设计语言写成的程序。软件测试软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序隐藏的错误并进行纠正的过程。《C语言程序设计教程》(第二版)10.2
课程设计任务1.
课程设计的目的《C语言程序设计》是一门实践性很强的课程,为了提高学生综合运用C语言程序设计能力,在学完了《C语言程序设计》课程之后,结合实际问题设计应用程序,旨在加深对C语言程序设计知识的理解,加深对使用C语言进行程序设计与开发的认识,掌握使用C语言开发应用程序来解决实际问题的基本方法和过程,提高进行应用程序设计和分析的基本能力,为今后的学习与实践打下良好的设计基础。《C语言程序设计教程》(第二版)10.2
课程设计任务课程设计题目由指导教师拟定设计题目及设计要求供学生选择。设计准备工作根据设计任务书给定的题目确定设计的具体题目,进一步学习C语言程序设计,重点是函数、结构体、文件等内容,以及进一步熟悉开发环境的使用,掌握利用C语言进行程序设计方法,根
据选定的题目了解实际工作的任务和内容,收集有关原始信息和资料,结合设计要求,理清设计思路,明确设计内容。《C语言程序设计教程》(第二版)10.2
课程设计任务设计过程内容及方法、步骤需求分析:根据选定的题目,了解实际工作中的任务和内容,收集有关原始信息和资料。系统分析:结合设计要求,对系统进行分析,确定系统功能和系统结构及模块划分。数据结构设计:分析工作中需要处理的数据,进行分类整理,确定对数据的描述方法,确定对应的结构体和文件存储结构。《C语言程序设计教程》(第二版)10.2
课程设计任务设计过程内容及方法、步骤界面设计:根据各模块的功能需要,设计出相应功能所需的显示界面。代码设计:根据各模块的功能,在相应函数中设计程序代码,实现所需功能,并进行模块调试,纠正错误。系统测试:利用模拟数据,对整个程序进行运行测试,找出系统存在的问题和不足,并适当给与改正。撰写设计说明书。《C语言程序设计教程》(第二版)10.2
课程设计任务设计成果设计成果:包括课程设计说明书、源程序代码。毕业设计说明书的内容一般包括:系统概述;系统分析;系统功能;开发环境;数据结构设计;系统结构图、各模块流程图;操作界面及程序代码;使用手册;设计过程中疑难问题的解决办法,系统需要改进的地方和注意的问题;总结等几个部分。设计说明书文字要通顺、层次清楚、对攻功能实现方法、关键技术、主要代码应注有文字说明,必要时用表格列出。设计说明书文字一般不少于20000字。《C语言程序设计教程》(第二版)10.2
课程设计任务设计期间的基本要求学生在教师的指导下,应积极、主动地独立完成课程设计所规定的全部任务。应严格按照进度进行设计,不得无故拖延。设计方案有原则性错误、未按规定时间完成设计、抄袭他人设计、不按设计要求或未完成全部设计内容成绩定为不及格。《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序10.3.1
评分过程及功能介绍1.系统介绍在电视中经常可以看到,一些竞赛中,当每位选手表演完后,由几位评委对选手的表现打分给出成绩,然后根据每位评委的打分综合计算出选手的得分。此过程现在一般都是由计算机对评委的打分进行处理,当选手表演完后,评委给出各自的评分,然后把评委的打分输入计算机,由计算机程序按照一定规则计算出选手的得分,当所有选手都表演完后,最后计算机根据选手得分进行排名,计算出每位选手的比赛名次。《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序评分过程及功能介绍功能分析根据任务要求,了解了程序应完成的任务,除了上面所提到的必须功能外,为了便于用户使用程序,在此基础上还需要增加一些辅助功能,如功能菜单的显示和选择、数据的浏览、数据的查找等功能,确定程序应实现的功能如下:评委分数的输入,并计算出选手最终得分,去掉一个最高分和一个最低分后的平均分数作为选手得最终得分;根据选手得分按照分数由高到低进行排名,计算机出选手的名次;选手得分的查询,在比赛中随时查询任意选手的得分情况;选手分数的浏览,把所有选手的分数都显示出来,以便整体了解选手得分情况;程序功能菜单,通过菜单提供用户选择不同的功能,完成所需任务。《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序10.3.2
程序代码1.
程序结构介绍通过前面的功能分析,可以把整个任务按功能划分成各模块,用函数编写各功能模块程序,最后由主函数实现对各功能模块的调用,把各功能模块组织成一个整体。由于一个选手的得分需要包含多个信息,为了合理存储选手数据,把选手信息定义为一个结构体,并用此结构体定义结构体数组变量来存储选手数据。《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序程序代码程序结构介绍系统各模块函数的功能如下:主函数main()实现软件功能菜单的显示,供用户选择,然后根据用户的选择来调用相应的函数,实现程序的流向控制。Input()函数完成评委分数的输入,同时计算出选手的得分。Find函数完成按姓名查询选手得分情况。Display函数完成选手分数及名次的浏览。Sort函数完成按分数由高到低进行排名,计算选手的名次。《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序0.3.2
程序代码2.
关键程序代码1)结构体的定义struct
score_type{
char
xm[11];float
score[8];float
max,min;int
mc;}xs[100];《C语言程序设计教程》(第二版)10.3
歌唱比赛评分程序0.3.2
程序代码2.
关键程序代码2)排序程序Sort(){int
i,j,mc=0;float
tmp=0;struct
score_type
score1;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(xs[j].score[8]<xs[j+1].score[8]){
score1=xs[j];
xs[j]=xs[j+1];
xs[j+1]=score1;}for(i=0;i<n;i++){
if(xs[i].score[7]!=tmp)《C语言程序设计教程》(第二版){
mc=mc+1;xs[i].mc=mc;tmp=xs[i].score[7];}}Display();}10.4
学生成绩管理系统10.4.1
任务介绍及功能分析1.
任务介绍学生的成绩管理是日常管理工作之一,如统计学生的总分、平均分数,统计每门课程的平均分、最高分、最低分以及成绩分布等数据,以及归档以备以后查询或处理等需要。根据需要还可以打印各种成绩单、查询不及格情况查询某人或某门课的成绩等。如此繁重的工作需要工作人员的大量精力和时间,计算机具有存储、计算和处理速度快的特点。因此,可以利用计算机程序来完成这些工作,实现学生成绩的数字信息化管理,提高工作效率。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统任务介绍及功能分析功能分析通过上面的介绍,初步了解了学生成绩管理应完成的任务。实际工作中,学生成绩管理系统较为复杂,限于篇幅和降低程序设计难度,对系统功能适当的简化处理,只保留了最基本的功能需要,因此确定在此程序应实现的功能如下:学生成绩信息录入功能。学生成绩信息修改,对发现的数据输入错误后进行数据修改。学生成绩信息删除,对数据中无用的记录进行删除,保持数据文件的清洁。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统任务介绍及功能分析功能分析程序应实现的功能:学生成绩信息浏览。学生成绩信息查询。学生成绩信息统计,统计出每门课程成绩分数的分布数据,使教师了解成绩分布情况,以便进一步分析学生对知识的掌握情况。学生成绩单打印,提供不同方式打印学生成绩单。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统0.4.2
程序代码1.
程序结构介绍由于一个学生有多门课程,为了比较准确描述学生的成绩信息,用结构体类型来存储学生的成绩信息,为了不使问题过于复杂,课程门数固定为8门。由于学生成绩数据在程序需要多次使用,因此学生成绩信息以文件形式保存在计算机磁盘上,数据文件名为
student.dat,并与程序可执行文件放在同一个文件夹下。程序的主函数提供功能菜单的显示,供用户选择,根据用户的选择来调用相应的功能函数,实现控制程序的流向。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统1.
程序结构介绍程序总体框架结构图学生成绩管理系统主函数功能菜单成绩输入成绩修改成绩删除成绩查找成绩浏览成绩统计成绩打印《C语言程序设计教程》(第二版)10.4
学生成绩管理系统各功能模块Add()函数完成学生成绩数据的输入,并把数据存储到数据文件中,可以随时追加学生纪录。Display()函数完成对已有学生成绩数据的显示,函数从数据文件中读取数据,然后显示出来。LookFor()函数完成按照学生姓名进行查找操作。函数要求先输入要查找的学生姓名,然后再调用函数
Search函数用顺序查找法来实现,并返回查找的信息,如找到则返回该学生数据在数据文件中的位置,否则返回-1。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统各功能模块Revise()函数实现对学生数据的修改。函数要求先输入要修改学生的姓名,然后再调用函数Search函数来查找此学生的数据,如找到先把原数据显示出来,然后提供新数据的输入,最后把输入的新数据写回原数据文件。Delete()函数实现对学生数据的删除操作。函数要求先输入要修改学生的姓名,然后再调用函数Search函数来查找此学生的数据,如找到在数据文件中删除此纪录。Print()函数实现成绩单的打印。按照预定的格式打印出学生个人成绩单,可以选择打印指定学生成绩单、按班级打印成绩单、打印全部学生成绩单。《C语言程序设计教程》(第二版)10.4
学生成绩管理系统2.
关键程序代码1)学生成绩结构体:
struct
student_type{ char
num[11];char
name[11];char
class[11];float
score[7];float
total;2})stu成d绩en单t1打;
印由于没有打印机,只是用输出语句按格式要求显示在屏幕上,如要通过打印机打印,只需把Print_score函数中的printf语句为
fprintf语句即可。如下:fprintf(stdprn
,"%5.1f\n",student.total);《C语言程序设计教程》(第二版)10.5
课程设计参考题目通讯录管理系统编写一个“通讯录管理系统”程序,通讯录信息包括:姓名、工作单位、电话号码、QQ号等信息。通讯录信息用磁盘文件保存,要求程序包括如下功能:可以输入追加联系人纪录可以浏览通讯录信息可以查找某人信息可以删除某人的信息可以修改某人信息显示主功能菜单,供用户自由选择所需操作《C语言程序设计教程》(第二版)10.5
课程设计参考题目家庭财务管理系统系统主要功能主要任务是完成家庭日常生活收支信息的管理,记录家庭成员每笔输入情况和消费支出情况,同时提供必要的查询统计功能。基本功能要求如下:日常收入和支出信息的录入,以及修改、删除等操作;按日、月或某一时间段查询收入和支出的详细信息信息;按月或某一时间段统计收支情况,统计出收入总数、支出总数和两数之差。《C语言程序设计教程》(第二版)10.5
课程设计参考题目收支数据结构体:struct
home{ int
lx; /*
收支类型,0-收入,1-支出
*/char
name[11]; /*
收支人的姓名
*/float
je;date
rq;/*
收支金额*//*
收支日期*/char
bzh[51]; /*
备注*/}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青春激荡社团助力活力溢计划
- 2025经营许可证转让合同范本
- 冥婚协议合同样本
- 京东物资采购合同样本
- 优化流程的工作计划设计
- app运营合作合同样本
- 不过户 购房 合同标准文本
- 2025合作伙伴代理合同示范文本
- 云南买房代购合同样本
- 农村房契转让合同样本
- 软件设计说明书概要+详细
- 未带有效居民身份证考生承诺书
- 国际市场营销(第三版)-教学课件
- 弱电机房验收标准
- 《数据的收集与整理》说课稿课件
- 脚手架或模板支架立杆底地基承载力计算
- 超导材料应用举例PPT课件
- 2020年超星尔雅重说中国近代史通识课期末考试答案
- 急性肺动脉栓塞诊断及介入治疗经验分享PPT课件
- 初中数学知识框架
- 轮胎式装载机检测报告(共5页)
评论
0/150
提交评论