| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1318 人关注过本帖
标题:新人求助 心好累 一直解决不了
取消只看楼主 加入收藏
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
新人求助 心好累 一直解决不了
程序代码:
switch(n)
    {
    case '1':    
        system("cls");
        cout<<"请输入原文:";
        gets(str1);     //输入原文字符串
        cout<<endl;
        cout<<"原文为:";
        puts(str1);
        cout<<endl;
        encrypt(str1);  //加密
        cout<<"密文为:";
        puts(str1);
        cout<<endl;
        break;[local]1[/local]
我想输入例如“afjkfd 788 jkakf”这样的字符串到字符数组str1中 然后按下回车再执行gets(str1);后面的程序 结果它直接全部执行完了 如图片那样

PNT]`Q64VCICIV_]40}H9~V.png (31.75 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: system color 
2017-04-12 15:03
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
收藏
得分:0 
@九转星河
2017-04-12 16:27
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
收藏
得分:0 
完整代码在这呢
程序代码:
/*
    功能描述:输入原文 经过加密 输出密文 再经过解密 输出原文
    编写时间:2017年4月12日
    编写语言:C++
    编写环境:VC++6.0
    测试原文:Time Live Up To Deep Love.乱码*8-+【\
    测试密文:Grnv Orev Fk Gl Wvvk Olev.乱码*8-+【\
*/

#include<iostream>
#include<string>
#include<windows.h>
#include<conio.h>
using namespace std;


void encrypt(char *str1)  //加密与解密函数 定义一个字符型指针形参 
{
    int i,j;
    char str3[]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"},str4[]={"abcdefghijklmnopqrstuvwxyz"};
    for(i=0;str1[i]!='\0';)
    {
        if((str1[i]>='a'&&str1[i]<='z')||(str1[i]>='A'&&str1[i]<='Z')) //如果是字母 进入加密与解密阶段
        {    
            for(j=0;str3[j]!='\0';j++)   
            {
                if(str1[i]==str3[j])  //将字母与大写字母字符数组中字符进行比较
                {
                    str1[i]=str3[25-j];
                    i++;
                }
                if(str1[i]==str4[j])  //将字母与小写字母字符数组中字符进行比较
                {
                    str1[i]=str4[25-j];
                    i++;
                }
            }
        }
        else i++;  //如果是其他字符 不变
    }
}

void gotoxy(int x,int y) /*光标定位函数*/
{
    COORD coord={y,x};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

void main()
{
    int i;
    char c,n;
    char str1[200]={0}; //定义字符数组 用于储存原文或密文
    do
    {
        system("cls");
        gotoxy(6,15);
        cout<<"1.将原文转为密文.";
        gotoxy(8,15);
        cout<<"2.将密文转为原文.";
        gotoxy(10,15);
        cout<<"3.退出.";
        gotoxy(15,25);
        cout<<"请选择:";
        cin>>n;
    }while(n!='1'&&n!='2'&&n!='3');
    switch(n)
    {
    case '1':    
        system("cls");
        cout<<"请输入原文:";
        gets(str1);     //输入原文字符串
        cout<<endl;
        cout<<"原文为:";
        puts(str1);
        cout<<endl;
        encrypt(str1);  //加密
        cout<<"密文为:";
        puts(str1);
        cout<<endl;
        break;
    case '2':
        system("cls");
        cout<<"请输入密文:";
        gets(str1);    //输入密文字符串
        cout<<endl;
        cout<<"密文为:";
        puts(str1);
        cout<<endl;
        encrypt(str1);  //解密
        cout<<"原文为:";
        puts(str1);
        cout<<endl;
        break;
    case '3':
        exit(0);
    }
}
2017-04-12 16:59
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
收藏
得分:0 
回复 3楼 renkejun1942
完整代码我贴上去了 麻烦能不能帮我看看 多谢
2017-04-12 17:00
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
收藏
得分:0 
回复 3楼 renkejun1942
解决了 解决了 哈哈哈哈 我听你的在前面gets(str1) 前面加了getchar()顺利解决了问题 谢谢你
2017-04-12 17:03
红蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-12
收藏
得分:0 
回复 3楼 renkejun1942
可是为什么会这样? 不加这个 它就自动运行到结束了 加了getchar() 就可以了?
2017-04-12 17:05
快速回复:新人求助 心好累 一直解决不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081031 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved