2022年报告南邮软件设计报告.docx

上传人:w*** 文档编号:23160996 上传时间:2022-06-29 格式:DOCX 页数:61 大小:35.46KB
返回 下载 相关 举报
2022年报告南邮软件设计报告.docx_第1页
第1页 / 共61页
2022年报告南邮软件设计报告.docx_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《2022年报告南邮软件设计报告.docx》由会员分享,可在线阅读,更多相关《2022年报告南邮软件设计报告.docx(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022年报告南邮软件设计报告 软件设计报告 姓名: 琳 学号:B12060421 2022 年 年 5 月 月 16 日2022 年 年 6 月 月 16 日 目 录 第一章 软件设计介绍 . 1 其次章 软件开发平台简介 . 2 第三章 软件设计的内容 . 5 3.1 分数统计软件(A1) . 5 3.1.1 设计题目及要求 . 5 3.1.2 设计思想及程序流程框图 . 5 3.1.3 逻辑功能程序 . 6 3.1.4 结果及完善方向 . 6 3.2 打字软件(A2) . 10 3.2.1 设计题目及要求 . 10 3.2.2 设计思想及程序流程框图 . 10 3.2.3 逻辑功能程序

2、. 11 3.2.4 结果及完善方向 . 11 3.3 文本编辑器(A3) . 14 3.3.1 设计题目及要求 . 15 3.3.2 设计思想及程序流程框图 . 15 3.3.3 逻辑功能程序 . 16 3.3.4 结果及完善方向 . 16 3.4 加密软件(A4) . 31 3.4.1 设计题目及要求 . 31 3.4.2 设计思想及程序流程框图 . 31 3.4.3 逻辑功能程序 . 32 3.4.4 结果及完善方向 . 34 3.5 进制转换器(A5) . 38 3.5.1 设计题目及要求 . 38 3.5.2 设计思想及程序流程框图 . 38 3.5.3 逻辑功能程序 . 40 3.

3、5.4 结果及完善方向 . 44 3.6 学生成果核算系统的设计与实现(B1) . 48 3.6.1 设计题目及要求 . 48 3.6.2 设计思想及程序流程框图 . 48 3.6.3 逻辑功能程序 . 49 3.6.4 结果及完善方向 . 56 3.7 模拟电信计费系统的设计与实现(B2) . 62 3.7.1 设计题目及要求 . 62 3.7.2 设计思想及程序流程框图 . 错误! ! 未定义书签。 3.7.3 逻辑功能程序 . 65 3.7.4 结果及完善方向 . 74 第四章 心得体会 . 85 第一章 软件设计介绍 一、所涉及的课程及学问点 高级语言程序设计:常量、变量、表达式的基本

4、学问;函数的定义与调用;文件读写;数组、指针、结构体等自定义类型的运用;排序等学问。 二、目的与任务 目的:通过集中时间上机试验,对学生的程序设计实力进行一次综合训练,使学生充分发挥已有的编程实力,熟识编译环境。选择若干课题,进行审题、分析、设计和调试,在程序打算、程序实现、完成文档、答辩验收过程中,将全面巩固已学过的编程学问,全面提高编程技能,在编程风格、调试器的运用、测试技术等方面得到全面训练。学生在程序设计过程中,学生须要查找各种资料获得有用信息解决实际问题,自学相关学问,提高文档书写实力,加强团队合作意识,提高口头表达实力。 : 任务:软件设计课题共分 A 、B 两档。A 档共 5 题

5、,题目较简洁,第一周完成;B 档共 2 题,题目是综合性的,较困难,其次周完成。 三、主要仪器设备 硬件:微型计算机 软件:C、C+、Visual C+等 四、参考书 【1】朱立华,王立柱C 语言程序设计北京:人民邮电出版社,2022 【2】朱立华,朱建,俞琼面对对象程序设计及 C+北京:人民邮电出版社,2022 【3】张引等C 程序设计基础课程设计浙江:浙江高校出版社,2022 最新课件 其次章 软件开发平台简介 软件开发平台是一种软件开发工具,是以通用技术架构(例如MVC )为基础,集成常用建模工具、二次开发包、基础解决方案等而成。可以大幅缩减编码率,使开发者有更多的时间关注客户的需求,在

6、项目的需求、设计、开发、测试、部署、维护等各个阶段均可供应强大的支 持。软件开发平台有两种平台模式,一种是传统的 s c/s 架构模式,一种是现在比较流行的 s b/s 架构模式。 软甲件开发平台的分类,一般有三种:一种是 N SUN 公司的 SUN ONE框架平台,一种是 LAMP, 它是 Linux 、 Apache 、 Mysql 、P PHP 四项技术的缩写,还有一种是 .NET Framework( 一般简称为 T NET 框架平台) ) 。 P LAMP 是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起运用,拥有了越来越高的兼容度,共同组成

