毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C语言课程设计报告_学生成绩管理系统 第3页

更新时间:2007-10-22:  来源:毕业论文

 

4.移位加密与解密

#include"stdio.h"

main()

{

  int choice=0,k;

  FILE *fp1,*fp2;

   char c,filename1[30],filename2[30];

   printf("Please input two deferent filename:");

   scanf("%s%s",filename1,filename2);

   printf("Please input the password :\n");

   scanf("%d",&k);

   if((fp1=fopen(filename1,"r"))==NULL)

     printf("\nERROR!CAN NOT OPEN THE FILE\n");

       else{

      fp2=fopen(filename2,"w");

    printf("\nChoose:(1-jiami 2-jiemi)");

    scanf("%d", &choice);

    switch(choice){

     case 1:

          do{

               c=getc(fp1);

              if(((c>='a')&&(c<='z'-k))||((c>='A')&&(c<='Z'-k)))

                      putc(c+k,fp2);

                else if(((c>'z'-k)&&(c<='z'))||((c>'Z'-k)&&(c<='Z')))

                      putc(c-(26-k),fp2);

                  else

                         putc(c,fp2);

             }while(c!=EOF);

          break;

         case 2:

           do{

               c=getc(fp1);

              if(((c>='a'+k)&&(c<='z'))||((c>='A'+k)&&(c<='Z')))

                      putc(c-k,fp2);

                else if(((c>='a')&&(c<'a'+k))||((c>='A')&&(c<'A'+k)))

                      putc(c+(26-k),fp2);

                  else

                         putc(c,fp2);

             }while(c!=EOF);

                  break;

 

         default:

               printf("\nYou have choose a wrong number!Please choose again!");

      }

 }

     fclose(fp1);

      fclose(fp2);

}

 

 

5.辅助运算

(1)整数N模m的乘法逆t

main()

{

 unsigned n,m,t=1;

 int c;

 printf("Please enter the number:\n");

 scanf("%d,%d",&n,&m);

 while(t<65535)

 {

  c=n*t%m;

  if(c==1||c==0)

   break;

  t++;

 }

 if(t==65535||c==0)

  printf("Nicheng number is not exited!\n");

 if(c==1)

  printf("T is : %d\n",t);

 getch();

 }

 

 

(2)统计字母个数

#include "string.h"

main()

{

 int i,j,t;

 char a[80],b[26];

 int c[26];

 char e;

 printf("Please enter the letters:\n");

 gets(a);

 for(i=0;i<26;i++)

   b[i]='A'+i;

 for(i=0;i<26;i++)

  c[i]=0;

 for(j=0;j<80;j++)

  {for(i=0;i<26;i++)

   {

    if(a[j]==b[i]||a[j]==b[i]+32)

      c[i]++;

   }

  if(a[j]=='\0')

  break;

 }

 for(j=0;j<=25;j++)

  {for(i=0;i<=25;i++)

    {if(c[i]>c[i+1])

     {

      t=c[i];c[i]=c[i+1];c[i+1]=t;

      e=b[i];b[i]=b[i+1];b[i+1]=e;

     }

    }

  }

 for(i=25;i>=0;i--)

  {if(c[i]!=0)

    printf("The %c letter number is %d \n",b[i],c[i]);

  }

 getch();

}

(3)OTP加密

#include "stdio.h"

main()

{char a[80],b[80],c[80];

 int i;

 printf("Please enter the x :\n");

 gets(a);

 printf("Please enter the k :\n");

 gets(b);

 for(i=0;i<80;i++)

  c[i]=(a[i]+b[i])%26;

 printf("The result is :\n");

 for(i=0;i<80&&c[i]!='\0';i++)

   printf("%c",c[i]);

 getch();

优 心得体会 

通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我只坐了一个下午,什么也没干!回去以后,我想,这样不行,这样下去还得了!我就重新学了一遍我们上个学期的教材,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!那个欢迎动画是在”C语言之家”找到的,自已改了一下,但并没做多大的改动!之后做出来的第一个程序是”统计字母个数”,因为上个学做过类似的!接着是”乘法逆”,这个我觉得比较简单!再接着是”OTP”加密!而那个学生成绩管理系统是参考了上机手册后做出来的!最后,花了最多时间的是”异或加密与解密”和”移位加解密”,几乎花了我百分之九十的时间,而且还是在一些在其他大学读计科专业的同学的帮助下和在上网查看了大量的资料之后才做出来!最后,想说两句,这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验!

七 参考文献
<<C/C++程序设计教程>>
<<C程序设计>>
<<C程序设计题解与上机指导>>
C语言之家(
http://www.cstudyhome.com)
C语言教室(
http://www.vcok.com)Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=773985

上一页  [1] [2] [3] 

C语言课程设计报告_学生成绩管理系统 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。