C sharp - Duda con ejercicio C#

   
Vista:

Duda con ejercicio C#

Publicado por palentino12 (13 intervenciones) el 07/11/2015 21:07:13
El ejercicio va de poner los datos de un portero de fútbol alevín, se le pregunta:

- Su año de nacimiento, su altura en cm, su peso en kg y su velocidad en km.

En cuanto las condiciones son básicamente 4.

- Que la última cifra del año de nacimiento introducido debe terminar en 4, en 5 o en 7.

- Que la relación entre la altura y el peso debe estar comprendida entre 2,4 y 2,51.

- Que la velocidad debe superar los 100 km y que la velocidad debe ser múltiplo de 11.

El programa debe repetirse hasta encontrar dos porteros que cumplan todas las condiciones.


El programa esta completado y funciona bien, excepto que no se como conseguir que se repita hasta encontrar dos jugadores que cumplan las condiciones.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace fútbol_alevín
{
    class Program
    {
        static void Main(string[] args)
        {
            int Nacimiento, Resto, UltimaCifra, Velocidad;
 
            float Altura, Peso, Relacion;
 
 
            do
            {
                do
                {
                    Console.WriteLine("Introduce el año de nacimiento del portero, debe ser la comprendida entre 1999 y 2015 ");
                    Console.WriteLine("");
 
                    Nacimiento = Int16.Parse(Console.ReadLine());
 
                    UltimaCifra = Nacimiento % 10;
 
 
                }
                while ((Nacimiento < 0) || (Nacimiento < 1999) || (Nacimiento > 2015));
 
                do
                {
                    Console.WriteLine("");
                    Console.WriteLine("Introduce la altura del portero, debe ser la comprendida entre 120 cm y 200 cm");
                    Console.WriteLine("");
 
                    Altura = Int16.Parse(Console.ReadLine());
                }
                while ((Altura < 0) || (Altura < 120) || (Altura > 201));
 
                do
                {
                    Console.WriteLine("");
                    Console.WriteLine("Introduce el peso del portero, debe ser la comprendida entre 35 KG y 150 KG");
                    Console.WriteLine("");
 
                    Peso = Int16.Parse(Console.ReadLine());
 
                    Relacion = Altura / Peso;
 
                }
                while ((Peso < 0) || (Peso < 35) || (Peso > 150));
 
                do
                {
                    Console.WriteLine("");
                    Console.WriteLine("Introduce la velocidad del portero");
                    Console.WriteLine("");
 
                    Velocidad = Int16.Parse(Console.ReadLine());
 
                    Resto = Velocidad % 11;
                }
                while (Velocidad < 0);
 
 
                Console.WriteLine("");
 
                if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad > 100) && (Resto == 0))))
                {
                    Console.WriteLine("El candidato cumple 3 características, ¡¡¡y además sera un excelente portero!!!");
                }
                else
                {
                    if ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad > 100) && (Resto == 0))))
                    {
                        Console.WriteLine("El candidato cumple 2 características - Ultimacifra falla");
                    }
                    else
                    {
                        if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion < 2.4) || (Relacion > 2.5)) && ((Velocidad > 100) && (Resto == 0))))
                        {
                            Console.WriteLine("El candidato cumple 2 características - relación falla");
                        }
                        else
                        {
                            if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad <= 100) && (Resto == 0))))
                            {
                                Console.WriteLine("El candidato cumple 2 características - velocidad falla");
                            }
                            else
                            {
                                if ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion < 2.4) || (Relacion > 2.5)) && ((Velocidad > 100) && (Resto == 0))))
                                {
                                    Console.WriteLine("Cumple 1 característica falla ultimacifra y relación");
                                }
                                else
                                {
                                    if ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad <= 100) && (Resto == 0))))
                                    {
                                        Console.WriteLine("Cumple 1 característica falla ultimacifra y velocidad");
                                    }
                                    else
                                    {
                                        if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion < 2.4) && (Relacion > 2.5)) && ((Velocidad <= 100) && (Resto == 0))))
                                        {
                                            Console.WriteLine("Cumple 1 característica falla relación y velocidad");
                                        }
                                        else
                                        {
                                            if ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion < 2.4) && (Relacion > 2.5)) && ((Velocidad <= 100) && (Resto == 0))))
                                            {
                                                Console.WriteLine("No cumple ninguna característica");
                                            }
                                            else
                                            {
                                                if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad > 100) && (Resto != 0))))
                                                {
                                                    Console.WriteLine("Cumple 2 característica falla resto");
                                                }
                                                else
                                                {
                                                    if ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion >= 2.4) && (Relacion <= 2.5)) && ((Velocidad > 100) && (Resto != 0))))
                                                    {
                                                        Console.WriteLine("Cumple 1 característica falla ultima cifra y el resto");
                                                    }
                                                    else
                                                    {
                                                        if ((((UltimaCifra == 4) || (UltimaCifra == 5) || (UltimaCifra == 7)) && ((Relacion < 2.4) || (Relacion > 2.5)) && ((Velocidad > 100) && (Resto != 0))))
                                                        {
                                                            Console.WriteLine("Cumple 1 característica");
                                                        }
                                                        else
                                                        {
 
                                                            Console.WriteLine("No cumple ninguna característica");
 
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            while ((((UltimaCifra != 4) || (UltimaCifra != 5) || (UltimaCifra != 7)) && ((Relacion < 2.4) || (Relacion > 2.5))    && ((Velocidad <= 100) && (Resto != 0))));
 
 
            Console.ReadKey();
 
 
 
 
 
        }
    }
}


Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda con ejercicio C#