7、了一个 b Web 应用程序平台。随着开源潮流的蓬勃发展,开 放了源代码的 P LAMP 已经与 E J2EE 和T .NET 平台形成了三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此手袋整个 T IT 界的关注。从网站的流量上来说, 73% 以上的访问流量都是P LAMP 来供应的,P LAMP 是最强大的网站解决方案。P LAMP 是基于 Linux 、Apache、 、L MySQL 和 和 P PHP 的开放资源网络开发平台,这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在全部权里都符合开发源代码标准: Linux

8、是开放系统,e Apache 是最通用的网络服务器, MySQL L 是带有基于网络管理附加工具的关系数据库,是流行的对象脚本语言,他包含 最新课件 了多数其他语言的优秀特征来使得它的网络开发更加有效。虽然这些开放源代码程序本身并不是特地设计成同另外几个程序一起工作的,但由于他们都是影响较大的开源软件,拥有很多共同特征,这就导致了这些组件常常在一起运用。在过去的几年里,这些软件的兼容性不断完善,在一起的应用情形变得更加普遍。越来越多的供应商、用户和企业投资者日益相识到,经过单个组件的开源软件组成的平台用来构建以及运行各种商业应用和协作构建各种网络应用程序变为一种可能和实践 ,变得更加具有竞争力

9、,更加吸引客户。无论是性能、质量还是价格都将成为企业、政府信息化所必需考虑的平台。 平台是一种新型的软件平台,可用来在网络计算机系统开发和运行高交互性、动态的、平安的小程序和应用程序。平台有三种三种版本,这使软件开发人员、服务供应商和设备生产商可以针对特定的市场进行开发。 开发平台是一种用于建立服务器应用程序和桌面应用程序的软件组件,用该平台创建的应用程序在 (通用语言运行环境)的限制 下进行。是一个软件引擎,用来加载应用程序,确认他们可以没有错误的执行,进行相应的平安许可验证,执行应用程序,然后在运行结束后将他们删除。类库集供应了使应用程序可以读写数据、在上通信、访问数据库等的代码。全部的类

