首页 > 解决方案 > 我的编码器程序不打印翻译的消息,在 C

问题描述

printf("Enter a string: ");
            fgets(input, sizeof(input), stdin);
            printf("\n\nYour original string: ");
            puts(input);
            printf("\n\nYour coded string: ");
            for (y = 0; input[y]; y++) {
                for (z = 0; encoder[z, 0]; z++) {
                    if (toupper(input[y]) == encoder[z, 0]) {
                        input[y] = encoder[z, 1];
                    }
                }
            }
            puts(input);

这是输出:

输出

如果不可见:解码器

  1. 编码/解码
  2. 退出 1

输入一个字符串:狗唱歌

你的原弦:狗唱歌

您的编码字符串:

任何意见,将不胜感激!

标签: cstringencodingdecoding

解决方案


经过一些故障排除(我在发布前一整天都在这)我找到了这样的解决方案:

printf("Enter a string: ");
            fgets(input, sizeof(input), stdin);
            printf("\n\nYour original string: ");
            puts(input);
            while (input[i]) {
                (toupper(input[i]));
                input[i] = toupper(input[i]);
                i++;
            }
            printf("\n\nYour coded string: ");
            for (y = 0; input[y]; y++) {
                for (z = 0; encoder[z][0]; z++) {
                    if (input[y] == encoder[z][0]) {
                        input[y] = encoder[z][1];
                    }
                }
            }
            puts(input);

推荐阅读