2.-
3.-
4.-
5.-
6.-
12.-
15.-
16.-
17.-
18.-
using System;
namespace ConsoleApplication8
{
class Program
{
//declaracion de la estructura
public struct alumno
{
public string nombre;
public string apellido;
public int nota;
};
//Introdución por el usuario de un nuevo alumno
static void crearAlumno(out alumno nuevo)
{
Console.WriteLine("Introduce nombre");
nuevo.nombre = Console.ReadLine();
Console.WriteLine("Introduce apellido");
nuevo.apellido = Console.ReadLine();
Console.WriteLine("Introduce nota");
nuevo.nota = int.Parse(Console.ReadLine());
}
//Insertar el alumno en la cartilla
static void insertar (alumno[]ca, ref int totalAlumnos, alumno nuevo)
{
ca[totalAlumnos] = nuevo;
totalAlumnos++;
}
//Creación de media aritmetica
static double media (alumno[]ca, ref int totalAlumnos)
{
int totalNotas=0;
for(int i=0; i<totalAlumnos; i++)
{
totalNotas = totalNotas + ca[i].nota;
}
return totalNotas / totalAlumnos;
}
static int opciones()
{
Console.WriteLine("menu:");
Console.WriteLine("1. Introduzca alumnos");
Console.WriteLine("2. Ver la media de notas");
Console.WriteLine("3. Ver el numero de alumnos con nota superior");
Console.WriteLine("4. Ver el numero de alumnos con nota inferior");
Console.WriteLine("5.salir");
return int.Parse(Console.ReadLine());
}
static void Main(string[] args)
{
//creación de un array de 100 alumnos
alumno[] cartilla = new alumno[100];
alumno n = new alumno();
//contador de alumnos
int totalAlumnos = 0;
int menu;
int salir = 0;
while(salir==0)
{
menu=opciones();
switch (menu)
{
case 1:
crearAlumno(out n);
insertar(cartilla, ref totalAlumnos, n);
break;
case 2:
double notaMedia = media(cartilla, ref totalAlumnos);
Console.WriteLine("La media es: {0}", notaMedia);
break;
case 3:
int suma = 0;
double nMedia = media(cartilla, ref totalAlumnos);
for (int i = 0; i < totalAlumnos; i++)
{
if (nMedia < cartilla[i].nota)
{
suma++;
}
}
Console.WriteLine("El numero de alumnos con nota superior es: {0}", suma);
break;
case 4:
int sumas = 0;
double noMedia = media(cartilla, ref totalAlumnos);
for (int i = 0; i < totalAlumnos; i++)
{
if (noMedia > cartilla[i].nota)
{
sumas++;
}
}
Console.WriteLine("El numero de alumnos con nota inferior es: {0}", sumas);
break;
case 5:
salir = 5;
break;
default:
Console.WriteLine("Opción incorrecta");
break;
}
}
}
}
}
19.-
using System;
namespace ConsoleApplication9
{
class Program
{
//estructura de empleados
public struct empleados
{
public string nombre;
public int edad;
public string cargo;
public string sexo;
}
//crear contacto
static void crearEmpleado (out empleados nuevo)
{
Console.WriteLine("Introduce nombre:");
nuevo.nombre = Console.ReadLine();
Console.WriteLine("Introduce edad:");
nuevo.edad = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce cargo:");
nuevo.cargo = Console.ReadLine();
Console.WriteLine("Introduce sexo:");
nuevo.sexo = Console.ReadLine();
}
//insertar
static void insertar (empleados [] co, ref int totalEmpleados, empleados nuevo)
{
co[totalEmpleados] = nuevo;
totalEmpleados++;
}
//modificar
static void modificar (empleados [] co, int pos)
{
char mod = ' ';
Console.WriteLine("¿Que desea modificar? Iremos mostrando cada dato,",
"si quiere modificar escriba s, Para no modificar n");
Console.WriteLine(co[pos].nombre);
mod = char.Parse(Console.ReadLine());
if (mod=='s')
{
co[pos].nombre = Console.ReadLine();
}
Console.WriteLine(co[pos].edad);
mod = char.Parse(Console.ReadLine());
if (mod == 's')
{
co[pos].edad = int.Parse(Console.ReadLine());
}
Console.WriteLine(co[pos].cargo);
mod = char.Parse(Console.ReadLine());
if (mod == 's')
{
co[pos].cargo = Console.ReadLine();
}
Console.WriteLine(co[pos].sexo);
mod = char.Parse(Console.ReadLine());
if (mod == 's')
{
co[pos].sexo = Console.ReadLine();
}
}
//eliminar
static void eliminar (empleados[] co, ref int totalEmpleados, int pos)
{
for (int i= pos; i<totalEmpleados-1;i++)
{
co[i] = co[i + 1];
}
totalEmpleados--;
}
//buscar
static int buscarNombre(empleados [] co, int totalEmpleados, string no1)
{
int buscando = -1;
int i = 0;
while (i<totalEmpleados && buscando==-1)
{
if(co[i].nombre.CompareTo(no1)==0)
{
buscando = i;
}
i++;
}
return buscando;
}
//ordenar
static void ordenarNombre(empleados[] co, int primero, int ultimo)
{
int i, j, central;
empleados tmp;
string pivote;
central = (primero + ultimo) / 2;
pivote = co[central].nombre;
i = primero;
j = ultimo;
do
{
while (co[i].nombre.CompareTo(pivote) < 0)
{
i++;
}
while (co[j].nombre.CompareTo(pivote) > 0)
{
j--;
}
if (i <= j)
{
tmp = co[i];
co[i] = co[j];
co[j] = tmp;
i++;
j--;
}
} while (i <= j);
if(primero<j)
{
ordenarNombre(co, primero, j);
}
if(i<ultimo)
{
ordenarNombre(co, i, ultimo);
}
}
//Mostrar empleados
static void mostrarEmpleados(empleados[]co, int totalEmpleados)
{
for(int i=0; i<totalEmpleados; i++)
{
Console.WriteLine("{0}", co[i].nombre);
Console.WriteLine("{0}", co[i].edad);
Console.WriteLine("{0}", co[i].cargo);
Console.WriteLine("{0}", co[i].sexo);
}
}
//Mostrar el numero de hombres y mujeres que hay en la empresa
static void EmpleadosporSexo(empleados[] co, int totalEmpleados)
{
int totalH = 0;
int totalM = 0;
for (int i = 0; i < totalEmpleados; i++)
{
if (co[i].nombre.CompareTo("Mujer") == 0)
{
totalM++;
}
if (co[i].nombre.CompareTo("Hombre") == 0)
{
totalH++;
}
}
Console.WriteLine("El número de mujeres es {0}", totalM);
Console.WriteLine("El númeroa de hombres es {0}", totalH);
}
//mostrar la edad media
static double EdadMediaTotal (empleados[]co, int totalEmpleados)
{
int totalEdad = 0;
for(int i= 0; i < totalEmpleados; i++)
{
totalEdad = totalEdad + co[i].edad;
}
return totalEdad / totalEmpleados;
}
//calcular la edad media de hombres y mujeres por separado
static void EdadMediaSexo(empleados[] co, int totalEmpleados)
{
int totalEdadH = 0;
int totalEdadM = 0;
for (int i = 0; i < totalEmpleados; i++)
{
if (co[i].nombre.CompareTo("Mujer")==0)
{
totalEdadM = totalEdadM + co[i].edad;
}
if (co[i].nombre.CompareTo("Hombre") == 0)
{
totalEdadH = totalEdadH + co[i].edad;
}
}
Console.WriteLine("La edad media de mujeres es {0}", totalEdadM);
Console.WriteLine("La edad media de mujeres es {0}", totalEdadH);
}
//mostrar el nombre del empleado más joven
static string EdadJoven (empleados[]co,int totalEmpleados)
{
int EdadMenor = 0;
for (int j=0; j<totalEmpleados; j++)
{
if (co[EdadMenor].edad>co[j].edad)
{
EdadMenor = j;
}
}
return co[EdadMenor].nombre;
}
//mostrar el nombre del empleado más viejo
static string EdadViejo(empleados[] co, int totalEmpleados)
{
int EdadMayor = 0;
for (int j = 0; j < totalEmpleados; j++)
{
if (co[EdadMayor].edad < co[j].edad)
{
EdadMayor = j;
}
}
return co[EdadMayor].nombre;
}
//menu
static void mostrarMenu()
{
Console.WriteLine("Menu:");
Console.WriteLine("1. Insertar empleado.");
Console.WriteLine("2. Modificar empleado.");
Console.WriteLine("3. Eliminar empleado.");
Console.WriteLine("4. mostar empleados.");
Console.WriteLine("5. Mostrar numero de empleados por sexo.");
Console.WriteLine("6. Mostrar la edad media de los empleados.");
Console.WriteLine("7. Mostar la edad media de los epleados por sexo.");
Console.WriteLine("8. Mostrar el nombre del empleado más joven.");
Console.WriteLine("9. Mostar el nombre del empleado más viejo.");
Console.WriteLine("10. Salir");
}
static void Main(string[] args)
{
empleados[] contrato = new empleados[100];
empleados n = new empleados();
int salir = 0, totalEmpleados=0;
int menu,pos;
string nombre;
while(salir==0)
{
mostrarMenu();
menu = int.Parse(Console.ReadLine());
switch(menu)
{
case 1:
crearEmpleado(out n);
insertar(contrato, ref totalEmpleados, n);
break;
case 2:
Console.WriteLine("Introduzca el nombre del empleado que desde modificar");
nombre = Console.ReadLine();
pos=buscarNombre(contrato, totalEmpleados, nombre);
modificar(contrato, pos);
break;
case 3:
Console.WriteLine("Introduzca el nombre del empleado que desde eliminar");
nombre = Console.ReadLine();
pos = buscarNombre(contrato, totalEmpleados, nombre);
eliminar(contrato, ref totalEmpleados, pos);
break;
case 4:
ordenarNombre(contrato, 0, totalEmpleados);
mostrarEmpleados(contrato, totalEmpleados);
break;
case 5:
EmpleadosporSexo(contrato, totalEmpleados);
break;
case 6:
Console.WriteLine("La edad media de los empleados es: {0}", EdadMediaTotal(contrato, totalEmpleados));
break;
case 7:
EdadMediaSexo(contrato, totalEmpleados);
break;
case 8:
Console.WriteLine("El empleado más joven es:{0}", EdadJoven(contrato, totalEmpleados));
break;
case 9:
Console.WriteLine("El empleado más mayor es:{0}", EdadViejo(contrato, totalEmpleados));
break;
case 10:
salir = 10;
break;
default:
Console.WriteLine("Opcion incorrecta");
break;
}
}
}
}
}
0 comentarios:
Publicar un comentario