Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
HiperWars

é possivel limpar parte da tela? c++

Recommended Posts

Galera to com uma dúvida... é possível limpar PARTE da tela? 

 

Eu criei um programinha... uma mini calculadora onde se o número digitado não for uma das opções definidas, ele retorna a leitura da variável em questão... 

 

porém isso acaba repetindo o trecho várias vezes, e eu não gostaria de perder o resultado acima... 

 

Segue o código e a imagem do que acontece em duas situações: 

 

if (menu == 1) {
        loop:
        system("cls");
        cout << "Opção Selecionada: SOMA " << endl;
        cout << "Informe o primeiro número: "; cin >> n1;
        cout << "Informe o segundo  número: "; cin >> n2;
        cout << endl << "O resultado da soma entre " << n1 << " + " << n2 << " é igual á: " << n1 + n2 << endl << endl;
        loop_submenu1:
        cout << "[1] Retornar ao Menu Principal || [2] Sair do Programa || [3] Repetir a Operação: "; /*loop_submenu1:*/ cin >> mp;
        if (mp == 1){
            system("cls"); return main();
        } else if (mp == 2) {
         system("cls"); cout << "Obrigado por utilizar nossa ferramenta!" << endl;  return 0;
        } else if (mp == 3) { system("cls"); goto loop; }
        else { goto loop_submenu1; }
        }

Repetição - Primeiro Caso C++.PNG

Como podem observar, senão for uma das opções definidas 1, 2, 3, o programa irá repetir o submenu.

 

Mas eu gostaria de apagar esse submenu e manter o resultado acima, se eu apertar 4, 5, 6... etc... Eu gostaria apenas que apagasse esse submenu e repetisse ele. Como se eu desse um system("cls"); em apenas aquela parte do código.

 

Em um segundo caso, é quando eu coloco a repetição apenas na variável, como segue abaixo:

 

if (menu == 1) {
        loop:
        system("cls");
        cout << "Opção Selecionada: SOMA " << endl;
        cout << "Informe o primeiro número: "; cin >> n1;
        cout << "Informe o segundo  número: "; cin >> n2;
        cout << endl << "O resultado da soma entre " << n1 << " + " << n2 << " é igual á: " << n1 + n2 << endl << endl;
        //loop_submenu1:
        cout << "[1] Retornar ao Menu Principal || [2] Sair do Programa || [3] Repetir a Operação: "; loop_submenu1: cin >> mp;
        if (mp == 1){
            system("cls"); return main();
        } else if (mp == 2) {
         system("cls"); cout << "Obrigado por utilizar nossa ferramenta!" << endl;  return 0;
        } else if (mp == 3) { system("cls"); goto loop; }
        else { goto loop_submenu1; }
        }

Repetição - Segundo Caso C++.PNG

 

Como podem observar, apenas a variável mp(do submenu) está se repetindo. Como faço para apagar apenas o número inserido lá em cima e repetir o valor da variável pelo comando "cin" na mesma linha?

 

ex: [1] Ret.... [2] Sair... [3] Rep... : 4 

se (mp >= 4) { limpe apenas o número (mp) 4, e permita ao usuário digitar novamente um número válido na mesma linha }

 

foi um exemplo grosseiro não seguindo as regras, foi apenas para vocês entenderem o que eu quero.

 

Ah sim, e outra coisa... Existe o << endl; Para pular uma linha... correto? porém, existe algum comando que retorne a linha?

 

Se vocês observarem, quando o usuário atribui um valor a variável mp(do submenu) ela automaticamente pula a linha, mesmo não existindo um endl na linha em questão... É possivel retornar a mesma linha para inserir ao lado o próximo número que o usuário digitar?

 

Podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×