Ir ao conteúdo

C Falha e sucesso, par e ímpar


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

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
  • Solução
Postado

@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
Postado

Muito obrigada, pessoal! 🤩 acabei de começar a aprender sobre vetores, vou me aprofundar mais nesse assunto, obrigada por me ajudarem de novo 😀

  • Curtir 1

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