c语言程序设计文件加密解密
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序报告设计
题目:加密解密处理
程序设计报告的电子文档(B10080128—程序设计.doc )
一.老师对作业要求。
1:对学生课程设计两周的纪律及提交内容的要求:
(1)规定上机的时间内不得无故缺勤,有事需要向指导老师书面请假;
(2)上机时禁止玩游戏,屡教不改者,实习成绩可为不及格;(3)每人手头准备一至两本C/C++的有关工具书,上机前作好充分的准备,包括事先写好主要算法的程序
代码以保证充分利用上机的时间调试程序;
(4)同组可以讨论思路,但是程序要自己完成,不可抄袭,若完全抄袭别人的,实习成绩可为不及格;
(5)实习的最后阶段认真完成实习报告的电子文档。报告内容不得少于15页。
(6)每个学生最后提交的材料:
压缩文件一个,起名为:学号名_题目名.rar(如:B06020127_学生管理系统.rar)。该压缩文件中包含下列
几个文件:程序设计报告的电子文档(起名为:学号_程序设计.doc)、源程序文件(起名为:学号名_题目
名.cpp,如:B06020127_学生管理系统.cpp)、原始数据文件(如:stud.dat)、编译链接后得到的可执行
文件(起名为:学号名_题目名.exe)
(7)请同学独立完成报告,若发现两份报告一模一样,则两人都按不及格论处,请各位同学珍惜自己的版权
,也请指导老师严格把关。
附2:上机时间:每天上午8:00——11:20
附3:成绩的评定
根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况
、验收答辩时的表现等综合打分。等级为:优秀、良好、中等、及格、不及格。
附4:课程设计报告具体内容要求
学生管理系统
(题目格式:宋体,3号,加粗,居中对齐)
一、课题内容和要求(格式:宋体,4号,加粗,两端对齐)
该部分可参考前面给出的问题描述再加以细化一些
(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
二、需求分析(格式:宋体,4号,加粗,两端对齐)
在该部分中叙述每个模块的功能要求
(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
概要设计(格式:宋体,4号,加粗,两端对齐)
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如
果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型
声明)。
(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
四、源程序代码(格式:宋体,4号,加粗,两端对齐)
各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的
规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
(正文格式:宋体,小4号,不加粗,两端对齐)
五、测试数据及其结果分析(格式:宋体,4号,加粗,两端对齐)(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
六、调试过程中的问题(格式:宋体,4号,加粗,两端对齐)
每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),以及算法的改进设想。
(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
七、课程设计总结(格式:宋体,4号,加粗,两端对齐)
总结可以包括: 程序设计过程的收获、遇到的问题,遇到问题解决问题过程的思考、程序调试能力的思考,
对该课程组织和考核方式的建议等。
(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)
原始数据文件(stud.dat)
课题内容和要求
1.编写一个对字符文件(由数字或字母组成)进行加密解密的程序。可以将所需要的内容(整个文件或者输入的一行字符)加密,也可以将存储的加密文件翻译回来。例如加密时可以将选取内容的每个字符依次反复加上”4963287312”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(既N%122)。解密与加密的顺序相反。
2、部分要求
(1)从键盘输入要进行加密的一行字符串或者需要加密的文件名。
(2)显示菜单:
*********************************
1.设置加密方法
2.加密
3.解密
4.退出
*********************************
(3)选择菜单,进行相应的操作。加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;显示是将文件在屏幕上显示出来,供人工校对。
(4)定义原始文件sourse.txt、加密文件result.txt和还原文件recall.txt
3、其他要求
(1)变量、函数命名符合规范。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。(3)程序的层次清晰,可读性强。
4、需要掌握的知识
(1)如何读写文件
(2)如何对字符进行加减操作,并保证加减后的数值处于某一范围之内(模运算)
(3)了解加解密的基本原理
需求分析
模块分析:
(1)在屏幕上显示文件 void printtxt()
用于将原始文件sourse.txt,加密文件result.txt,解密文件recall.txt,的内容显示在屏幕上,方便检验程序是否正确执行。在此函数中要以输入方式打开三个文件。
(2)加密void encode()
对原始文件sourse.txt整个或部分字符串加密,并将加密后的内容写入result.txt上。加密时,每个字符依次反复加上”4963287312”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(即N%122).