Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Matheus Augusto Prado

Comandos

Recommended Posts

tenta algo como:

 

if {
...
} else if {
....
} else if {
....
} else {
....
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

dae... beleza???

 

cara usa assim

 

if (strcmp(valor1,valor2) == 0) para se for igual... beleza? Obviamente se der algo diferente de 0 é diferente ^^

 

 

vlwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, houve uma confusão. o negocio é que eu traduzi a página, com o google tradutor, daí deve ter alterado algo no código, que eu não percebi. mas hoje depois de ler sua resposta, acessei a página no idioma original (ingles), fiz o mesmo processo pra ver os erros e deu certo! haha

 

vlw! obrigado! vou ver se é oq eu precisava, e qqer coisa dô um grito http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pts, pior que não é exatamente o que preciso...

 

Explicando melhor, é tipo um switch. Só que ao invés de digitar apenas uma letra (case 'a') ou um numero (case 1) é preciso uma palavra (case 'palavra'), ou seja, mais de um caractere.

 

Algo semelhante acontece no DOS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se não é strcmp(), então você não está sabendo explicar o que quer ou não está usando a função corretamente.

 

if ( strcmp("opcao1", opcao) == 0 )
{
	/* executar opcao 1 */
	else
	{
		if ( strcmp("opcao2", opcao) == 0 )
		{
			/* executar opcao 2 */
		}
	}
}

E por aí vai... quantos if/else forem necessários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o mateus augusto deu uma opção como o switch, porque ele não fez com o shitch? ele estava procurando outra forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se não é strcmp(), então você não está sabendo explicar o que quer ou não está usando a função corretamente.

 

if ( strcmp("opcao1", opcao) == 0 )
{
	/* executar opcao 1 */
	else
	{
		if ( strcmp("opcao2", opcao) == 0 )
		{
			/* executar opcao 2 */
		}
	}
}

E por aí vai... quantos if/else forem necessários.

Beraldo, que código sinistro esse seu hein!

Tenta assim:

 

if(strcmp("opcao1", opcao) == 0)
{
	/* executar opcao 1 */
} else if(strcmp("opcao2", opcao) == 0)
{
	/* executar opcao 2 */
}

o mateus augusto deu uma opção como o switch, porque ele não fez com o shitch? ele estava procurando outra forma?

Simples, porque não vai ser prático fazer assim. Para utilizar um switch seria feito algo assim:

 

switch(true)
{
	case strcmp("opcao 1", opcao):
		/*op 1*/
		break;
	case strcmp("opcao 2", opcao):
		/*op2*/
		break;
	default:
		/*errado*/
}

É muito mais simples utilizar a primeira maneira do if/else.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Enésio, em relação ao último código, q fala sobre switch, talvez seja oq eu preciso, e é oq estou tentando explicar-lhes. Obrigado.

 

Mas fica uma dúvida com relação à uma sutil situação: é preciso colocar alguma coisa antes de "switch(true)", já q estou usando strcmp?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, que código sinistro esse seu hein!

ops... nem vi.

Vou ensinar o pessoal a programar errado.. hahaha

 

Eu quis dizer isto:

if ( strcmp("opcao1", opcao) == 0 )
{
	/* executar opcao 1 */
}
else
{
	if ( strcmp("opcao2", opcao) == 0 )
	{
		  /* executar opcao 2 */
	 }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa aninhar o if no else vai criar uma coisa gigante depois e vai ficar difícil de ler! hehehe

 

Matheus, não estou entendo o que você quer, pois você fala que quer um switch mas não tem diferença absolutamente nenhuma entre um switch e uma série de ifs e elses, apenas a formatação do código e no caso a formatação fica mais limpa com if e else já falei, então acredito que o que você quer seja outra coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa aninhar o if no else vai criar uma coisa gigante depois e vai ficar difícil de ler! hehehe

Mas isso é questão de preferência. Acho melhor a indentação da forma como postei. Mas tanto faz. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

olhem, achei este código de um sugeito chamado Fabio de Albuquerque (créditos, fazer oq? tem q ser honesto hahah).

Enfim, tentei fazer algumas alterações.

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	//Para OS
	char comando[30];

	//Para Mkdir
	int novodir[10];

	//Para calculadora
	int x;
	int y;

	// Para saida
	int nada;

	// Para editor de texto
	char texto[500];
	char filename[20];

	// Inicio do sistema
	system("color 8F"); //ALTERACAO DE MATHEUS A. PRADO
	printf("\n\nConsole 0.0.1"); //ALTERACAO DE MATHEUS A. PRADO
	printf("\n \n  - Digite 'help' para visualizar a lista de comandos.\n\n"); //ALTERACAO DE MATHEUS A. PRADO
	goto a;

	// Entrada de comandos
	a: {
	printf("std@user: "); //ALTERACAO DE MATHEUS A. PRADO
	gets(comando);
	if ( strcmp(comando,"help") == 0 ) { printf("\n \n dir : mostra diretorio \n mk : cria diretorio \n help : mostra comandos \n calc : roda programa calculadora \n exit : sai do OS \n about : abre arquivo que fala sobre o sistema \n edit : edita arquivo de texto na memoria interna \n read : le arquivo na memoria interna \n open <nome do diretorio> : abre o diretorio \n back : retorna ao diretorio anterior \n \n"); goto a; }
	else if ( strcmp(comando,"dir") == 0 ) { printf(" \n"); goto b; }
	else if ( strcmp(comando,"calc") == 0) { printf(" \n"); goto c; }
	else if ( strcmp(comando,"mk") == 0) { printf(" \n"); goto d; }
	else if ( strcmp(comando,"exit") == 0) { printf(" \n"); goto end; }
	else if ( strcmp(comando,"about") == 0) { printf(" \n"); goto e; }
	else if ( strcmp(comando,"edit") == 0) { printf(" \n"); goto f; }
	else if ( strcmp(comando,"read") == 0) { printf(" \n"); goto g; }
	else if ( strcmp(comando,"open sistema") == 0) { printf(" \n"); printf("Diretorio aberto \n \n"); goto h; }
	else if ( strcmp(comando,"back") == 0) { printf ("Diretorio anterior nao disponivel! \n \n"); goto a; }
	else { printf("Comando ou arquivo ou diretorio nao encontrado! \n"); goto a; }
	}

é realmente oq preciso, e com certeza oq vcs estavam me apresentando. mas tá programado em C. alguém pode me ajudar na converção, por favor?? Ao menos me explicar, pois, como eu sendo um iniciante, não entendi mto os códigos q vcs estavam me mostrando. Mto obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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