Ir ao conteúdo
  • Cadastre-se

C Falha e sucesso, par e ímpar


Noobia
Ir à solução Resolvido por devair1010,

Posts recomendados

Olá pessoas! Por favor, eu preciso do código no qual o usuário digite o número ''1'' para sucesso e ''0'' para falha, e mostre no final um printf mostrando o total de sucessos e falhas, porém eu não consigo fazer ele mostrar o tanto de falhas e sucesso que há
Na segunda parte do código, o programa deverá receber o número 0 ou 1 e em seguida gerar e exibir uma sequência dos 4 testes que devem ser realizados. Se o usuário digitar 1 serão exibidos testes ímpares, e se digitar 0, exibirá os testes pares.

 

Porém, está dando erro no final da exibição das duas partes do código, alguém por favor saberia me ajudar nesses problemas?

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
#include <conio.h>
int main ()
{
	setlocale (LC_ALL , "Portuguese");
	
	int opcao, resul1 , resul2 , resul3 , resul4 , resul5 , resul, teste, sucesso, falha;
	
	printf ("1 - Resultados dos Experimentos");
	printf ("\n2 - Geração de Testes");
	printf ("\n\nDigite a opção:  ");
	scanf ("%d", &opcao);
	
	switch (opcao)
	{
		case 1:
		printf ("Resultado do primeiro experimento: ");
		scanf ("%d", & resul1);
		
		printf ("Resultado do segundo experimento: ");
		scanf ("%d", & resul2);
		
		printf ("Resultado do terceiro experimento: ");
		scanf ("%d", & resul3);
		
		printf ("Resultado do quarto experimento: ");
		scanf ("%d", & resul4);
		
		printf ("Resultado do quinto experimento: ");
		scanf ("%d", & resul5);
		
		
		sucesso = resul1 + resul2 + resul3 + resul4 + resul5;
		falha = 0;
		
		printf ("Sucesso %2.f e falha %.2f");
		
		if (resul == 1)
		{
			printf ("Sucesso %.2f e falha %2.f");
		}
		
		else 
		{
			if (resul == 0)
			{
				printf ("Sucesso %2.f e falha %2.f");
			}
		}
		
		break;
		
		case 2:
		printf ("Digite 1 para testes pares ou 2 para testes ímpares: ");
		scanf ("%d", &teste);
		
		if (teste == 1)
		{
			printf (" Teste 1 - Teste 3 - Teste 5 - Teste 7 ");
		}
		
		else
		{
			if (teste == 0)
			{
				printf ("Teste 2 - Teste 4 - Teste 6 - Teste 8");
			}
		}
		
		break;
		
	}
	
	system ("pause");
	getch ();
	return 0;
}

 

adicionado 4 minutos depois

Esqueci de mencionar que na hora de gerar os testes pares e ímpares, deve ser utilizado um for, mas eu não consigo realizar o processo com essa estrutura..

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Noobia Com um vetor você diminuiria a quantidade de variáveis para o resultado e poderia utilizar um laço de repetição para realizar o teste.

Vetores: http://linguagemc.com.br/vetores-ou-arrays-em-linguagem-c/

laço de repetições: https://www.devmedia.com.br/estrutura-de-repeticao-c/24121

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Noobia     seu código está bom ,  e usando  vetores poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
#include <conio.h>
#define pausa for(f=0;f<80000000;f++);
int main (){
    setlocale (LC_ALL , "Portuguese") ;
    int opcao , teste , resultado[10] , 
        cont=0, j     , flag      , f ;
    float sucesso=0,falha=0;
    do{
        printf("1 - Resultados dos Experimentos\n");
        printf("2 - Geração de Testes\n");
        printf("3 - Sair Do Programa\n\n");
        printf("    Digite a opção : ");
        fflush(stdin);
        scanf ("%d", &opcao);
        switch(opcao){
        case 1:
            do{
                printf("\r                                       \r");
                printf("Resultado do %d%c experimento : ",cont+1,167);
                scanf ("%d", & resultado[cont]);
                cont++;
                printf("Quer Inserir mais um resultado S/N ");
            }while(toupper((char)getch()) != 'N');
            printf("\r                                       \n\n");
            for(j=0;j<cont;j++)
                if(resultado[j]==1)sucesso++;
                else
                    if(resultado[j]==0)falha++;
                printf("Sucesso %.2f e falha %.2f\n\n",sucesso,falha);
            break;
        case 2:
            system("cls");
            printf(" 1 - para testes pares\n"  );
            printf(" 2 - para testes ímpares\n");
            printf("     Opcao > ");
            scanf ("%d", &teste);
            printf("\n");            
            for(j=0;j<cont;j++){
                flag=0;
                if(teste==1 && j%2==0)flag=1;
                else
                if(teste==2 && j%2!=0)flag=1;
                if( flag )printf("Teste %d -> %d\n",j+1,resultado[j]);
            }
            printf("\n");
        }
    }while(opcao != 3 );
	printf("\n      Tecle !\n");
	while( ! kbhit()){
        printf("        | \r"   );pausa;       
        printf("        / \r"   );pausa;
        printf("        - \r"   );pausa;
        printf("        %c\r",92);pausa;
    }
	printf("\n\n\n");
	return 0;
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!