/***********************************************************/
/* Programación para mecatrónicos */
/* Nombre: Pedro Montero */
/* Matricula: 2023-0047 */
/* Seccion: Sabados */
/* Practica: Colmadon */
/* Fecha: 28/10/2023 */
/***********************************************************/
/*****************************************************************************//*!
* @main Función principal del programa donde se declaran las variables
*
* @add_user permite agregar un nuevo usuario al sistema pidiendo al usuario
ingresar información
*
* @display_products Muestra los detalles de los productos almacenados
*
* @delete_product Elimina un producto del inventario
*
* @time_t now Devuelve la hora actual del sistema como el número de segundos
*
* @time(&now) Rellena la variable now con el tiempo actual del sistema.
*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char username[50];
char password[50];
char user_type[50];
char last_modified_date[50];
} User;
void add_user(User users[], int *num_users) {
User new_user;
printf("Enter username: ");
scanf("%s", new_user.username);
printf("Enter password: ");
scanf("%s", new_user.password);
printf("Enter user type: ");
scanf("%s", new_user.user_type);
strcpy(new_user.last_modified_date, "");
users[*num_users] = new_user;
(*num_users)++;
}
void display_users(User users[], int num_users) {
for (int i = 0; i < num_users; i++) {
printf("Username: %s\n", users[i].username);
printf("Password: %s\n", users[i].password);
printf("User Type: %s\n", users[i].user_type);
printf("Last Modified Date: %s\n", users[i].last_modified_date);
printf("\n");
}
}
int main() {
User users[100];
int num_users = 0;
int choice;
while (1) {
printf("1. Add User\n");
printf("2. Display Users\n");
printf("3. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
typedef struct {
char product_name[50];
int quantity;
float price;
struct DateTime {
int day;
int month;
int year;
int hour;
int minute;
} last_modified_date;
} Product;
void display_products(Product products[], int num_products);
void add_product(Product products[], int *num_products, char product_name[], int
quantity, float price, struct DateTime current_time);
int main() {
Product products[50];
int num_products = 0;
struct tm *local;
time_t now;
time(&now);
local = localtime(&now);
struct DateTime current_time;
current_time.day = local->tm_mday;
current_time.month = local->tm_mon + 1;
current_time.year = local->tm_year + 1900;
current_time.hour = local->tm_hour;
current_time.minute = local->tm_min;
add_product(products, &num_products, "Pan", 80, 1.0, current_time);
add_product(products, &num_products, "Pasta", 90, 1.5, current_time);
add_product(products, &num_products, "Aceite de oliva", 40, 5.0, current_time);
add_product(products, &num_products, "Harina", 70, 1.0, current_time);
add_product(products, &num_products, "Azúcar", 50, 1.0, current_time);
add_product(products, &num_products, "Sal", 40, 0.5, current_time);
add_product(products, &num_products, "Café", 30, 3.0, current_time);
add_product(products, &num_products, "Té", 50, 2.0, current_time);
add_product(products, &num_products, "Cereal", 50, 4.0, current_time);
add_product(products, &num_products, "Galletas", 100, 1.5, current_time);
add_product(products, &num_products, "Yogur", 70, 1.0, current_time);
add_product(products, &num_products, "Queso", 60, 3.0, current_time);
add_product(products, &num_products, "Mantequilla", 40, 2.0, current_time);
add_product(products, &num_products, "Mermelada", 50, 2.5, current_time);
add_product(products, &num_products, "Salsa de tomate", 60, 1.5, current_time);
add_product(products, &num_products, "Atún enlatado", 80, 1.0, current_time);
add_product(products, &num_products, "Sardinas enlatadas", 70, 1.2,
current_time);
add_product(products, &num_products, "Carne de res", 40, 8.0, current_time);
add_product(products, &num_products, "Pollo", 50, 5.0, current_time);
add_product(products, &num_products, "Pescado", 30, 6.0, current_time);
add_product(products, &num_products, "Frutas variadas", 120, 0.8,
current_time);
add_product(products, &num_products, "Verduras variadas", 150, 0.6,
current_time);
add_product(products, &num_products, "Papas", 50, 0.5, current_time);
add_product(products, &num_products, "Cebollas", 40, 0.3, current_time);
add_product(products, &num_products, "Tomates", 60, 0.4, current_time);
add_product(products, &num_products, "Zanahorias", 50, 0.4, current_time);
add_product(products, &num_products, "Manzanas", 70, 0.6, current_time);
add_product(products, &num_products, "Plátanos", 80, 0.4, current_time);
add_product(products, &num_products, "Naranjas", 90, 0.5, current_time);
add_product(products, &num_products, "Limones", 60, 0.3, current_time);
add_product(products, &num_products, "Uvas", 50, 0.8, current_time);
add_product(products, &num_products, "Aguacates", 40, 1.0, current_time);
int choice;
while (1) {
printf("1. Display Products\n");
printf("2. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
display_products(products, num_products);
break;
case 2:
printf("Exiting program...\n");
exit(0);
default:
printf("Invalid choice. Please try again.\n");
}
}
return 0;
}
void display_products(Product products[], int num_products) {
for (int i = 0; i < num_products; i++) {
printf("Product Name: %s\n", products[i].product_name);
printf("Quantity: %d\n", products[i].quantity);
printf("Price: %.2f\n", products[i].price);
printf("Last Modified Date: %d-%d-%d %d:%d\n",
products[i].last_modified_date.day,
products[i].last_modified_date.month,
products[i].last_modified_date.year,
products[i].last_modified_date.hour,
products[i].last_modified_date.minute);
printf("\n");
}
}
void add_product(Product products[], int *num_products, char product_name[], int
quantity, float price, struct DateTime current_time) {
if (*num_products < 50) {
strcpy(products[*num_products].product_name, product_name);
products[*num_products].quantity = quantity;
products[*num_products].price = price;
products[*num_products].last_modified_date = current_time;
(*num_products)++;
} else {
printf("Max products limit reached.\n");
}
}