Tema: c++ borland
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2012, 02:01
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: c++ borland

En el bucle do..while en el que ingresas los datos, la condición de salida que has puesto es

while(x!=0||y!=0);

1. Ambas comparaciones deben ir entre paréntesis:

while ( (x != 0) || (y != 0) );

y lo mismo ocurre con los ifs que vienen después.

2. Este bucle se ejecutará mientras x, ó y, o ambos, sean distintos de cero, es decir, mientras introduzcas cualquier punto distinto de (0,0). Deberías haber puesto

while ( (x == 0) || (y == 0) );

(aunque esto impedirá que utilices el origen de coordenadas como uno de los puntos a comprobar).

Una sugerencia: Cuando utilices constantes de tipo float o double, conviene poner el punto decimal, si no puedes encontrarte con que ciertas expresiones se evalúan como enteras (aunque el resultado final no vaya a serlo), pudiendo aparecer errores difíciles de descubrir (la lógica del programa es correcta). En tu caso, pondría

while ( (x == 0.0 ) || (y == 0.0) )

y del mismo modo para los ifs que vienen a continuación.

Lo que te he indicado de las constantes de tipo float o double no sería problemático en este caso concreto, pero conviene tenerlo en cuenta.

Saludos,