GestionMaquinas.cpp
unknown
c_cpp
2 years ago
3.9 kB
8
Indexable
#include <stdio.h>
#include "GestionMaquinas.h"
#include "CalendarioMes.h"
void GestionMaquinas::init(struct Maquina maquinas[]) {
char opcion; // Declarar la variable fuera del bucle
do {
printf("\n\n========== GesAMA: Gestion de Alquiler de Maquinas Agricolas ==========\n");
printf("Editar Maquina (Pulsar M)\n");
printf("Editar Finca (Pulsar F)\n");
printf("Listar Maquinas (Pulsar L)\n");
printf("Estado Fincas (Pulsar E)\n");
printf("Alquiler Maquina (Pulsar A)\n");
printf("Plan Mensual Maquina (Pulsar P)\n");
printf("Salir (Pulsar S)\n");
printf("Teclear una opcion válida (M|F|L|E|A|P|S)? ");
if (scanf(" %c", &opcion) != 1) {
// Si scanf no pudo leer un valor, manejar el error según sea necesario
printf("Error al leer la opcion. Saliendo del programa.\n");
//return; // O realiza alguna acción de manejo de errores
}
switch (opcion) {
case 'M':
case 'm':
// Llamar a la función para editar máquina
{
int id;
printf("Identificador de la maquina a editar (1-10): ");
if (scanf("%d", &id) != 1) {
printf("Error al leer el identificador. Saliendo del programa.\n");
break;
}
if (id >= 1 && id <= 10) {
GestionMaquinas::EditarMaquina(maquinas, id);
} else {
printf("Identificador no valido. Intentelo de nuevo.\n");
}
break;
}
case 'F':
case 'f':
// Llamar a la función para editar finca
break;
case 'L':
case 'l':
// Llamar a la función para listar máquinas
break;
case 'E':
case 'e':
// Llamar a la función para mostrar el estado de las fincas
break;
case 'A':
case 'a':
// Llamar a la función para alquilar máquina
break;
case 'P':
case 'p':
// Llamar a la función para el plan mensual de máquina
break;
case 'S':
case 's':
printf("\n\nSaliendo del programa. ¡Hasta luego!\n");
break;
default:
printf("\n\nOpcion no válida. Intente de nuevo.\n");
}
} while (opcion != 'S' && opcion != 's');
}
void GestionMaquinas::EditarMaquina(struct Maquina maquinas[], int id) {
// Borrar datos anteriores de la máquina
maquinas[id - 1].activa = 0;
printf("Nombre (entre 1 y 20 caracteres): ");
scanf("%19s", maquinas[id - 1].nombre); // Limitar la entrada a 19 caracteres para dejar espacio para el carácter nulo '\0'
printf("Tipo (G-Grano, U-Uva, A-Aceituna, B-Borrar): ");
scanf(" %c", &maquinas[id - 1].tipo);
printf("Capacidad (hectareas/día): ");
scanf("%f", &maquinas[id - 1].capacidad);
printf("Ubicacion inicial (Latitud): ");
scanf("%lf", &maquinas[id - 1].latitud);
printf("Ubicacion inicial (Longitud): ");
scanf("%lf", &maquinas[id - 1].longitud);
// Mostrar los nuevos datos y confirmar
printf("Son correctos los nuevos datos (S/N)? ");
char confirmacion;
scanf(" %c", &confirmacion);
if (confirmacion == 'S' || confirmacion == 's') {
maquinas[id - 1].activa = 1;
printf("Maquina editada correctamente.\n");
} else {
printf("Edicion cancelada. Los datos anteriores permanecen.\n");
}
}
Editor is loading...
Leave a Comment