Publicado por Thanatos (8 intervenciones) el 08/11/2015 11:14:35
Espero que esto te ayude con el problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
using System;
 
namespace FutbolAlevin
{
    class Program
    {
        static void Main(string[] args)
        {
            short nacimiento;
            float estatura;
            float peso;
            float velocidad;
            bool datosCorrectos;
            int jugadoresAceptados = 0;
 
            do
            {
                datosCorrectos = false;
 
                Console.Write("Introduzca el año de nacimiento del portero. Rango: 1999 - 2015.\naño = ");
                nacimiento = Int16.Parse(Console.ReadLine());
 
                Console.Write("\nIntroduzca la estatura del portero. Rango: 120 - 200 (cm)\nestatura = ");
                estatura = Single.Parse(Console.ReadLine());
 
                Console.Write("\nIntroduzca el peso del portero. Rango: 35 - 150 (kg)\npeso = ");
                peso = Single.Parse(Console.ReadLine());
 
                Console.Write("\nIntroduzca la velocidad del portero.\nvelocidad = ");
                velocidad = Single.Parse(Console.ReadLine());
 
                Console.Clear();
                Console.WriteLine("DATOS:");
                Console.WriteLine("  nacimiento = {0}\n  estatura = {1} cm\n  peso = {2} kg\n  velocidad = {3} km/h",
                    nacimiento, estatura, peso, velocidad);
                Console.WriteLine("\nOBSERVACIONES:");
 
                if (nacimiento >= 1999 && nacimiento <= 2015)
                {
                    if (nacimiento % 10 == 4 || nacimiento % 10 == 5 || nacimiento % 10 == 7)
                    {
                        datosCorrectos = true;
                    }
                    else
                    {
                        Console.WriteLine("  El año de nacimiento no cumple con la característica \"Última Cifra\".");
                    }
                }
                else
                {
                    Console.WriteLine("  El año de nacimiento no se encuentra dentro del rango permitido.");
                }
 
                if (estatura >= 120.0f && estatura <= 200.0f)
                {
                    datosCorrectos = datosCorrectos && true;
                }
                else
                {
                    Console.WriteLine("  La estatura no se encuentra dentro del rango permitido.");
                    datosCorrectos = datosCorrectos && false;
                }
 
                if (peso >= 35.0f && peso <= 150.0f)
                {
                    if (estatura / peso >= 2.4f && estatura / peso <= 2.51f)
                    {
                        datosCorrectos = datosCorrectos && true;
                    }
                    else
                    {
                        Console.WriteLine("  La relación estatura/peso no cumple con los requisitos.");
                        datosCorrectos = datosCorrectos && false;
                    }
                }
                else
                {
                    Console.WriteLine("  El peso no se encuentra dentro del rango permitido.");
                    datosCorrectos = datosCorrectos && false;
                }
 
                if (velocidad > 100.0f)
                {
                    if (velocidad % 11 == 0)
                    {
                        datosCorrectos = datosCorrectos && true;
                    }
                    else
                    {
                        Console.WriteLine("  El valor de la velocidad no es múltiplo de 11.");
                        datosCorrectos = datosCorrectos && false;
                    }
                }
                else
                {
                    Console.WriteLine("  La velocidad no supera el valor mínimo requerido.");
                    datosCorrectos = datosCorrectos && false;
                }
 
                if (datosCorrectos)
                {
                    ++jugadoresAceptados;
                    Console.WriteLine("  El candidato cumple con todos los requisitos.\n\n" +
                        "     * Cantidad de candidatos aceptados = " + jugadoresAceptados.ToString() + " *");
                }
                Console.WriteLine("\n");
            } while (jugadoresAceptados < 2);
 
            Console.ReadKey(true);
        }
    }
}

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Duda con ejercicio C#

Publicado por palentino12 (13 intervenciones) el 08/11/2015 14:04:17
Muchas gracias, tu lo has hecho mucho simple que yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar