m0_62801663 2022-01-04 15:31 采纳率: 72%
浏览 34
已结题

这个代码怎么运行不起啊?

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define OFN "D:\原文件.txt"
#define EFN "D:\加密文件.txt"
#define DFN "D:\解密文件.txt"
char y[650],m[650],jm[650];//分别为原文件字符,加密文件字符,解密文件字符
int yb=0,mb=0,jmb=0;//分别为原文件下标,加密文件下标,解密文件下标
int h=1;//密码属性,初始为1
void f()
{
FILE* fp1;
FILE* fp2;
char c;
fp1=fopen("D:\t.txt","r");
fp2=fopen("D:\t2.txt","w");
if(fp1==NULL||fp2==NULL)
{
printf("文件打开失败!\n");
return;
}
else
{
while(c!=EOF)
{
c = fgetc (fp1);
fputc(c, fp2);
}
}
fclose(fp1);
fclose(fp2);
}
void en()
{
FILE* fp1;
FILE* fp2;
char c;
h=1;
fp1=fopen("D:\t.txt","r");
fp2=fopen("D:\t2.txt","w");
if(fp1==NULL||fp2==NULL)
{
printf("文件打开失败!\n");
return;
}
else
{
while(c!=EOF)
{
c = fgetc (fp1);
y[yb]=c;yb++;
h++;
/if(c==' '||c=='z'||c=='9'||c=='0'||c=='a'||c=='.')//遇到指定字符更改密码属性
{
h--;
}
/
fputc((mb,c+h), fp2);
m[mb] =(mb,c+h);mb++;
}
y[yb+1]='\0';
m[mb+1]='\0';
}
fclose(fp1);
fclose(fp2);
printf("原文为:\n");
puts(y);
printf("密文为:\n");
puts(m);

}
void de()
{
FILE* fp1;
FILE* fp2;
char c;
h=1;
fp1=fopen("D:\t2.txt","r");
fp2=fopen("D:\t3.txt","w");
if(fp1==NULL||fp2==NULL)
{
printf("文件打开失败!\n");
return;
}
else
{
while(c!=EOF)
{
c = fgetc (fp1);
y[yb]=c;yb++;
h++;
/if(c==' '||c=='z'||c=='9'||c=='0'||c=='a'||c=='.')//遇到指定字符重置密码属性
{
h--;
}
/
fputc((jmb,c-h), fp2);
jm[jmb] =(jmb,c-h);jmb++;
}
//y[yb+1]='\0';
jm[jmb+1]='\0';
}
fclose(fp1);
fclose(fp2);
printf("密文为:\n");
puts(m);
printf("解密文为:\n");
puts(jm);
}
int main()
{
int choice;
int n=250;
while(n--)
{
//system("cls");
printf("欢迎使用文件加密系统!\n");
printf("请输入您的选择\n");
printf("1.加密文件 2.解密文件 3.退出系统\n");
scanf("%d",&choice);
switch (choice)
{
case 1:
en();
break;
case 2:
de();
break;
case 3:
printf("非常感谢您的使用!期待与您下次相见\n");
default:
printf("输入选择有误!请重新输入:");
scanf("%d",&choice);
break;
}
}
system("pause");
return 0;
}
我想让原文如第一行第一列的单词a,转化为密文形式为(1,1),望大神帮助。

  • 写回答

3条回答 默认 最新

  • fuill 2022-01-04 18:53
    关注

    现在不乱码了

    img

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #define OFN "D:\\原文件.txt"
    #define EFN "D:\\加密文件.txt"
    #define DFN "D:\\解密文件.txt"
    char y[650],m[650],jm[650];//分别为原文件字符,加密文件字符,解密文件字符 
    int yb=0,mb=0,jmb=0;//分别为原文件下标,加密文件下标,解密文件下标
    int h=1;//密码属性,初始为1 
    void f()
    {
        FILE* fp1;
        FILE* fp2;
        char c;
        fp1=fopen("D:\\t.txt","r");
        fp2=fopen("D:\\t2.txt","w");
        if(fp1==NULL||fp2==NULL)
        {
            printf("文件打开失败!\n");
            return;
        }
        else
        {
            while(c!=EOF)
            {
                c = fgetc (fp1);
                
                fputc(c, fp2);
            }
        }
        fclose(fp1);
        fclose(fp2);
    }
    
    void en()
    {
        FILE* fp1;
        FILE* fp2;
        
        char c;
        h=-5;
        fp1=fopen("D:\\t.txt","r");
        fp2=fopen("D:\\t2.txt","w");
        
        if(fp1==NULL||fp2==NULL)
        {
            printf("文件打开失败!\n");
            return;
        }
        else
        {
            while(c!=EOF)
            {
            c = fgetc (fp1);
            y[yb]=c;    
            if(c>='A'&&c<='Z')
            {
                c=c+57-(c-'A')*2;
            }
            else if(c>='a'&&c<='z')
            {
                c=c-7-(c-'a')*2;
            }
                yb++;
                fputc(c, fp2);
                m[mb] =c;mb++;
            }
            y[yb+1]='\0';
            m[mb+1]='\0';
        }
        fclose(fp1);
        fclose(fp2);
        printf("原文为:\n");
        puts(y);
        printf("密文为:\n");
        puts(m);
        
        
    }
    
    void de()
    {
        FILE* fp1;
        FILE* fp2;
        char c;
        h=1;
        fp1=fopen("D:\\t2.txt","r");
        fp2=fopen("D:\\t3.txt","w");
        
        if(fp1==NULL||fp2==NULL)
        {
            printf("文件打开失败!\n");
            return;
        }
        else
        {
            while(c!=EOF)
            {
                c = fgetc (fp1);
                y[yb]=c;yb++;
            if(c>='A'&&c<='Z')
            {
                c=c+57-(c-'A')*2;
            }
            else if(c>='a'&&c<='z')
            {
                c=c-7-(c-'a')*2;
            }
                fputc(c, fp2);
                jm[jmb] =c;jmb++;
            }
            //y[yb+1]='\0';
            jm[jmb+1]='\0';
        }
        fclose(fp1);
        fclose(fp2);
        
        printf("密文为:\n");
        puts(m);
        printf("解密文为:\n");
        puts(jm);
        int k;
        /*for(k=0;k<jmb;k++)
        {
            printf("%c",jm[k]);
        }/**/
        //printf("%s",jm);
    } 
    
    int main()
    {
        int choice;
        int n=250;
        while(n--)
        {
            //system("cls");
            printf("欢迎使用文件加密系统!\n");
            printf("请输入您的选择\n");
            printf("1.加密文件 2.解密文件 3.退出系统\n");
            scanf("%d",&choice);
    
            switch (choice)
            {
                case 1:
                    en();
                    break;
                case 2:
                    de();
                    break;
                case 3:
                    printf("非常感谢您的使用!期待与您下次相见\n");
                default:
                    printf("输入选择有误!请重新输入:");
                    scanf("%d",&choice);
                    break;
            }
        }
        system("pause");
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 创建了问题 1月4日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助