Problema Servientrega Go Head Store Via a la Costa

La empresa Servientrega ecuador con su punto en vía a la costa del portal requiere llevar el control de los datos del cliente que envían paquetes para promocionar los servicios adicionales en el punto de gohead plantea una posible solución usando lenguaje c.

1. Conceptos Base para Estudiantes

Antes de programar, debemos definir qué información es inmutable y qué información cambiará durante la ejecución:

  • Constantes (#define): Se usan para valores que no cambian, como el nombre del punto de venta o el límite máximo de clientes que puede almacenar el sistema.
  • Variables: Se usan para almacenar los datos específicos de cada cliente (Nombre, Cédula, Teléfono, Tipo de Servicio).

#include <stdio.h>

// 1. DEFINICIÓN DE CONSTANTES (Valores que no cambian)
#define EMPRESA "Servientrega Ecuador"
#define LOCALIDAD "Via a la Costa - DElportal"
#define PROMO_GOHEAD "Seguro de Envio Plus"

int main() {
    // 2. DECLARACIÓN DE VARIABLES (Espacios en memoria que pueden cambiar)
    
    // Datos del Cliente
    char nombre[50];
    char cedula[11];
    
    // Datos del Paquete
    int cantidadPaquetes;
    float pesoKilogramos;
    float costoEnvio;

    // 3. ENTRADA DE DATOS (Interacción con el usuario)
    printf("--- REGISTRO DE CLIENTE: %s ---\n", EMPRESA);
    printf("Punto de Venta: %s\n\n", LOCALIDAD);

    printf("Ingrese el nombre del cliente: ");
    scanf("%s", nombre); // Nota: Lee una sola palabra

    printf("Ingrese el numero de cedula: ");
    scanf("%s", cedula);

    printf("Ingrese la cantidad de paquetes: ");
    scanf("%d", &cantidadPaquetes);

    printf("Ingrese el peso total (kg): ");
    scanf("%f", &pesoKilogramos);

    printf("Ingrese el valor cobrado: $");
    scanf("%f", &costoEnvio);

    // 4. SALIDA DE DATOS (Promoción de servicios adicionales)
    printf("\n========================================\n");
    printf("        RESUMEN DE OPERACION            \n");
    printf("========================================\n");
    printf("Cliente: %s\n", nombre);
    printf("ID: %s\n", cedula);
    printf("Paquetes registrados: %d\n", cantidadPaquetes);
    printf("Peso total: %.2f kg\n", pesoKilogramos);
    printf("Total pagado: $%.2f\n", costoEnvio);
    
    printf("\n--- SUGERENCIA DE MARKETING GOHEAD ---\n");
    printf("Promocionar al cliente: %s\n", PROMO_GOHEAD);
    printf("Mensaje: 'Aproveche el 10%% de descuento en su proximo envio'\n");
    printf("Mensaje: 'www.gohead.ec'\n");
    printf("----------------------------------------\n");

    return 0;
}

Elementos Clave para la Explicación Universitaria

Al presentar este código a los estudiantes, se deben resaltar tres puntos fundamentales de la arquitectura de software:

  • El preprocesador (#define): Explica que estas etiquetas no consumen memoria de la misma forma que las variables; son «alias» que el compilador reemplaza antes de crear el programa.
  • Tipos de datos primitivos: * int: Para conteo (paquetes).
    • float: Para valores con decimales (dinero, peso).
    • char[]: Para texto (nombres, cédulas).
  • Especificadores de formato: El uso de %d, %f y %s en las funciones printf y scanf es la base de la comunicación entre el usuario y la computadora en C.

Los argumentos pueden ser variables o arreglos y sus tipos deben coincidir con los indicados por los grupos de caracteres correspondientes en la cadena de control. Cada nombre de variable debe ser precedido por un ampersand( & ); sin embargo, los nombres de arreglos (se verán en lecciones posteriores) no deben ir precedidos por el ampersand.

Código almacenar e imprimir variables

Scroll al inicio