Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有人想过用C+编写一个与旧手机中的消息编写器工作方式相同的程序+;?_C++ - Fatal编程技术网

C++ 有没有人想过用C+编写一个与旧手机中的消息编写器工作方式相同的程序+;?

C++ 有没有人想过用C+编写一个与旧手机中的消息编写器工作方式相同的程序+;?,c++,C++,程序必须接收整数输入。当使用enter 2时,程序输出字母“A”,如果按2两次,字母“A”将从屏幕上消失,字符“B”将出现,如果按2三次,字母“B”将消失,字母C将出现。要输入“AA”,您必须延迟输入数字“2”两次。延迟必须和移动设备中的延迟一样小 输入如下数字并将其转换为字符串的程序。28444333#如果必须打印“AAA”,程序将输出ATIF,然后输入将为212121#其中1用作分隔符。#将用作输入终止符 我在while循环中使用switch语句制作了一个程序。这是我迄今为止做的最大的一件事

程序必须接收整数输入。当使用enter 2时,程序输出字母“A”,如果按2两次,字母“A”将从屏幕上消失,字符“B”将出现,如果按2三次,字母“B”将消失,字母C将出现。要输入“AA”,您必须延迟输入数字“2”两次。延迟必须和移动设备中的延迟一样小

输入如下数字并将其转换为字符串的程序。28444333#如果必须打印“AAA”,程序将输出ATIF,然后输入将为212121#其中1用作分隔符。#将用作输入终止符

我在while循环中使用switch语句制作了一个程序。这是我迄今为止做的最大的一件事

using namespace std;

#include <iostream>
#include <stdlib.h>
#include <conio.h>


int main(){

    int x;
    while (1){
        cin >> x;
        switch(x){

    case 2:
        {
            system("CLS");

            cout << "A\n";
    break;
        }
    case 22:
        {
            system("CLS");
            cout << "B\n";
    break;
        }
    case 222:
        {
            system("CLS");
            cout << "C\n";
    break;

        }
        case 3:
        {
            system("CLS");
            cout << "D\n";
    break;
        }
    case 33:
        {
            system("CLS");
            cout << "E\n";
    break;
        }
    case 333:
        {
            system("CLS");
            cout << "F\n";
    break;
        }
        case 4:
        {
            system("CLS");
            cout << "G\n";
    break;
        }
    case 44:
        {
            system("CLS");
            cout << "H\n";
    break;
        }
    case 444:
        {
            system("CLS");
            cout << "I\n";
    break;
        }
        case 5:
        {
            system("CLS");
            cout << "J\n";
    break;
        }
    case 55:
        {
            system("CLS");
            cout << "K\n";
    break;
        }
    case 555:
        {
            system("CLS");
            cout << "L\n";
    break;
        }
        case 6:
        {
            system("CLS");
            cout << "M\n";
    break;
        }
    case 66:
        {
            system("CLS");
            cout << "N\n";
    break;
        }
    case 666:
        {
            system("CLS");
            cout << "O\n";
    break;
        }
    case 7:
        {
            system("CLS");
            cout << "P\n";
    break;
        }
    case 77:
        {
            system("CLS");
            cout << "Q\n";
    break;
        }
    case 777:
        {
            system("CLS");
            cout << "R\n";
    break;
        }
    case 7777:
        {
            system("CLS");
            cout << "S\n";

    break;
        }
    case 8:
        {
            system("CLS");
            cout << "T\n";
    break;
        }
    case 88:
        {
            system("CLS");
            cout << "U\n";
    break;
        }
    case 888:
        {
            system("CLS");
            cout << "V\n";
    break;
        }
    case 9:
        {
            system("CLS");
            cout << "W\n";
    break;
        }
    case 99:
        {
            system("CLS");
            cout << "X\n";
    break;
        }
    case 999:
        {
            system("CLS");
            cout << "Y\n";
    break;
        }
    case 9999:
        {
            system("CLS");
            cout << "Z\n";
        }
    break;
    case 0:
        {
            system("CLS");
            cout << " \n";
        }
    break;
    case 1:
        {
            system("CLS");
            cout << ".\n";
        }

    break;
    }
}
return 0;
}
使用名称空间std;
#包括
#包括
#包括
int main(){
int x;
而(1){
cin>>x;
开关(x){
案例2:
{
系统(“CLS”);

cout输入流没有按键之间延迟的概念。为了实现描述中描述的内容,您必须依赖于操作系统相关的API,例如


和计时器。

您需要跟踪按键和按键之间的延迟,您可以使用
::std::chrono
测量时间间隔

#包括
#包括
...
使用名称空间std;
使用名称空间计时;
int重复_计数{};
decltype(cin.get())last_char{};
decltype(高分辨率时钟::now())最后一次输入时间{};
自动常数最大延迟{200ms};
对于(;;)
{
自动常量c{cin.get()};
自动常量now{high_resolution_clock::now()};
自动常量字符重复{c==最后一个字符};
自动常数延迟足够小{(现在-最后一次输入时间)<最大延迟};
//TODO打印键基于按下的字符并重复计数。。。
如果(字符重复和延迟足够小)
{
++重复_计数;
}
其他的
{
重复_计数=0;
}
最后字符=c;
上次输入时间=现在;
}

我认为您应该切换到
libc
调用
getc()
/
getchar()
,因为流输入需要在每个符号后按Enter键。此外,您需要将
switch
语句包装在一个循环中,测量输入之间的时间,并使条件更加复杂(它必须记住上一个键本身、输入的次数和最后一次输入的时间)我真的很欣赏GMichael!但是问题是我几乎是C++新手,这就是为什么你想说的我不太合适。这不是C++初学者应该解决的问题。拿走延迟要求,这是微不足道的,但是一旦你添加了测量按键之间的延迟的欲望,它就不是那么微不足道了。是的,我有一个粗略的想法,但是不知道什么是语法,谢谢你。我知道了。但是我应该如何开始编写程序,处理输入和输出结果。抱歉这些愚蠢的问题,因为我是完全新的C++,不知道极端简单的任务。