¿Podríais ayudarme con este ejercicio de bucles? Tengo exámen el lunes y está siendo un quebradero de cabeza ya que todos los ejercicios que hago tienen algún problema. Os dejo el ejercicio y mi código. Os estaré eternamente agradecida si me ayudáis a corregirlo correctamente. Gracias.
Un satélite meteorológico envía diariamente a la tierra una serie de datos indicando la temperatura (0-100) y la humedad (0-100) medidas en distintas zonas del planeta donde cada zona del planeta se representa mediante una letra del alfabeto (A..Z) (sólo mayúsculas). Diseñar un programa que lea desde el teclado una serie de t-uplas compuestas por <zona, temperatura, humedad> y diga cuál es la zona del planeta que tiene la temperatura más alta y la humedad más baja. La serie de datos termina cuando la zona coincide con el carácter '@'.
Por ejemplo, ante una secuencia como:
A 30 10
B 40 70
C 20 20
D 40 80
E 25 70
F 38 10
G 40 30
H 20 33
I 28 56
J 40 10
K 20 10
@
La salida es:
ZONA: J
TEMPERATURA: 40
HUMEDAD: 10
Un satélite meteorológico envía diariamente a la tierra una serie de datos indicando la temperatura (0-100) y la humedad (0-100) medidas en distintas zonas del planeta donde cada zona del planeta se representa mediante una letra del alfabeto (A..Z) (sólo mayúsculas). Diseñar un programa que lea desde el teclado una serie de t-uplas compuestas por <zona, temperatura, humedad> y diga cuál es la zona del planeta que tiene la temperatura más alta y la humedad más baja. La serie de datos termina cuando la zona coincide con el carácter '@'.
Por ejemplo, ante una secuencia como:
A 30 10
B 40 70
C 20 20
D 40 80
E 25 70
F 38 10
G 40 30
H 20 33
I 28 56
J 40 10
K 20 10
@
La salida es:
ZONA: J
TEMPERATURA: 40
HUMEDAD: 10
Código [Seleccionar]
#include <iostream>
using namespace std;
int main ()
{
char zona1, zona2;
int temp1, temp2, hum1, hum2;
do {
cout << "\nIntroduce la zona (Mayúsculas): ";
cin >> zona1;
}
while (((zona1<'A') || (zona1>'Z'))&& zona1!='@');
do {
cout << "\nIntroduce la temperatura (entre 0 y 100): ";
cin >> temp1;
}
while ((temp1<0) || (temp1>100));
do {
cout << "\nIntroduce la humedad (entre 0 y 100): ";
cin >> hum1;
}
while ((hum1<0) || (hum1>100));
while ( (zona1!='@') || (zona2!='@'))
{
do {
cout << "\nIntroduce otra zona (Mayúsculas): ";
cin >> zona2;
}
while (((zona2<'A') || (zona2>'Z'))&& zona2!='@');
do {
cout << "\nIntroduce la temperatura (entre 0 y 100): ";
cin >> temp2;
}
while ((temp2<0) || (temp2>100));
do {
cout << "\nIntroduce la humedad (entre 0 y 100): ";
cin >> hum2;
}
while ((hum2<0) || (hum2>100));
if (temp1<temp2)
{
temp1 = temp2;
hum1 = hum2;
zona1 = zona2;
}
else if (temp1 == temp2)
{
if (hum1>hum2)
{
hum1 = hum2;
zona1 = zona2;
}
}
}
cout << "\n\nZona: " << zona1 << "\nTemperatura: " << temp1 << "\nHumedad: " << hum1;
system ("pause");
}