• Lenguaje

    C

  • Descripción

    En una compañía se tienen los siguientes precios en sus llamadas:
    - Internacional. 3 primero minutos $3.50. Cada minuto adicional $1.50.
    - Nacional. 3 primeros minutos $1.00. Cada minuto adicional $.50.
    - Local. Las primeras 80 llamadas no se cobran. Cada llamada adicional cuesta $1.60.
    Calcular:
    a. Total de llamadas realizadas (no se sabe cuántas serán).
    b. Total de llamadas locales.
    c. Total de llamadas nacionales.
    d. Total a pagar por cada llamadas.
    e. Total a pagar por todas las llamadas realizadas.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main (void)
{
    int llamadas_locales, llamadas_nacionales, llamadas_realizadas, tipo_de_llamada;
    float minutos, pago_por_la_llamada, pago_por_todas_las_llamadas;
    char tecla_repetir;
    llamadas_locales = 0;
    llamadas_nacionales = 0;
    llamadas_realizadas = 0;
    pago_por_todas_las_llamadas = 0;
    do {
        system ("cls");
        printf ("Ingresa el valor de minutos: ");
        scanf ("%f", &minutos);
        (void) getchar ();
        pago_por_la_llamada=0;
        llamadas_realizadas=llamadas_realizadas+1;
        printf ("Selecciona el valor de tipo de llamada.\n");
        printf ("\t1.- Internacional\n");
        printf ("\t2.- Nacional\n");
        printf ("\t3.- Local\n");
        printf ("\t: ");
        do {
            scanf ("%d", &tipo_de_llamada);
            (void) getchar ();
            if (tipo_de_llamada<1||tipo_de_llamada>3)
                printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
        } while (tipo_de_llamada<1||tipo_de_llamada>3);
        if(tipo_de_llamada==1&&minutos<=3)
            pago_por_la_llamada=minutos*3.5;
        if(tipo_de_llamada==1&&minutos>3)
            pago_por_la_llamada=3.0*3.5+(minutos-3)*1.5;
        if(tipo_de_llamada==2&&minutos<=3)
        {
            pago_por_la_llamada=minutos;
            llamadas_nacionales=llamadas_nacionales+1;
        }
        if(tipo_de_llamada==2&&minutos>3)
        {
            pago_por_la_llamada=3.0+(minutos-3)*0.5;
            llamadas_nacionales=llamadas_nacionales+1;
        }
        if(tipo_de_llamada==3)
            llamadas_locales=llamadas_locales+1;
        if(tipo_de_llamada==3&&llamadas_locales>80)
            pago_por_la_llamada=1.6;
        pago_por_todas_las_llamadas=pago_por_todas_las_llamadas+pago_por_la_llamada;
        printf ("Valor de pago por la llamada: %g\n", pago_por_la_llamada);
        putchar ('\n');
        printf ("\250Deseas repetir el proceso? (S/N): ");
        do {
            tecla_repetir = (char) getch();
        } while (tecla_repetir!='s' && tecla_repetir!='n' && tecla_repetir!='S' && tecla_repetir!='N');
        putchar ('\n');
    } while (tecla_repetir=='s' || tecla_repetir=='S');
    printf ("Valor de llamadas locales: %d\n", llamadas_locales);
    printf ("Valor de llamadas nacionales: %d\n", llamadas_nacionales);
    printf ("Valor de llamadas realizadas: %d\n", llamadas_realizadas);
    printf ("Valor de pago por todas las llamadas: %f\n", pago_por_todas_las_llamadas);
    system ("pause");
    return EXIT_SUCCESS;
}