Necesito Ayuda Urgentemente

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
Elizabeth

Necesito Ayuda Urgentemente

Mensaje por Elizabeth » Mié Dic 15, 2004 9:08 pm

Necesito un codigo para resolver un problema, se trata de introducir la temperatura(en grados), para un determinado lugar y que me de automaticamente el tipo de clima. Por favor si alguien lo sabe hacer que me ayude por favor.

Avatar de Usuario
Invitado

Mensaje por Invitado » Jue Dic 16, 2004 6:18 am

Elizabeth:
Sin conocer el lenguaje que deseas utilizar, y suponiendo que el programa será de ambiente Windows, la solución es la siguiente:

En un control de tipo "Caja de texto con lista desplegable (ComboBox)" introduce la lista de lugares. De esa lista, el usuario elegirá el lugar. En un control de tipo "Caja de texto (TextBox)" el usuario tecleará un número. Después pulsará un control de tipo "Botón (Button)". Al pulsar este control, se correría el código.

En unos minutos voy a enviarte un código base, aunque para complementarlo necesito toda la información (Cuántos lugares, cuántos tipos de clima, conversión entre temperaturas si es que son necesarias).

Avatar de Usuario
Invitado

Mensaje por Invitado » Jue Dic 16, 2004 6:59 am

El ComboBox se llama "cbxRegion". El TextBox se llama "txtTemperatura". El Button se llama "btnVerClima".
Lo que está depués del signo apóstrofe (') es comentario.

Public Class frmClima 'Nombre del Formulario
Inherits System.Windows.Forms.Form

Windows Form Designer Generated Code 'Diseño oculto del formulario

'Lo que sigue es el procedimiento que se ejecuta al pulsar el botón
Private Sub VerClima(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerClima.Click
'Primero. Se comprueba que exista la región de la que se desea ver el clima
'Si no existe, le decimos al usuario que elija una región de la lista
If Not cbxRegion.Items.Contains(cbxRegion.Text) Then
MessageBox.Show("Debe elegir una región de la lista")
'Y le regresamos el foco al control ComboBox
cbxRegion.Focus()
'Y salimos del procedimiento. Lo que sigue a exit sub ya no se ejecuta
Exit Sub
End If

'Segundo. Se comprueba que el valor que se introdujo en la caja de texto sea
'numérico.
If Not IsNumeric(txtTemperatura.Text) Then
'Si no es numérico, mandamos este mensaje.
MessageBox.Show("Debe introducir un número")
'Y le regresamos el foco al control TextBox
txtTemperatura.Focus()
'Y salimos del procedimiento
Exit Sub
End If

'Tercero. Si los valores introducidos son correctos, habremos llegado a
'este punto y se ejecutará el siguiente código.
'Declaramos la variable temperatura y la hacemos igual al valor
'introducido por el usuario.
Dim Temperatura As Integer
Temperatura = Convert.ToInt32(txtTemperatura.Text)

'Seleccionamos lo que haremos según el valor de la variable Temperatura.
Select Case Temperatura
'Si es mayor que -10 pero menor que cero:
Case Is > -10, Is < 0
MessageBox.Show("Hace mucho frío en " & cbxRegion.Text)
'Si es mayor que cero pero menor a 10:
Case Is > 0, Is < 10
MessageBox.Show("Está templado en " & cbxRegion.Text)
'Si es mayo a 10
Case Is > 10
MessageBox.Show("Hace calor en " & cbxRegion.Text)
End Select
End Sub
End Class

Avatar de Usuario
Invitado

Mensaje por Invitado » Jue Dic 16, 2004 7:04 am

Olvidé decir que el anterior programa está escrito en Visual Basic .Net.
Te mando el código sin comentarios.

Public Class frmClima
Inherits System.Windows.Forms.Form

Windows Form Designer generated code

Private Sub VerClima(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerClima.Click
If Not cbxRegion.Items.Contains(cbxRegion.Text) Then
MessageBox.Show("Debe elegir una región de la lista")
cbxRegion.Focus()
Exit Sub
End If
If Not IsNumeric(txtTemperatura.Text) Then
MessageBox.Show("Debe introducir un número")
txtTemperatura.Focus()
Exit Sub
End If
Dim Temperatura As Integer
Temperatura = Convert.ToInt32(txtTemperatura.Text)
Select Case Temperatura
Case Is > -10, Is < 0
MessageBox.Show("Hace mucho frío en " & cbxRegion.Text)
Case Is > 0, Is < 10
MessageBox.Show("Está templado en " & cbxRegion.Text)
Case Is > 10
MessageBox.Show("Hace calor en " & cbxRegion.Text)
End Select
End Sub
End Class

Responder