Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/03/2012, 08:48
Avatar de fradve
fradve
 
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: Problemas con un bucle do/while infinito xD

Estimado sven_uri, no era necesario tanto while, solo con el primero basta para que se presente nuevamente tu menu si eliges de si (S).

Tu código con unas pequeñas modificaciones quedaría así:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
float areaTriangulo(float pBase, float pAltura);
float areaRectangulo(float pLado1, float pLado2);
 
int main(){
    float base, altura, lado1, lado2, lado3, area, perimetro;
    char seleccion,respuesta
    //int deseaContinuar = 1;
 
	do
	{	 
		printf("Selecciona el area de un triangulo o un rectangulo(t/r) \n");
		scanf("%c",&seleccion);
		 
		switch(seleccion)
		{
			case 't':
				system("CLS");
				printf("Hola soy un triangulo\n");
				printf("Digiste la base: \n");
				scanf("%f",&lado1);
				printf("Digiste la altura: \n");
				scanf("%f",&lado2);
				printf("%.2f \n",areaTriangulo(lado1, lado2));
				getch(); 
				break;
			case 'r':
				system("CLS");
				printf("Hola soy un rectangulo\n");
				printf("Digiste el largo: \n");
				scanf("%f",&lado1);
				printf("Digiste el ancho: \n");
				scanf("%f",&lado2);
				printf("%.2f \n",areaRectangulo(lado1, lado2));
				getch();
				break; 
			default:
					printf("Error: Opcion incorrecta");
					printf("Aprieta una tecla correcta ...");
					getch();
			   
		}/*fin del switch*/		 
	
		 printf("Quieres realizar otra operación?(S/N)");
		 respuesta=getch();		 
	}while(respuesta!='N'||respuesta!='n');
	system("PAUSE");
	return 0;
}
 
float areaTriangulo(float pBase, float pAltura)
{
    float areaTriangulo = pBase*pAltura*0.5;
    return areaTriangulo;
}
float areaRectangulo(float pLado1, float pLado2)
{
    float areaRectangulo = pLado1*pLado2;
    return areaRectangulo;
}
saludos
__________________
En programación hay mil y un formas de hacer lo mismo...