Ir ao conteúdo

Posts recomendados

Postado

Boa noite pessoal ,estou enviando mais um programa simples em C que mostra o conceito 

da estrutura seletiva Switch  ,espero que gostem :thumbsup:

#include<stdio.h>
/*Criando um programa em C que 
mostra o conceito do uso da estrutura switch */ 


int main (){
	
	      
	      
	      
int a,b,s,opcao;

         
         
         printf("----------Strutura_seletiva_Switch----------\n");
         
printf("Digite o primeiro numero\n"); 
scanf("%d",&a);

printf("Digite o segundo numero\n"); 
scanf("%d",&b); 


	printf("qual operacao deseja realizar?\n");
	
	printf("1.somar\n");
	printf("2.subtrair\n");
    printf("3.multiplicar\n");
	printf("4.dividir\n");
	scanf("%d",&opcao);
	switch (opcao){
		
		case 1: 
		
		s=(a+b);
		printf("O resultado da soma e : %d\n",s);
		break ;
		
     
	 case 2: 
	 s=(a-b);
	  printf("O resultado da subtracao e : %d\n",s);
	    break;
	   
	   case 3: 
	   s=(a*b);
	   printf("O resultado da multiplicacao e : %d\n",s);
	     break; 
	   
	   case 4 : 
	   s=(a/b); 
	   printf("O resultado da divisao e : %d\n",s);
	   break; 
	   
	   
	 } 
	 
	 //Recursividade 
	 
	 printf("Deseja reiniciar o programa?\n");
	 printf("Escolha a opcao desejada\n");
	 
	 printf("5.reiniciar\n");
	 printf("6.finalizar\n");
	 scanf("%d",&opcao);
	 
	 
	 if(opcao==5)
	 main(); 
	 
	 if(opcao==6)
	 return 0;
	 getchar();
	 
	 
     
}

 

  • Curtir 2
  • Membro VIP
Postado

Olá @FAWAUGHAN.

 

Bacana o exemplo... ;)

 

 

Mas aproveitando a oportunidade, segue algumas sugestões/dicas.

 

1) NOME DAS OPERAÇÕES

Não que esteja errado, mas o nome correto das operações é:

- Adição

- Subtração

- Multiplicação

- Divisão

 

 

 

2) INDENTAÇÃO DO CÓDIGO

No seu processo de edição do código, você está misturando espaço com tabulação (tab), o que pode desalinhar o código... ou seja, ou você deve usar só espaços, ou só usa tabulação. Ex.

 

#include<stdio.h>
/*Criando um programa em C que 
mostra o conceito do uso da estrutura switch */ 
int main (){
int a,b,s,opcao;

printf("----------Strutura_seletiva_Switch----------\n");
printf("Digite o primeiro numero\n"); 
scanf("%d",&a);
printf("Digite o segundo numero\n"); 
scanf("%d",&b); 
printf("Qual operacao deseja realizar?\n");
printf("1.somar\n");
printf("2.subtrair\n");
printf("3.multiplicar\n");
printf("4.dividir\n");
scanf("%d",&opcao);
switch (opcao){
	case 1: 
		s=(a+b);
		printf("O resultado da soma e : %d\n",s);
		break ;
	case 2: 
		s=(a-b);
		printf("O resultado da subtracao e : %d\n",s);
		break;
	case 3: 
		s=(a*b);
		printf("O resultado da multiplicacao e : %d\n",s);
		break; 
	case 4 : 
		s=(a/b); 
		printf("O resultado da divisao e : %d\n",s);
		break; 
} 
printf("Deseja reiniciar o programa?\n");
printf("Escolha a opcao desejada\n");
printf("5.reiniciar\n");
printf("6.finalizar\n");
scanf("%d",&opcao);
if(opcao==5)
	main(); 
if(opcao==6)
	return 0;
getchar();
}

É o mesmo código, mas perceba a diferença estética entre eles... :)

 

 

 

3)  RECURSIVIDADE

Você não pode simplesmente chamar a própria função novamente... pois a recursividade implica no uso de alguns recursos do computador sem necessidade. De um movo geral, o mais correto seria utilizar um laço de repetição.

 

Um pouco sobre aqui:
https://pt.wikipedia.org/wiki/Recursividade_(ciência_da_computação)

 

Talvez poderia chamar de "Repetividade"... "Verificar se deseja repetir"... ou simplesmente deixar sem comentário, já que não tem em outras partes.

 

 

 

4) CONDIÇÕES MUTUAMENTE EXCLUDENTES

if(opcao==5)
	main(); 
if(opcao==6)
	return 0;

Se um número for 5, ele não poderá ser 6 também, logo não se fazendo necessário continuar verificando... ou seja, deveria usar o if//else /if

 

 

 

***

 

No aguardo.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...