预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言课程设计报告 题目:1.文件移位加密与解密 2.学生成绩管理系统 班级:电子信息工程****班 学号:********** 姓名:艾依河里的鱼 2009年7月 C语言课程设计说明书 一、课程设计的目的和要求 1.进一步巩固C语言讲法规则。 2.熟练掌握程序设计的一般技巧和方法。 3.培养解决综合性实际问题的能力。 二、课程设计任务 1.文件移位加密与解密 将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密钥(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。 如加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动5位(注:z后接a)可得到密文(乱码)fghijkl。 对该文件解密:文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5位(注a后接z),可得到原文abcdef。 2.学生成绩管理系统 题目功能要求: 建立一个5个学生的信息登记表,每个学生和信息包括:学号,姓名,和3门课程的成绩(MATH,C,ENGLISH)。程序运行时显示一个简单的菜单例如: (1):信息输入(INPUT) (2):显示信息(DISPLAY) (3):总分统计(COUNT) (4):总分排序(SORT) (5):查询(QUERY) 其中: (1):对5个学生的信息进行输入; (2):显示当前学生记录的信息,若无记录,则给出提示信息; (3):对每个学生的3门课程统计总分; (4):对5个学生的总分按升序序排序并显示出来; (5):可以按“学号”、“姓名”查询该生的有关信息。 三、课程设计要求:查阅资料,完成程序设计,提交一份课程设计报告。 四、时间安排:1周 题目文件移位加密与解密 一、题目介绍 将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密钥(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。 如加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动5位(注:z后接a)可得到密文(乱码)fghijkl。 对该文件解密:文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5位(注a后接z),可得到原文abcdef。 二、题目分析 要实现对文件内容的移位加密与解密,必须从文件内容的ASCII码值入手,将要加密内容的ASCII码值按照一定的密钥进行改变,得到一组密文,从而实现对文件内容的加密;解密则相反,将密文的ASCII码值按照对应的密钥反向移位,得到明文的ASCII码值,从而实现对密文的解密。 程序中可将加密与解密用的移位函数定义为外部函数,在主函数中将其进行引用,就可实现欲达到的目的。 三、程序代码 #include<stdio.h> voidencrypt(char*p,intkey) { while(*p!='\0') { *p=97+(*p-97+key)%26; p++; } } voiddecrypt(char*p,intkey) { while(*p!='\0') { *p=97+(*p-71-key)%26; p++; } } main() { charstr[100]; intn,key; printf("输入密钥:"); scanf("%d",&key); printf("输入1加密,输入2解密:"); scanf("%d",&n); printf("输入字符串:"); scanf("%s",str); if(n==1) { encrypt(str,key); printf("密文为%s\n",str); } elseif(n==2) { decrypt(str,key); printf("原文为%s\n",str); } } 四、运行结果 加密: 输入密钥:5↙ 输入1加密,输入2解密:1↙ 输入字符串:abcdefg↙ 密文为fghijkl 解密: 输入密钥:5↙ 输入1加密,输入2解密:2↙ 输入字符串:fghijkl↙ 原文为abcdefg 五、总结 这个题目比较简单,只要明白要做什么,剩下的就很好做了。只需设计子函数对文件内容的ASCII码值进行操作,然后在主函数中调用子函数就行了。 题目学生成绩管理系统 一、题目介绍 建立一个5个学生的信息登记表,每个学生和信息包括:学号,姓名,和3门课程的成绩(MATH,C,ENGLISH)。程序运行时显示一个简单的菜单例如: (1):信息输入(INPUT) (2):显示信息(DISPLAY) (3):总分统计(COUNT) (4):总分排序(SORT) (5):查询(QUERY) 其中: (1):对5个学生的信息进行输入; (2):显示当前学生记录的信息,若无记录,则给出提