Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

jueves, 26 de noviembre de 2015

Ejemplo del libro 1 (tema 5(1º examen))

0




using System;

namespace tema5
{
class MainClass
{
//Guardo los máximos en una constante;
const int MAX_ELEMENTOS=100;
//la funció menú muestra las opciones del menú dy permite escoger una de ellas.
static int menu ()
{
int n;
Console.WriteLine ("1.Nuevo producto.");
Console.WriteLine ("2. Precio medio.");
Console.WriteLine ("3. Listar productos.");
Console.WriteLine ("4. Modificar producto.");
Console.WriteLine ("5. Eliminar producto.");
Console.WriteLine ("6. Buscar producto.");
Console.WriteLine ("7. Salir");
Console.WriteLine ("Escoge opción:");
n = int.Parse (Console.ReadLine ());
return n;
}
//la función insertaProducto inserta un nuevo producto si la tienda no esta llena.
static void insertarProducto (string[]nombre, double[]precio,ref int totalProductos)
{
if (totalProductos < MAX_ELEMENTOS) {
Console.WriteLine ("Introduce el nombre del nuevo producto");
nombre [totalProductos] = Console.ReadLine ();
Console.WriteLine ("Introduce el precio del nuevo producto");
precio [totalProductos] = double.Parse (Console.ReadLine ());
totalProductos++;
}
else
{
Console.WriteLine ("No se pueden insertar más productos");
}

}
//La función promedio realiza la media aritmética de todos los precios.
static double promedio (double [] precio, int totalProductos)
{
double media = 0.0;
if (totalProductos > 0) 
{
for (int i = 0; i < totalProductos; i++) 
{
media = media + precio [i];
}
media = media / totalProductos;
}
return media;
}
//La función listarProductos muestra los productos de la tienda.
static void listarProductos(string [] nombre, double[] precio, int totalProductos)
{
if (totalProductos > 0)
{
Console.WriteLine ("\tPRODUCTOS\t\t\tPRECIO");
Console.WriteLine ("---------------------------------------------------------");
for (int i = 0; i < totalProductos; i++) 
{
Console.WriteLine("\t{0}\t\t\t{1}",nombre[i], precio[i]);
}
}
else
{
Console.WriteLine("No se ha almacenado aún ningún producto");
}
}
//La función modificarNombre se encarga de cambiar el nombre de un producto por otro solicitado en la misma función.
static void modificarNombre(ref string nombre)
{
Console.WriteLine ("Introduce el nuevo nombre:");
nombre = Console.ReadLine ();
}
//La funcion modificaPrecio modificará un precio de la tabla precios.
static void modificaPrecio (ref double precio)
{
Console.WriteLine ("Introduce el nuevo precio:");
precio = double.Parse (Console.ReadLine ());
}
//La función eliminarProducto eliminará el producto y precio almacenados en las tablas nombre y precio en la posicionElimina.
static void eliminarProducto (string [] nombre, double[] precio, ref int totalProductos, int posicionElimina)
{
for (int i = posicionElimina; i < totalProductos; i++) 
{
nombre [i] = nombre [i + 1];
precio [i] = precio [i + 1];
}
totalProductos--;
}
//La Función buscarNombre buscará el producto en la tabla de productos, cuyo nombre coincide con el nombre pasado como parámetro.
static int buscarNombre(string [] nombre, int totalProductos, string nombreBuscado)
{
int buscando = -1;
int i = 0;
while (buscando == -1 && i < totalProductos) 
{
//La función CompareTo comnpara cadenas de caracteres
if (nombre [i].CompareTo (nombreBuscado) == 0) 
{
buscando = i;
}
i++;
}
return buscando;
}
public static void Main (string[] args)
{
//las variables de tipo array
string [] nombres=new string[MAX_ELEMENTOS];
double[] precios = new double[MAX_ELEMENTOS];
int opcion = 0;
int numElementos = 0;
string nombreAux;
int posicion;
int subopcion;
do {
Console.Clear ();
opcion = menu ();
switch (opcion) 
{
case 1: insertarProducto (nombres, precios, ref numElementos);
break;
case 2: Console.WriteLine ("El precio promedio de todos los productos almacenados es: {0}", promedio (precios, numElementos));
break;
case 3: listarProductos (nombres, precios, numElementos);
break;
case 4: 
Console.WriteLine("¿Qué producto desea modificar?");
nombreAux=Console.ReadLine();
posicion=buscarNombre(nombres,numElementos,nombreAux);
if (posicion < 0)
{
Console.WriteLine("Producto no encontrado");
}
else
{
Console.WriteLine("¿Qué desea modificar?");
Console.WriteLine("1. Nombre");
Console.WriteLine("2. Precio");
Console.WriteLine("3. Ambos");
subopcion=int.Parse(Console.ReadLine());
switch(subopcion)
{
case 1: modificarNombre (ref nombres[posicion]);
break;
case 2: modificaPrecio(ref precios[posicion]);
break;
case 3: modificarNombre(ref nombres[posicion]); modificaPrecio(ref precios[posicion]);
break;
}
}
break;
case 5:
if (numElementos > 0)
{
Console.WriteLine("Indica el nombre del producto a eliminar:");
nombreAux=Console.ReadLine();
posicion=buscarNombre(nombres,numElementos,nombreAux);
if (posicion >=0)
{
eliminarProducto(nombres, precios,ref numElementos, posicion);
}
else
{
Console.WriteLine("El producto que se desea eliminar no existe.");
}
}
else
{
Console.WriteLine("No hay productos almacenados en el almacen.");
}
break;
case 6: Console.WriteLine("Indica el nombre del producto a buscar");
nombreAux=Console.ReadLine();
posicion=buscarNombre(nombres,numElementos,nombreAux);
if (posicion >=0)
{
Console.WriteLine("Producto encontrado");
Console.WriteLine("{0}-{1}", nombres[posicion], precios[posicion]);
}
break;
default:
Console.WriteLine ("La opción escogida no es válida, vuelva a intentarlo");
break;
}
Console.ReadKey();
} while (opcion != 7);
}
}
}





Related Posts:

  • Examen de programación Corrección del examen 1.- Pasa de binario a decimal con una función recursiva. modo profesor using System; namespace Examen { class… Read More
  • Repaso 1 evaluacion (III)Crea la siguiente función : Mi método: using System; namespace ConsoleApplication4 {     class Program     {     &n… Read More
  • Lectura aleatoria Esta clase de apoyo es tanto para leer, como escribir en un archivo de acceso aleatorio. Un archivo de acceso aleatorio se comporta como una gran var… Read More
  • Repaso 1 Evaluación (II)Realiza una función que calcule si un número es palíndromo.  Mi método: using System; namespace ConsoleApplication3 {     class Prog… Read More
  • Repaso 1 Evaluación (IV)Crea un programa que calcule el mínimo común múltiple Mi método: using System; namespace ConsoleApplication5 {     class Program &nb… Read More

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)