/*****************************
Taller extracurricular de programación C
UNAM-FCA
Programa:6 (utilidad del 20%, arancel del 5% y tipo de cambio de 18 MXN por USD como constantes; solo se captura el costo)
Objetivo:
Escriba un programa en C para el cálculo del precio de exportación de una empresa productora de termos utilizando operadores aritméticos y:
Variables para el costo de producción (MXN), tipo de cambio del dólar (pesos por 1 dólar), arancel (5% del valor de exportación),
utilidad esperada (20% sobre costo), precio de exportación (calculado) y precio final en dólares (calculado).
Fórmulas:
precio de exportación = costo de producción + (costo de producción * utilidad esperada)
precio de exportación = precio de exportación + (precio de exportación * arancel)
precio final en dólares = precio de exportación / tipo de cambio
Fecha: 21 de Octubre de 2026
Programador: Paul Genaro Rodriguez Perez
*****************************/

#include <stdio.h>
#include <locale.h>

/* ===== Definición de constantes ===== */
const double ARANCEL = 0.05;            // arancel: 5% del valor de exportación
const double UTILIDAD_ESPERADA = 0.20;  // utilidad esperada: 20% sobre el costo
const double TIPO_CAMBIO = 18.0;        // tipo de cambio: 18 pesos mexicanos por 1 dólar

int main(){
    /* ===== Definición de variables ===== */
    double costo_produccion;         // costo de producción en pesos mexicanos
    double precio_exportacion;       // precio de exportación en pesos (campo calculado)
    double precio_dolares;           // precio final en dólares (campo calculado)

    setlocale(LC_NUMERIC, "en_US.UTF-8"); // permite separar miles con comas usando %'

    /* ===== Presentación del programa ===== */
    printf("Programa 6. Precio de exportación de termos\n");
    printf("Calcula el precio de exportación de un termo en pesos y en dólares,\n");
    printf("agregando la utilidad (20%%) y el arancel (5%%) al costo de producción.\n\n");

    /* ===== Entrada de datos ===== */
    printf("Ingrese el costo de producción (MXN): ");
    scanf("%lf", &costo_produccion);    // lee el costo de producción

    /* ===== Cálculos ===== */
    precio_exportacion = costo_produccion + (costo_produccion * UTILIDAD_ESPERADA);  // paso 1: se agrega la utilidad
    precio_exportacion = precio_exportacion + (precio_exportacion * ARANCEL);        // paso 2: se agrega el arancel
    precio_dolares = precio_exportacion / TIPO_CAMBIO;                               // conversión: dólares = pesos / tipo de cambio

    /* ===== Salida ===== */
    // %'15.2f imprime la cantidad con separación de miles, 2 decimales y alineada a la derecha en 15 espacios
    printf("\n+================================================+\n");
    printf("|        Cálculo de precio de exportación        |\n");
    printf("+================================================+\n");
    printf("| DATOS                                          |\n");
    printf("|   Costo de producción (MXN):   %'15.2f |\n", costo_produccion);
    printf("|   Tipo de cambio (MXN/USD):    %'15.2f |\n", TIPO_CAMBIO);
    printf("|   Arancel aplicado:            %'13.2f %% |\n", ARANCEL * 100);
    printf("|   Utilidad esperada:           %'13.2f %% |\n", UTILIDAD_ESPERADA * 100);
    printf("|------------------------------------------------|\n");
    printf("| RESULTADOS                                     |\n");
    printf("|   Precio de exportación (MXN): %'15.2f |\n", precio_exportacion);
    printf("|   Precio de exportación (USD): %'15.2f |\n", precio_dolares);
    printf("+================================================+\n");

    return 0;
}
