Lenguaje C
Descripción El código de barras de un producto consta de 9 dígitos, donde los tres primeros dígitos representan el código del país productor del mismo, los siguientes tres dígitos corresponden al código asignado a la empresa que fabrica el producto, los siguientes dos dígitos corresponden al código del producto concreto y el último dígito es una clave de control, que resulta de aplicar un algoritmo matemático a los otros 8 dígitos.
Se pide desarrollar un programa que permita ingresar por teclado los 9 dígitos del código de barra de un producto, como un sólo número y por lo tanto almacenado en una sola variable, y luego realice las siguientes tareas:
1) Descomponga el código de barras en: código de país, código del fabricante, código del producto y clave de control. Informar por pantalla la información obtenida.
2) Indicar a que país del Mercosur pertenece el producto, sabiendo que el prefijo de cada uno de ellos, según el GTIN (Global Trade Item Number = número mundial de un artículo comercial), es:
Argentina 779
Bolivia 777
Brasil 789 – 790
Paraguay 784
Uruguay 773
Venezuela 759
Si no corresponde a ninguno de estos países de origen informar que el producto no pertenece al Mercosur. Si el prefijo pertenece a Argentina verificar si el código del fabricante es menor a 65 en cuyo caso indicar mediante un mensaje que el código pertenece a un producto químico.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int clave_de_control, codigo_de_empresa, codigo_del_pais, codigo_del_producto, cpu;
    printf ("Ingrese el valor de cpu: ");
    scanf ("%d", &cpu);
    (void) getchar ();
    codigo_del_pais=(cpu%1000000000-cpu%1000000)/1000000;
    codigo_de_empresa=(cpu%1000000-cpu%1000)/1000;
    codigo_del_producto=(cpu%1000-cpu%10)/10;
    clave_de_control=cpu%10;
    if(codigo_del_pais==779)
        printf ("Argentina\n");
    if(codigo_del_pais==777)
        printf ("Bolivia\n");
    if(codigo_del_pais==789||codigo_del_pais==790)
        printf ("Brasil\n");
    if(codigo_del_pais==784)
        printf ("Paraguay\n");
    if(codigo_del_pais==773)
        printf ("Uruguay\n");
    if(codigo_del_pais==759)
        printf ("Venezuela\n");
    if(codigo_del_pais!=779&&codigo_del_pais!=777&&codigo_del_pais!=789&&codigo_del_pais!=790&&codigo_del_pais!=784&&codigo_del_pais!=773&&codigo_del_pais!=759)
        printf ("El producto no pertenece al Mercosur.\n");
    if(codigo_del_pais==779&&codigo_de_empresa<65)
        printf ("El c\242digo pertenece a un producto qu\241mico.\n");
    printf ("Valor de clave de control: %d\n", clave_de_control);
    printf ("Valor de codigo de empresa: %d\n", codigo_de_empresa);
    printf ("Valor de codigo del pais: %d\n", codigo_del_pais);
    printf ("Valor de codigo del producto: %d\n", codigo_del_producto);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}