欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《C语言程序设计》报告书.doc

    • 资源ID:52756033       资源大小:550.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《C语言程序设计》报告书.doc

    淮 海 工 学 院 计算机工程学院课程设计报告设计名称: C语言课程设计 选题名称: 简单加密/解密程序 姓 名: 学 号: 专业班级: 软件工程 系 (院): 计算机工程学院 设计时间: 2011.8.292011.9.9 设计地点: 软件工程实验室、教室 成绩:指导教师评语: 签名: 年 月 日1课程设计目的(1) 巩固和加深学生对C语言的基本知识的理解和掌握;(2) 掌握C语言编程和程序调试的基本技能;(3) 利用C语言进行简单软件设计的基本思路和方法;(4) 提高运用C语言解决实际问题的能力;(5) 掌握书写程序设计说明文档的能力。2课程设计任务与要求:任务设计题目从任务书所列选题表中选取,每人1题。要求:1、在处理每个题目时,要求从分析题目的需求入手,进行合理的模块设计,定义正确函数和自定义数据类型(如结构体类型)、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、设计的题目要求达到一定工作量(200行以上代码),并具有一定的深度。3、程序设计语言推荐使用C,程序书写规范,源程序需加必要的注释并且缩进一致。4、每位同学需提交可独立运行的程序;5、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段,单独考核。3课程设计说明书一 需求分析设计一个文件加密/解密程序,主要功能是支持简单的替换加密/解密,支持凯撒加密法(参见百度百科词条:凯撒加密法二 概要设计简单加密/解密程序加密解密主模块三 详细设计/*函数到时*/#include <stdio.h>#include <stdlib.h>#include <time.h>#include "h.h"extern char encrypt(char ch,int n);extern void menu();extern void logo();void main()int i,n;char ch0,ch1;FILE *in,*out;char infile20,outfile20;logo();Sleep(3);/*等待3秒*/menu();ch0=getchar();while(ch0!='4') if(ch0='1')printf("nPlease input the infile:");scanf("%s",infile);/*输入需要加密的文件名*/if(in=fopen(infile,"r")=NULL)printf("Can not open the infile!n");printf("Press any key to exit!n");getchar();exit(0);printf("Please input the key:");scanf("%d",&n);/*输入加密密码*/printf("Please input the outfile:");scanf("%s",outfile);/*输入加密后文件的文件名*/if(out=fopen(outfile,"w")=NULL)printf("Can not open the outfile!n");printf("Press any key to exit!n");fclose(in);getchar();exit(0);while(!feof(in)/*加密*/fputc(encrypt(fgetc(in),n),out);printf("nEncrypt is over!n");fclose(in);fclose(out);Sleep(1);if(ch0='2')printf("nPlease input the infile:");scanf("%s",infile);/*输入需要解密的文件名*/if(in=fopen(infile,"r")=NULL)printf("Can not open the infile!n");printf("Press any key to exit!n");getchar();exit(0);printf("Please input the key:");scanf("%d",&n);/*输入解密密码(可以为加密时候的密码)*/n=26-n;printf("Please input the outfile:");scanf("%s",outfile);/*输入解密后文件的文件名*/if(out=fopen(outfile,"w")=NULL)printf("Can not open the outfile!n");printf("Press any key to exit!n");fclose(in);getchar();exit(0);while(!feof(in)fputc(encrypt(fgetc(in),n),out);printf("nDecrypt is over!n");fclose(in);fclose(out);Sleep(1);if(ch0='3')printf("nPlease input the infile:");scanf("%s",infile);/*输入需要解密的文件名*/if(in=fopen(infile,"r")=NULL)printf("Can not open the infile!n");printf("Press any key to exit!n");getchar();exit(0);printf("Please input the outfile:");scanf("%s",outfile);/*输入解密后文件的文件名*/if(out=fopen(outfile,"w")=NULL)printf("Can not open the outfile!n");printf("Press any key to exit!n");fclose(in);getchar();exit(0);for(i=1;i<=25;i+)/*暴力破解过程,在察看信息正确后,可以按'Q'或者'q'退出*/rewind(in);rewind(out);printf("=n");printf("The outfile is:n");printf("=n");while(!feof(in)ch1=encrypt(fgetc(in),26-i);putchar(ch1);fputc(ch1,out);printf("n=n");printf("The current key is: %d n",i);/*显示当前破解所用密码*/printf("Press 'Q' to quit and other key to continue.n");printf("=n");ch1=getchar();if(ch1='q'|ch1='Q')/*按'Q'或者'q'时退出*/logo();printf("nGood Bye!n");fclose(in);fclose(out);Sleep(3);exit(0);printf("nForce decrypt is over!n");fclose(in);fclose(out);Sleep(1);menu();ch0=getchar(); logo();printf("nGood Bye!n");Sleep(3);/*头文件*/#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>/调用函数*/#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>extern char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/while(ch>='A'&&ch<='Z') return ('A'+(ch-'A'+n)%26); while(ch>='a'&&ch<='z') return ('a'+(ch-'a'+n)%26); return ch;extern void menu()/*菜单,1.加密,2.解密,3.暴力破解,密码只能是数字*/printf("n=");printf("n1.Encrypt the file");printf("n2.Decrypt the file");printf("n3.Force decrypt file");printf("n4.Quitn");printf("=n");printf("Please select a item:");return;extern void logo()return;四 设计与调试分析在做加密/解密程序设计时,我选用凯撒加密法和ROT13加密法,因为凯撒加密法的偏移量是3,而ROT13加密法的偏移量是13,二者十分相似,但对于凯撒加密法来说,26个英文字母的排列是最好的例子,也很易懂,对于ROT13来说,09是最好的例子,所以二者结合,可以将加密/解密的程序完整化.而且用凯撒加密法和ROT13加密法可以很方便定义数据类型,自定义数据类型是一个文件的开头,引导整个程序的开始,所以我们结合C程序设计教程,可以很容易自定义数据类型,并且编写程序。五 用户手册运行程序之前,先在主函数所在的文件夹中创建3个文本文件:文本1 (1.txt),文本2(2.txt),文本3(3.txt)。选择1 ,回车,在所弹出的对话框中输入文本1.txt,回车,再输入所设的加密密码。如图在上一步所执行的程序基础上,打回车,会弹出以下对话框。在上一步弹出的对话框中输入3,回车,再输入文本3.txt,回车,最后在出现的对话框中输入123。如图在上一步完成后,继续打回车,就会弹出如下对话框输入Q,回车,弹出对话框如下按任意键退出/结束程序。六 测试成果4.课程设计心得 上个学期我们学习了C语言这门课程,这个学期,学校就开设了课程设计,让我们学以致用,更加熟悉C语言的应用过程。刚开始拿到课程设计的题目的时候,根本就是无从下手。对于拿到的这份报告书也是一头雾水,中间有很多环节都不知道是什么意思。而且,在上个学期学习C语言的时候,觉得自己学习的也不是很好,有很多中间的知识都没有理解得很透彻,懵懵懂懂的,最后也是为了应付期末考试,并没有真正地理解C语言中的某些语法的应用什么的,所以就很害怕最后会交不出作业。听了老师的讲解,回来了以后就翻书,复习上个学期所学的C语言程序设计,把基础的知识都看了一遍,特别看了书上的文件的这一节的内容,因为我们这组要做的课程设计是文件的加密和解密,稍微有点熟悉以后,就开始了我们这么课程的设计。一开始我们是想整个程序都是自己编出来的,可是编写的过程中,遇到了很多的问题,有好多的程序凭我们还是编写不出来的,后来在网上查找了一些文件加密解密方面的资料,为我们的编写的程序做了一些补充。网上有很多这方面的资料,很丰富,给我们的课程设计提供了很多方便。虽然有些网上的东西不能全部照搬照抄,但是可以用来借鉴一下,对我们程序的设计编写也有很大的帮助。众人拾柴火焰高,通过大家和网络的力量,能借鉴的尽量借鉴,然后再修改完善,增加自己的功能,做出自己的特色。就这样,我们的程序设计完成了。虽然,还有的地方不是很完善,但是心里面还是很高兴,这里面有我们的劳动成果。通过这次课程设计,我学到了很多东西,在完成设计的过程中也遇到了很多问题,通过不断地查资料,向同学请教,使得大部分问题都得到了解决,并且在解决的过程中我也学到了很多的东西。而且在设计的过程中,让我学到了怎样和他人一起完成一件任务,以及在完成的过程中如何沟通。设计是要在一定的时间内完成的,在完成这个设计时,时间显然还是有些紧迫的,我想是没有合理安排好时间和开始态度不对所致。做完后,觉得合理安排时间很重要,否则,可能因为时间仓促而把原来可以做好的东西做的不好,应合理安排时间给各个环节。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。通过这次课程通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

    注意事项

    本文(《C语言程序设计》报告书.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开