Ir para conteúdo
Matheus Marqui

Como posso utilizar comando do sistema (system("...")) com variáveis?

Recommended Posts

Opa, gostaria de saber como eu poderia utilizar comandos do sistema com variáveis e se isso é possível...

Ex:

string menuConfig()
{
    system("cls");
    string nl;
    cout << "Configurações e Informações - Versão 1.0.0\n";
    cout << "Cores do programa (system(color nl)) sendo 'n' número e 'l' letra: ";
    cin >> nl;
    system("color "<< nl); //Gostaria de saber como eu poderia fazer isso funcionar, ou algo semelhante...

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Vou passar um exemplo d um pequeno exemplo do uso de variável no comando system() q inclusive aborda a questão das cores da letra e do fundo q até mesmo você pode usar em seus projetos.

 

#include <stdio.h>
#include <conio.h>
#include <windows.h>

int tecla()
{
    int varTecla;
    while (1)
    {
        varTecla = getch();
        return varTecla;
    }
}

void cor()
{
	char cor[10] = "Color 0f";
	int c, corL = 0, corF = 0, lugar = 0;

	system("cls");

	system(cor);

	printf("\n\t   Use as setas Direcionais   \n"
		"\t      para mudar de cor       \n"
		"\t  Para voltar ao menu tecle   \n"
		"\t            ENTER             \n"
		"\t                              \n"
		"\t          [ LETRA ]           \n"
		"\t            FUNDO             \n");

	while (1)
	{
		if (_kbhit())
		{
			system("cls");
			c = tecla();

			// 80 para cima
			// 72 para baixo
			// 75 direita
			// 77 esquerda
			// 13 enter

			if (c == 80)
			{
				lugar++;
				if (lugar > 1)
				{
					lugar = 0;
				}
			}
			else if (c == 72)
			{
				lugar--;
				if (lugar < 0)
				{
					lugar = 1;
				}
			}


			else if (c == 13)  // enter
			{
				// comando que preferir, como chamado a uma função, por ex
				exit(0);
			}

			else if (c == 75) // direita
			{
				if (lugar == 0)
				{
					corL++;
					if (corL > 5)
					{
						corL = 0;
					}
				}
				else if (lugar == 1)
				{
					corF++;
					if (corF > 5)
					{
						corF = 0;
					}
				}

			}
			else if (c == 77) // esquerda
			{
				if (lugar == 0)
				{
					corL--;
					if (corL < 0)
					{
						corL = 5;
					}
				}
				else if (lugar == 1)
				{
					corF--;
					if (corF < 0)
					{
						corF = 5;
					}
				}
			}

			if (lugar == 0)
			{
				printf("\n\t   Use as setas Direcionais   \n"
					"\t      para mudar de cor       \n"
					"\t  Para voltar ao menu tecle   \n"
					"\t            ENTER             \n"
					"\t                              \n"
					"\t          [ LETRA ]           \n"
					"\t            FUNDO             \n");
			}
			else if (lugar == 1)
			{
				printf("\n\t   Use as setas Direcionais   \n"
					"\t      para mudar de cor       \n"
					"\t  Para voltar ao menu tecle   \n"
					"\t            ENTER             \n"
					"\t                              \n"
					"\t            LETRA             \n"
					"\t          [ FUNDO ]           \n");
			}


			switch (corL)
			{
			case 0:
				cor[7] = '3';
				break;
			case 1:
				cor[7] = '4';
				break;
			case 2:
				cor[7] = '5';
				break;
			case 3:
				cor[7] = '6';
				break;
			case 4:
				cor[7] = '7';
				break;
			case 5:
				cor[7] = '8';
				break;
			}


			switch (corF)
			{
			case 0:
				cor[6] = '3';
				break;
			case 1:
				cor[6] = '4';
				break;
			case 2:
				cor[6] = '5';
				break;
			case 3:
				cor[6] = '6';
				break;
			case 4:
				cor[6] = '7';
				break;
            case 5:
                cor[6] = '8';
			}
		}

		system(cor);
	}
}


int main()
{
    char *texto = "title Exemplo de Codigo";

    system(texto);

    cor();

    return 0;
}




No método main tbém faço uso d uma variável como parâmetro do comando system(), mas no método cor() isso é melhor trabalhado.

Em virtude do código ser muito extenso, dei uma reduzida na qtde de cores, mas creio q a ideia principal vai conseguir entender.

Só q teria q dar uma revisada na parte do lugar no método cor(), pois como reduzi a qtde de cores pode ser q algo eu tenha esquecido d mudar 

 

 

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Kaka_Ubuntu
      Como abrir softwares e extensões como PDF, PNG, etc através do PHP?
      Eu estou usando o Debian. Com linguagem PHP7, Mysql e Apache2. Meu objetivo é ser capaz de abrir os programas como navegador, libreoffice, etc usando a linguagem PHP. Eu já tentei usar: shell_exec, exec, system, passthru .... exemplo, tentei abrir o navegador.
      shell_exec ("xdg-open 'https://www.google.com'"); shell_exec ("xdg-open/usr/bin/Chrome browser"); shell_exec ("xdg-open sensitive-browser"); shell_exec ("x-www-browser https://www.google.com"); shell_exec ("sensitive browser"); shell_exec ("/usr/bin/chromium-browser"); Mas eu não consegui abrir, alguém sabe?
    • Por m
      Sou iniciante em c e preciso transformar um num. romano em numero decimal mas não posso usar nenhuma biblioteca o função alem de for, while, strcmp, e if basicamente. 
    • Por belylorena
      Ajudem me por favor, preciso de um programa, na linguagem de programação C, que calcule numericamente
      os coeficientes do polinômio interpolador.
      1. Descrição Geral do Código
      a. O programa deverá identificar os coeficientes do polinômio interpolador segundo
      cada um dos métodos abaixo:
      i. Método de Lagrange
      ii. Método de Newton
      iii. Método de Gregory-Newton (limitado a tabelamentos de pontos
      equidistantes).
      2. Entrada do código
      a. O programa deverá ler um arquivo de texto contendo o número de pontos do
      tabelamento e os pontos do tabelamento (escritos em notação científica como
      mostrados abaixo).
      b. Exemplo de arquivo de entrada:
      linha 1: 4
      linha 2: -1.000000E+00 -2.00000E+00
      linha 3: +2.000000E+00 +3.00000E+00
      linha 4: +3.000000E+00 +8.00000E+00
      linha 5: +4.000000E+00 +1.60000E+01
      3. Saída do programa
      a. O programa deve imprimir em cada linha respectivamente: a potência, seguido dos
      coeficientes calculados por Lagrange, Newton e Gregory-Newton. Os coeficientes
      devem ser impressos em notação científica, com 6 casas decimais. Como mostrado
      abaixo
      Lagrange Newton Gregory-Newton
      a00 +1.000000E+00 +1.000000E+00 +1.000000E+00
      a01 -1.000000E+02 -1.000000E+02 -1.000000E+02
      4. Outras especificações do programa:
      a. Todas as variáveis reais devem ser declaradas com dupla precisão.
      b. O tabelamento deve ter entre 2 e 100 pontos. Caso esteja fora dessa faixa, o
      programa deve avisar que o arquivo está fora do escopo do projeto, perguntando se
      ele deseja realizar um novo cálculo ou se deseja encerrar o programa.
      c. O programa deve pedir ao usuário o nome do arquivo que contém os dados do
      tabelamento;
      i. Este arquivo deve estar na mesma pasta do código executável;
      ii. O programa deve permitir que o usuário realize novos cálculos. Após
      imprimir os resultados, ele deve perguntar se o usuário deseja executar um
      novo cálculo, ou se deseja encerrar o programa.
      ...
      an -3.400000E-02 -3.400000E-02 -3.400000E-02
      obs: caso o método de Gregory-Newton não seja possível de ser calculado, sua
      coluna virá preenchida com zeros, da forma +0.000000E+00.
       
    • Por fuchs2
      Estou cursando isso na escola.. mais nao so muito bom rsrs e queria pedir a ajuda de voces
      1. Faça um algoritmo que receba 3 números, e verifique e mostre na saída qual o maior e qual o menor.
      2. Faça um algoritmo que receba o nome de 2 times de futebol, e receba a quantidade de gols que cada time fez no jogo, o algoritmo deve calcular qual time ganhou e qual time perdeu a partir do saldo de gols.
    • Por mattostiago
      Boa noite pessoal!
       
      Editei um plugin e inclui nele algumas variáveis. Muitas delas para datas.
       
      Por exemplo:
      Na data 01/01/2018 o plugin vai se comportar da maneira x.
       
      Mas as datas quem define, é o usuário. Atualmente para alterar essa data eu preciso alterar o código do plugin.
       
      Como eu posso criar uma página no painel para receber os dados destas variáveis criadas no plugin? Ou seja, receber estas datas informadas pelo usuário?
       
       
      Gostaria que no painel ficasse mais ou menos assim:
       
      Escolha as datas da regra 1:
      Data: ___________________
      Data: ___________________
      Botão: Add novo campo data
       
      Escolha as datas da regra 2:
      Data: ___________________
      Data: ___________________
      Botão: Add novo campo data
       
      Escolha o numero de dias para regra 1: _____
      Escolha o numero de dias para regra 2: _____
       
      Seria mais ou menos isso.
      Alguém me salva? rs
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.