Ir ao conteúdo
  • Cadastre-se

Exercício em c


rickreaper

Posts recomendados

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.

Link para o comentário
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 );
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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