软件设计报告姓名:学号:2014年6月23日~2012年7月4日目录第一章软件设计介绍.........................................................2第二章软件开发平台简介.....................................................3第三章软件设计的内容.......................................................43.1分数统计软件(A1)...................................................43.1.1设计题目及要求.....................................................43.1.2设计思想及程序流程框图.............................................43.1.3逻辑功能程序.......................................................43.1.4结果及完善方向.....................................错误!未定义书签。3.2打字软件(A2).......................................................93.2.1设计题目及要求.....................................................93.2.2设计思想及程序流程框图............................................103.2.3逻辑功能程序......................................................103.2.4结果及完善方向....................................................133.3文本编辑器(A3)....................................................143.3.1设计题目及要求....................................................143.3.2设计思想及程序流程框图............................................153.3.3逻辑功能程序......................................................153.3.4结果及完善方向....................................................173.4加密软件(A4)......................................................193.4.1设计题目及要求....................................................193.4.2设计思想及程序流程框图............................................193.4.3逻辑功能程序......................................................193.4.4结果及完善方向....................................................213.5进制转换器(A5).....................................错误!未定义书签。3.5.1设计题目及要求....................................................233.5.2设计思想及程序流程框图............................................233.5.3逻辑功能程序......................................................243.5.4结果及完善方向....................................................273.6学生成绩核算系统的设计与实现(B1)..................................303.6.1设计题目及要求....................................................303.6.2设计思想及程序流程框图............................................303.6.3逻辑功能程序......................................................323.6.4结果及完善方向....................................................413.7模拟电信计费系统的设计与实现(B2)..................................453.7.1设计题目及要求....................................................453.7.2设计思想及程序流程框图............................................463.7.3逻辑功能程序......................................................483.7.4结果及完善方向.....................................错误!未定义书签。第四章心得体会.............................................错误!未定义书签。第一章软件设计介绍一、所涉及的课程及知识点《高级语言程序设计》:常量、变量、表达式的基本知识;函数的定义与调用;文件读写;数组、指针、结构体等自定义类型的使用;排序等知识。二、目的与任务目的:通过集中时间上机实验,对学生的程序设计能力进行一次综合训练,使学生充分发挥已有的编程能力,熟悉编译环境。选择若干课题,进行审题、分析、设计和调试,在程序准备、程序实现、完成文档、答辩验收过程中,将全面巩固已学过的编程知识,全面提高编程技能,在编程风格、调试器的使用、测试技术等方面得到全面训练。学生在程序设计过程中,学生需要查找各种资料获取有用信息解决实际问题,自学相关知识,提高文档书写能力,加强团队合作意识,提高口头表达能力。任务:《软件设计》课题共分A、B两档。A档共5题,题目较简单,第一周完成;B档共2题,题目是综合性的,较复杂,第二周完成。三、考核及报告要求1.考核根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。2.报告要求报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。四、主要仪器设备硬件:微型计算机软件:C、C++、VisualC++等五、参考书参考书【1】朱立华,王立柱.C语言程序设计.北京:人民邮电出版社,2009【2】朱立华,朱建,俞琼.面向对象程序设计及C++.北京:人民邮电出版社,2008【3】张引等.C程序设计基础课程设计.浙江:浙江大学出版社,2007第二章软件开发平台简介本次实验所用的开发软件是MicrosoftVisualC++6.0。VisualC++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。所以实际中,更多的是以VisualC++6.0为平台。VC++6集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,与开发其他高级语言的程序一样,开发一个C/C++语言程序包括编辑、编译、链接和运行几个步骤。1.编辑编辑是将编写好的C/C++语言源程序通过输入设备录入到计算机保存,生成扩展名为.c(或.cpp)的源程序文件。编辑源程序的方法有两种:一种是选用C++集成开发环境中的编辑器,这是最常用的方法;另一种是使用计算机中的其他文本编辑器,如写字板、记事本等。2.编译编译是将已生成的C/C++语言源程序代码转换为机器可识别的目标代码(即二进制代码),生成相应的扩展名为.obj的目标文件。编译又包括预处理和编译两个子过程,先执行程序中的以#开头的预处理命令进行预处理,然后再进行正常的编译过程。在编译过程中主要进行词法和语法分析,发现有不符合的,及时以error或warning信息提示用户,用户必须重新修改源程序文件直至编译正确才能进行下面的步骤。3.链接链接是在编译生成的目标代码中加入某些系统提供的库文件代码,进行必要的地址链接,最后生成扩展名为.exe的可执行文件。4.运行生成了可执行文件后就可以运行程序。运行程序的方法很多,最常用是选择集成环境中的“运行”命令来运行可执行文件;另一种方法是在MS-DOS提示符后直接键入可执行文件名(如果主函数有形式参数,则应提供实在参数),按回车确认。运行后在显示器上显示结果。需要说明的是,在以上4个过程中都有可能出错,无论是哪一个阶段出了错,都应该回到编辑步骤,因为如果源文件有错,就无法保证后面各步生成正确的文件。如果是运行期出错,则程序存在逻辑上的错误,要借助调试器找出错误才能保证源程序的修改正确。C语言程序的开发在特定的集成开发环境下进行。集成环境中提供了编辑器、编译器、链接器、调试器等多种工具,使得程序员从源程序的编辑到最后的运行均可在集成环境中完成。第三章软件设计的内容3.1分数统计软件(A1)3.1.1设计题目及要求课题内容:设计一个分数统计程序。包括学生信息的输入输出以及排序。通过该课题全面熟悉结构体数组、字符串的使用以及排序的方法,掌握程序设计的基本方法及友好界面的设计。课题要求:(1)输入某班级学生的姓名、分数;(2)对(1)的分数进行降幂排列并输出;(3)具有输入输出界面。3.1.2设计思想及程序流程框图设计思想(1)建立一个student结构体,包含数据成员姓名、分数,分别用于存放学生的姓名和分数。(2)输入学生人数和基本信息。(3)采用选择排序法对学生分数进行排序,通过循环比较a[i].score和s[j].score的大小并交换顺序实现分数的降序排列。(4)通过菜单选择程序的功能。程序流程图1.系统整体框图开始选择,输入choice2、降序输出成绩,、、其他选择,退出系统退出系统退出系统主菜单0、退出2、降序输出成绩1、输入学生信息选择:输入choice2.排序过程3.1.3逻辑功能程序#includestdio.h#includestring.h#includestdlib.hstructStudent{charname[20];doublegrades;};typedefstructStudentStudent;voidDisplay(){printf(*主菜单*\n);printf(0、退出1、输入学生信息2、降序输出成绩\n);i=0in-1输出排序结果结束j=ijni++a[i].scorea[j].scorej++交换a[i]和a[j]NYYNYN开始printf(\n);printf(*请选择(0/1/2):)