10、库都建立在一个基础的类库之上,他供应管理运用最为频繁 最新课件 的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入输出等底层功能。 Visual Studio 是 微软公司 推出 的 开发环境 ,Visual Studio 可以用来创建 Windows 平台下的 s Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 e Office 插件 。o Visual Studio 是目前最流行的 s Windows 平台 应用程序开发 环境。 Visual Studio 2022 包括各种增加功能,例如 可视化设计 器(运用 .NET Framework 3.

11、5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理全部类型数据的语言增加功能。 Visual Studio 2022 为开发人员供应了全部相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 b Web 应用程序 。 开发人员能够利用这些丰富的 客户端 和服务器端框架轻松构建以客户为中心的 b Web 应用程序,这些应用程序可以集成任何后端数据供应程序、在任何当前 阅读器 内运行并完全访问 T ASP NET 应用程序服务 和 Microsoft 平台。 支持多种程序设计语言如:、 、等,实现了语言互用性。而只能用语言。随着开源潮流的蓬勃发展,开放源代

12、码的已经与和商业软件形成三足鼎立之势。 最新课件 第三章 软件设计的内容 3.1 分数统计软件( A1 ) 1 3.1.1 设计题目及要求 课题内容: 设计一个分数统计程序。包括学生信息的输入输出以及排序。通过该课题全面熟识数组、字符串、文件的运用,驾驭程序设计的基本方法及友好界面的设计。 课题要求: (1)输入某班级学生的姓名、分数; (2)对(1)的分数进行降幂排列并输出; (3)具有输入输出界面。 2 3.1.2 设计思想及程序流程框图 设计思想为: 建立学生结构体数组,结构体成员包括存储姓名的字符型数组以及存储分数的整型,运用 for 循环语句从输入处获得 n 个学生的姓名和成果,成果

13、输入的信息存入结构体数组。再选择按成果降幂排名,将结构体数组从头进行输出。 算法流程框图为: 开 始 输入学生人数 清屏 输入是否正确? 输入学生姓名 name和分数 grade N 最新课件 3 3.1.3 逻辑功能程序 #includelt;stdio.hgt; #includelt;string.hgt; #includelt;stdlib.hgt; struct student /存放学生信息的结构体 char name20; /字符型数组存放姓名 int grade; /成果类型 temp,std101; int main() int err; char x5; int n; int

14、 i; int m; char ch20; system(color F9); do system(cls); printf( nn); printf( * n); printf(t n); printf( O(∩_∩)O 欢迎运用本系统 O(∩_∩)O n); printf(t n ); printf( * n); printf( n); printf( 请输入学生个数 nn); do printf(tt 学生个数: ); err=0;i=0; 自动降幂排序 输出排序后的成果 结 束 最新课件 scanf(%s,x); /输入选项 getchar(); whi

15、le(xi!=0) /依次检查输入的字符串是否为数字 if(xigt;9|xilt;0) err=1; i+; if(err) printf(ntt 请输入数字!n); while(err); n=atoi(x); /将字符型数组 x 转换成整型 n for(i=0;ilt;n;i+) /循环 N 次输入学生信息 printf(ntt 请输入第%d 个人的信息ntt 姓名:,i+1); scanf(%s,stdi.name); getchar(); printf(tt 分数:); scanf(%d,amp;stdi.grade); if (stdi.gradelt;0|stdi.gradegt

16、;101) printf ( 您的输入错误,请重新输入:n); printf(tt 分数:); scanf(%d,amp;stdi.grade); getchar(); printf( 输入信息:n); printf( * n); printf( 姓名 成果 nn); for(i=0;ilt;n;i+) printf( %s %dn,stdi.name,stdi.grade); printf(nn * n); printf(n 排序后信息:n); for(m=0;mlt;n;m+) for(i=0;ilt;n-m-1;i+) if(stdi.gradelt;stdi+1.grade) temp

17、=stdi; stdi=stdi+1; stdi+1=temp; /成果按降幂排序 printf(n 您所输入的学生名次如下:nn); 最新课件 printf( * n); printf( 名次 姓名 成果 nn); for(i=0;ilt;n;i+) printf( 第 %d 名 %s %dn,i+1,stdi.name,stdi.grade); printf(nn * n); printf(t n); printf(t 您是否还须要接着?(请按 Y 键接着/随意键退出)); /选择是否接着 printf(t n); scanf(%s,ch); printf(t 感谢运用此软件,欢迎下次光临

18、 O(∩_∩)O n); while(ch0=Y|ch0=y); /与开头组成 do-while 结构循环 printf(t); return 0; 3 34 .1.4 结果及完善方向 试验结果: A.初始界面: B. 输入学生信息之后干脆排序,界面如图所示: 最新课件 C. 若所输入的学生成果在有效范围(0101)之外系统将会提示输入错误,界面如下图: 程序分析: 此程序功能上满意基本的题目要求,能够做到输入学生的姓名和成果,能够按成果降幂 最新课件 排列并输出。 完善方向: 基本功能已实现,对于实际的系统,接下来完善的功能的是能够选择不同的科目进行输入,能够选择进行降幂或者

19、升幂排序,同时能添加或删除学生信息,对于成果相同的学生进行并列排名。 3.2 打字软 件 ( A2 ) 1 3.2.1 设计题目及要求 课题内容: 设计一个打字程序。包括随机产生字符串,以及字符串比较和统计。通过此课题,娴熟驾驭数组、格式输出、字符串处理等。 课题要求: (1)随机产生一字符串,每次产生的字符串内容、长度都不同; (2)依据(1)的结果,输入字符串,推断输入是否正确,输出正确率; (3)具有输入输出界面。 2 3.2.2 设计思想及程序流程框图 设计思想为: 利用函数库里供应的产生随机函数 rand()产生随机的字符串长度,默认将长度定位在 1至 10 个字符。再产生一串由大小

20、写字母以及数字组成的随机字符串,每产生一个字符串就按字保存至数组里。显示产生的字符串,起先打字后,将输入字符串保存至数组,打字完毕。再与产生字符进行逐个比较,若相同,则正确个数加 1,最终得出正确率,输出显示。 算法流程框图为: 最新课件 3 3.2.3 逻辑功能程序 #include lt;stdio.hgt; #include lt;time.hgt; #include lt;stdlib.hgt; #includelt;iostreamgt; void main(void) int i,num,flag,m=0,k,over=1; char str101; /产生随机数组 char st

21、r1101; /输入随机数组 char c; float p; system(color F9); while(over) /选择是否接着 开 始 随机产生字符串 输入字符串 依次比较,计算正确率 输出正确率 是否接着 结 束 Y N 最新课件 num=0; /产生字符长度 num 初始化为 0 m=0; /统计正确个数变量 m 初始化为 0 system(cls); /清除屏幕 printf(nnn); printf( * n); printf( O(∩_∩)O 欢迎运用本系统 O(∩_∩)O n); printf( * n); printf( * 打字软件

22、* n); srand(time(NULL); /提取系统时间,以时间为 seed 产生随机数 num=1+ rand()%10; /产生长度不大于 10 的字符串 for(k=0;klt;num;k+) flag=rand()%3; /随机产生小于 3 的数 if(flag=0) strk=A+rand()%26; /产生大写字母 else if(flag=1) strk=a+rand()%26; /产生小写字母 else strk=0+rand()%9; /产生数字 strk=0; printf(nntt *n); printf(随机字符串个数:tt%dn,num); printf(随机产

23、生的字符串:t%sn,str); printf(tt *nn); printf(请输入上面的字符串:); scanf(%s,str1);/输入字符串 getchar(); for(i=0;str1i!=0amp;amp;stri!=0;i+) /进行比较 if(stri=str1i) m+; /m 为正确字符个数 p=(float) m/num; printf(nnn * nn); printf( 正确率为:%.1f%n,p*101); printf( 正确个数为:%dn,m); printf(n * nnn); printf( n); printf( 是否还需接着练习?(随意键接着/N 键退

24、出)n); scanf(%c,amp;c);/输入选项 getchar(); if(c=N|c=n) over=0; 最新课件 4 3.2.4 结果及完善方向 A. 初始界面:即随机产生的字符串为输出页面 B. 当输入的字符串与随机产生的字符串一样时,正确率为 101% ,如图: 最新课件 C. 当输入的字符串与随机产生的字符串不一样时,程序将计算正确率并给出输入正确的个数,如图: 程序结果分析: 此程序能保证每次产生的字符串不一样,且能正确地输出精确率,基本完成了打字训练 最新课件 的任务。考虑到程序的好用性,可以为程序添加计时功能、记录保存功能等,可以使运用者更加敏捷地运用打字软件。 程序

25、完善方向: 对于这个程序,不足的就是可以添加计时功能,在打字前,可以询问用户是否进行计时,还可以添加功能,由用户自己选择可从从其他文件导入一段字符串。 3.3 文本编辑器( (A3 ) 1 3.3.1 设计题目及要求 课题内容: 设计一个简洁的文本编辑器,该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。通过此课题,娴熟驾驭文本文件的操作及用字符数组或字符指针实现字符串操作的功能。 课题要求: (1)编辑文本; (2)保存、打开指定位置的文本文件; (3)具有输入输出界面。 2 3.3.2 设计思想及程序流程框图 设计思想为: 在主菜单可选择建立文本、编辑文本

26、、读取文本和退出程序。以只写方式编辑文本,若文本不存在则提示不能打开文件,打开的文件则输入的内容以#作为结束标识;读取文件时,提示须要读取的目标文本路径,将文本里的内容输出。 算法流程框图为: 开 始 输出功能菜单 输入选项 choose choose=1 choose=2 choose=4 choose=3 N N N 最新课件 3 3.3.3 逻辑功能程序 #include lt;stdio.hgt; #include lt;time.hgt; #include lt;stdlib.hgt; void menu1() printf( nn); printf( * O(∩_∩

27、)O 欢迎运用此软件 O(∩_∩)O *nn); printf( * 文 本 编 辑 器 * nn); printf( gt;gt;gt;gt;gt;gt;gt; 1. 建 立 文 件 lt;lt;lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt;gt;gt; 2. 查 看 文 件 lt;lt;lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt;gt;gt; 3. 编 辑 文 件 lt;lt;lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt;gt;gt; 0. 退 出 lt;lt

28、;lt;lt;lt;lt;lt;nn); 文件不存在 输入路径 结束 建立文本 编辑文本 输出文本 输入路径 输入路径 文件不存在 文件不存在 N N N N Y Y Y 最新课件 void menu2() printf(nn); printf( * 编辑文件功能 * n); printf( n); printf( gt;gt;gt;gt;gt; 1.查找 lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt; 2.删除 lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt; 3.插入 lt;lt;lt;lt;lt;n); print

29、f( gt;gt;gt;gt;gt; 4.替换 lt;lt;lt;lt;lt;n); printf( gt;gt;gt;gt;gt; 0.返回上级菜单 lt;lt;lt;lt;lt;n); int output() char filepath30;/路径 FILE *fp; char ch; printf(n 请输入文件路径(如 D:name.txt: ); scanf(%s,filepath);/输入路径 getchar();/接收 Enter 字符 fp=fopen(filepath,r); printf(n 文件内容如下:n); rewind(fp);/返回文件首,输出整个文件的内容 do ch=fgetc(fp); putchar(ch); while(ch!=EOF); fclose(fp); return 0; int edit(int n) int i=0,x=0,fc=0,fch=0,fs=0,ft=0,a; char *p; int c=0,j; char test500; char m; char ch; 最新课件 char hou;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