Hoy te mostraré un ejercicio resuelto en el lenguaje de programación C# en el que vamos a trabajar con matrices, cálculo del promedio, lectura de datos por teclado y otras cosas.
Se trata de un ejercicio para las notas de 3 estudiantes en donde vamos a solicitar zona obtenida, parcial 1, parcial 2 y examen final para calcular la nota final.
El ejercicio dice así:
Se desea hacer un cuadro de notas para 3 estudiantes, por lo tanto se requiere hacer lo siguiente:
Como vamos a alojar cadenas y enteros en la matriz, necesitamos un arreglo dinámico. Luego de eso haremos un simple ciclo for para solicitar los datos e ir rellenando la matriz.
En cada paso del ciclo for también vamos a ir calculando la nota final. Luego de solicitar los datos vamos a recorrer la matriz e ir imprimiendo los datos, cambiando el color del texto de la consola según sea necesario.
Por cierto, para solicitar un valor y validar que no es mayor al límite vamos a usar el ciclo while.
Finalmente veamos el código C#. Obviamente tú puedes modificarlo y adaptarlo a tus necesidades.
/*
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
____________________________________
/ Si necesitas ayuda, contáctame en \
\ https://parzibyte.me /
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Creado por Parzibyte (https://parzibyte.me).
------------------------------------------------------------------------------------------------
| IMPORTANTE |
Si vas a borrar este encabezado, considera:
Seguirme: https://parzibyte.me/blog/sigueme/
Y compartir mi blog con tus amigos
También tengo canal de YouTube: https://www.youtube.com/channel/UCroP4BTWjfM0CkGB6AFUoBg?sub_confirmation=1
Twitter: https://twitter.com/parzibyte
Facebook: https://facebook.com/parzibyte.fanpage
Instagram: https://instagram.com/parzibyte
Hacer una donación vía PayPal: https://paypal.me/LuisCabreraBenito
------------------------------------------------------------------------------------------------
*/using System;
class MainClass
{
public static void Main(string[] args)
{
dynamic[,] matriz = new dynamic[4, 6];
// Declarar la primera fila
matriz[0, 0] = "Nombre del estudiante";
matriz[0, 1] = "Zona obtenida";
matriz[0, 2] = "Parcial 1";
matriz[0, 3] = "Parcial 2";
matriz[0, 4] = "Examen final";
matriz[0, 5] = "Nota final";
for (int y = 1; y < 4; y++)
{
Console.Write("Ingresa el nombre del estudiante " + y + ": ");
string nombre = Console.ReadLine();
matriz[y, 0] = nombre;
double zona = 21;
while (zona > 20)
{
Console.Write("Ingresa la zona obtenida de " + nombre + ": ");
zona = Convert.ToDouble(Console.ReadLine());
if (zona > 20)
{
Console.WriteLine("La zona no puede ser mayor a 20");
}
}
matriz[y, 1] = zona;
double parcial1 = 21;
while (parcial1 > 20)
{
Console.Write("Ingresa la calificación del parcial 1 de " + nombre + ": ");
parcial1 = Convert.ToDouble(Console.ReadLine());
if (parcial1 > 20)
{
Console.WriteLine("El parcial 1 no puede ser mayor a 20");
}
}
matriz[y, 2] = parcial1;
double parcial2 = 26;
while (parcial2 > 25)
{
Console.Write("Ingresa la calificación del parcial 2 de " + nombre + ": ");
parcial2 = Convert.ToDouble(Console.ReadLine());
if (parcial2 > 25)
{
Console.WriteLine("El parcial 2 no puede ser mayor a 25");
}
}
matriz[y, 3] = parcial2;
double examenFinal = 36;
while (examenFinal > 35)
{
Console.Write("Ingresa la calificación del examen final de " + nombre + ": ");
examenFinal = Convert.ToDouble(Console.ReadLine());
if (examenFinal > 35)
{
Console.WriteLine("El examen final no puede ser mayor a 35");
}
}
matriz[y, 4] = examenFinal;
// Finalmente calcular la nota final
double notaFinal = zona + parcial1 + parcial2 + examenFinal;
matriz[y, 5] = notaFinal;
}
// Ahora simplemente imprimimos la matriz. Primero el encabezado
Console.WriteLine();
for (int i = 0; i < 1; i++)
{
for (int j = 0; j < matriz.GetLength(1); j++)
{
Console.Write(matriz[i, j] + "\t");
}
Console.WriteLine();
}
// Luego los demás datos
for (int i = 1; i < matriz.GetLength(0); i++)
{
string nombre = matriz[i, 0];
double zona = matriz[i, 1];
double parcial1 = matriz[i, 2];
double parcial2 = matriz[i, 3];
double examenFinal = matriz[i, 4];
double notaFinal = matriz[i, 5];
Console.Write(nombre + "\t\t\t");
Console.Write(zona + "\t\t");
Console.Write(parcial1 + "\t\t");
Console.Write(parcial2 + "\t\t");
Console.Write(examenFinal + "\t\t");
if (notaFinal < 61)
{
Console.ForegroundColor = ConsoleColor.Red;
}
else
{
Console.ForegroundColor = ConsoleColor.Green;
}
Console.Write(notaFinal + "\t\t");
// Reseteamos el color a gris
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine();
}
}
}
Puedes aprender más sobre C# en mi blog.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.