Ir ao conteúdo
  • Cadastre-se
rickreaper

Exercício em c

Recommended Posts

Galera to precisando de uma ajuda em um exercícios simples.

O exercício em questão é:

"Acrescente uma mensagem de " Refazer o cálculo (s/n) no final do exercício 1 (Que no caso era fazer a media de duas notas)

S para SIM e N para Não.

 

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

int main ()
{

	
	float n1, n2, nf;
	
			
	printf("Digite a primeira nota:\n");
	scanf("%f", &n1);
		while ( n1 < 0 || n1 > 10 ) {
			printf("Nota invalida, valores entre 0 e 10\n Digite novamente:\n");
			scanf("%f", &n1);
		}
	
		
	printf("Digite a segunda nota:\n");
	scanf("%f", &n2);
		while ( n2 < 0 || n2 > 10 ) {
			printf("Nota invalida, valores entre 0 e 10\n Digite novamente:\n");
			scanf("%f", &n2);
		}
		
	nf = ((n1+n2)/2);
	printf("A media das notas e %.2f", nf);
	


	
	char re;
	
	printf("Deseja refazer o calculo?\nS para SIM e N para Nao");
	scanf("%c", &re);
		switch ( re ) 	{
			case 'S' : printf("A media das notas e %.2f", nf); break;
			case 'N' : printf("Fim do programa"); break;
			default : printf("Digite S/N para Sim ou nao"); 
						}

		
	
}

 

O problema é que eu quero que leia um Caractere para eu fazer a comparação, só que não trigga quando coloco %c

Se eu declarar a variável 're' como float ou int ela triga o scanf, mas não me serve por que ai a condição não vai ser válida já que não é um character

Eu poderia atribuir um numero a S e N mas não gostaria de fazer dessa forma hahaha (frescura) queria usar esse comando ou outro mais indicado. Enfim. Dá um help aê.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
////~Authr: Mauro Britivaldo
////~Date: 10/25/2016

#include <stdio.h> //~printf,scanf
///~Retona média aritmética
float average( void );
int main( void )
{
	float total = 0;
	
	total = average( );
	//~ Neste menu se total := 0 então finaliza.
	while( total && printf( "Media: %.2f\nContinue (s/n): ", total ) )
		switch( getchar( ) )
		{
			case 's': total = average( ); break;
			case 'n': total = .00f; break;
			default: printf( "Opção invalida!\n" );
		}
	//~Este menu vai peguntar se deseja fazer novamente.
	return( 0x0 );//!Done
}

///~Retona média aritmética~
///~Definição ...
float average( void )
{
	float soma  = 0, in;
	int count = 0;
	
	printf( "Enter with numbers # to exit: " );
	while( scanf( " %f", &in ) )
		count++, soma += in;
	
	while( '\n' != getchar() ) continue;
	return( soma / count );
}

 

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





Sobre o Clube do Hardware

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

×