




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、?计算机程序设计根底?课程综合实践型教学课题报告(2021/2021 学年第2学期) 程序设计根底一课题名称文件的加密与解密指导老师闫领帅小组成员李江雪学号202140405164李玉静202140405161甘丽彬202140405160马彪202140405171陈宇202140405175起止时间2013年6月17日2013年6月30日程序设计评语成绩总评百分比指导老师签字课题报告课程名称:C+程序设计 学院:衡水学院 专业班级:计本2班设计说明与功能描述根本思路及关键语句说明 该程序的主要功能是对文件文本加密、解密,并对文本进行保存。为了对文件进行加密处理,解密处理,原文显示并对文件内
2、容以文件形式进行保存,我们设计了这一款软件系统。 以下是对该系统的一些实际功能所做的描述: 1,显示原文功能,该功能中做了lisr函数,在该功能中主要是用了puts函数来显示两个核心数组中的内容: 2、加密功能模块,为其设计了jiami函数,在该功能模块中主要是对每一个核心数组的具体字符做了处理,被处理后的文本看起来像一堆乱码,无法识别其为何物。 3解密功能模块,为该功能设计了jiemi函数,在该设计中做了针对jiami块做的处理,使得系统能够针对核心数组做连续的处理。 4、集成功能模块,为其设计了menubr函数。 5、在主函数数中,先对核心数组进行录入之后,各个被调函数才可对其做相应得处理
3、 6、函数及其相应得变量: menubar(); list() tongji () 变量int w、s jiami变量char B,A jiemi变量B, A 7、定义全局得核心数组并对其指针取地址正文内容:一、 问题描述文本加密、解密程序主要解决的问题是:将可以看懂的文件转换成不能看懂的东西,以此来实现其加密的功能。 二、程序设计思路功能模块说明主要思路:采用了变换字符的二进制代码的方法使其转换,将可以看懂的文本转换成不能看懂的,以此而实现其加密的功能。三、 序调试与测试在程序得调试过程中,我们组员遇到一些意想不到得难题,但是在组员之间得相互默契得配合,相互帮助之下,我们终于克服重重得困难现
4、在程序也写好了,下面是我们在调试过程中得悲与喜:1、 函数得类型及其列表: char Menubar(); / 主菜单函数,返回菜单项选择项字符void List(); / 显示所有记录文本void Save(int n); /保存文件void Jiami(); /文本加密void Jiemi(); /文本解密void Tongji(); /统计字数2、 具体得调试过程:程序清单:#include<iostream.h> / 标准输入输出函数#include <stdlib.h> / 标准库函数#include <string.h> / 字符串处理函数#in
5、clude <ctype.h> / 字符操作函数#define Max 30000 / 定义常数,容纳最大记录数/ 定义核心数组并对其取地址char name100,WenjianMax; char p20; char *p1=name;char *p2=Wenjian; / 函数原型说明,定义5个功能模块函数和一个主函数/ 一般将主函数定义放在程序前部,其他函数定义放在主函数之后,因此要先说明函数原型/ 函数原型说明可帮助读者理解程序的结构和功能char Menubar(); / 主菜单函数,返回菜单项选择项字符void List(); / 显示所有记录文本void Jiami(
6、); /文本加密void Jiemi(); /文本解密/ 主函数,程序运行入口。进行功能选项判定并引用相应的功能函数/ 在无限循环中引用函数Menubar()显示菜单,并返回菜单项选择项void main()cout<<"请输入文件名,并按回车结束。n"cin.getline(name,100);cout<<"请输入文件内容,并按回车结束。n"cin.getline(Wenjian,Max); for(;) / 无限循环,选择0 退出循环 switch(Menubar() / 调用主菜单函数,按返回值选择功能函数 / 选择功能1至
7、4,查询并显示记录 case '1': List(); break; / 显示原文 case '2': Jiami(); break; / 文件加密 case '3': Jiemi(); break; / 文件解密 case '0': exit(0); / 跳出循环,终止程序运行 / switch语句结束 / for循环结束 / main()函数结束/ while条件限定选项的合法性,非法字符那么重新输入char Menubar() char c; cout<<"n# 文本加密解密管理软件 #nn"
8、 cout<<" 文 1. 显示文件文本原样 n" cout<<" 加 2. 文件加密 n" cout<<" 密 3. 文件解密 n" cout<<" 密 0. 退出系统 n" cout<<" 系 n" cout<<" 统 n" cout<<"n#n" cout<<"n 请输入选项(0-4):" / 提示输入选项 do cin>>
9、c; / 输入选择项,为1个字符 while(!(c>='0'&&c<='4');/ 选择项不合法那么重输 return c; / 返回选择项/ 保存数组中的记录到文件中,参数为记录数/ 在对数组中的数据作过修改后都需要引用本函数保存修改结果/ 显示记录,参数为记录数组void List() cout<<"nn* 原文如下 *nn" cout<<"-n" cout<<name<<endl; cout<<Wenjian<<en
10、dl; cout<<"n* 显 示 结 束 *n"/加密void Jiami()char B20;int i=0; cout<<"请输入加密密码:"cin>>B;strcpy(p,B);while(Wenjiani)if (Wenjiani>=32&&Wenjiani<91) Wenjiani+=26; else if(Wenjiani>=91&&Wenjiani<102) Wenjiani+=26;else if(Wenjiani>101&&
11、;Wenjiani<127) Wenjiani-=69;else Wenjiani=Wenjiani;i+;cout<<"加密后的文本内容如下:nn" cout<<p2<<endl;/解密void Jiemi()char A20;inti=0; cout<<"请输入密码 :" cin>>A;int j=strcmp(p,A);if(j=0)while(Wenjiani)if (Wenjiani>=32&&Wenjiani<=57)Wenjiani+=69;els
12、e if(Wenjiani>=58&&Wenjiani<117) Wenjiani-=26;else if(Wenjiani>=117&&Wenjiani<=127)Wenjiani-=26;else Wenjiani=Wenjiani;i+;cout<<"nn解密后的文本内容如下:nn"cout<<p2<<endl; cout<<"nn"else cout<<"密码错误!请重新选择4进行解密"流程图 : 入口退出系统文
13、章加密显示 原 文文章解密 调用子函数执行所选功能函数 出口四、步骤操作 输入文件名:输入文件内容:加密:显示加密文件:解密:退出:五、 个人收获和体会:1 组长:组长 202140405164 李江雪 通过这个大作业,我最深的感受就是团结。在紧张的学期末复习阶段,每个同学都埋头苦干,想在考试中取得好成绩,但是这个大作业却要我们共同完成,合作分工,这给我们团结就是力量的感受就更深了。社会是复杂的,多元化的。只靠一个人的能力想成功完成一件事是艰难的。所以我们必须学会交流并相互帮助。这次合作我们遇到了许多的困难。时间的紧迫,知识的缺乏,给我很大的压力。最终我还是还是完成了任务。培养了我的吃苦耐劳的
14、精神和面对困难如何调整自己的心情。人生不可能一帆风顺的,总会有一些困难。不要在困难面前低头,要坚强面对。这次语言程序设计弥补了我们的缺乏,提高了我们的动手能力。从根本上认识到学习的目的是效劳于社会。团结就是力量是我这次最真切的感受,团队合作精神VERY VERY IMPORTANT!2组员:组员02 202140405161 李玉静在这次和同组人一起设计程序过程中,我深刻体会到一个人的力量是渺小的,只有大家同心协力,才能完成好一项工作。经过这次的学习、设计,我们学到了许多以前不懂的、难懂的知识。这真锻炼人的好时机,我很喜欢这种应用性的学习。我要感谢我的老师、我的伙伴,你们使我懂得了许多、许多!
15、组员03 202140405160 甘丽彬很快乐能有这样一个时机和同学一起完成一项任务,这其中有各种各样的问题,但通过大家一起讨论,最终把那些问题都解决了。从中我学到了如何应对困难,如何与人合作。在最终完成作业的那一刻,我们心中都非常的快乐。我想有了这样一次体验,在以后漫长的人生路上,我们在面对许多意想不到的困难与挫折时,我们会更沉着的去面对。通过这次合作,我使自己的动手能力和与人沟通的能力得到了提高,这将使我在以后的的道路上走的更稳,收获更多。所以,我们应感谢老师的良苦用心。本来我还不太赞成这种做法,但现在,我知道了,这是对的,是值的我们用心去做的。同时我也知道了我们随时都要培养自己的动手能
16、力,只有这样,才能更好的适应这个日新月异的飞速开展的社会。组员04 202140405171 马彪 C+语言确实不太容易学,再加上我们是双语课,刚开始接触的时候,确实很抵触,尽管自己英语不赖,但还是总以为自己学不好,毕竟嘛,刚接触新事物不是那么容易的事情,后来学了几节课,觉得也没什么,就是要记的东西比拟多,每天都有新内容,记一记就可以了,但当老师布置了几个小作业之后,问题就出现了,单独拿出来每个东西我都略知一二,而让我把它们连接起来,做一个程序,那就难了,每次都是老师写好我们超,一两次之后,通过比照,我发现这些程序之间有好多东西,都是共同的,变化的指示针对不同问题的处理方法,当然这要通过数学运
17、算来完成,困难之处就是怎样把一个个问题用数学的方法表示出来,怎样表示更简便而矣,我的数学还可以,这对我来说不成问题,因此我的信心又恢复了。 这个大作业使我体会到团结的力量,以一个人的能力和精力是不可能在这么短的时内这么圆满的完成任务,人多就是好办事,但我不以为然,我们几个人团结协作可以充分证明,我们中国人不是窝里横,是可以团结起来的。 虽然在工作中我们有分歧,有争吵但我们都很好的解决了问题,增进了友谊,锻炼了团结协作能力,受益匪浅。其中第一局部和第二局部有点难易失调,是我和组长共同完成,更加表达出了分工和协作的优点和重要性。我对自己在这份作业中的表现特别满意,提出了很多很好的建议,事实说明那些建议确实起到了很好的作用。也加深了我对=和if等的理解和操作,从实践中了解和体会到了C+的魅力和作用,也让我体会到大学学的东西的重要性,大学并不像某些人说的那样竟学些没用的东西,像上学期学的网叶制作我到现在还收益匪浅。学习就应该这样,理论到实践中去,我觉得老师的决定很英明。我也从这份作业中了解到了中国和外国的差距,体会到中国大学生的实践能力差这一点,一班学的是中文版,明显要跟我们的实践能力差很多,而我们跟他们的理论也要差很多,从很小的一点就反映出了教育体制对学生的影响,值得反省。组员05 202140405175 陈宇通过这次的作业我觉得最大的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红菜苔管理办法视频
- 中国石化污染管理办法
- 上海护士岗位管理办法
- 仓库下属人员管理办法
- 上市企业税务管理办法
- 业务运营机制管理办法
- 葡萄不开花管理办法
- 中医学院物业管理办法
- 专业监理公司管理办法
- 规范财务帐目管理办法
- 中小学学习《民法典》主题班会图文ppt
- 20客户画像与标签管理课件
- 领导干部个人有关事项报告表(2019版)(范本模板)
- 《公务员激励机制研究(论文)8000字》
- 相关方需求和期望分析表
- (中职)PLC实训课件完整版课件全套ppt教学教程(最新)
- QC成果施工现场移动式网络布设及监控一体化装置的研制
- 《发育生物学》课件第八章 胚轴的特化与体轴的建立
- 新沪教牛津版七年级上册英语全册教案
- 《传统与革新──从巴洛克艺术到浪漫主义》教案
- 《石油库设计规范》修订2022-07
评论
0/150
提交评论