• Lenguaje

    C

  • Descripción

    Calcular lo que hay que pagar por un conjunto de llamadas telefónicas. Por cada llamada se ingresa el tipo (Internacional, Nacional) y la duración en minutos. El criterio que se sigue para calcular el costo de cada llamada es el siguiente:
    - Internacional: 3 primeros minutos $100.00
    - Cada minuto adicional $60.00
    - Nacional: 3 primeros minutos $25.00
    - Cada minuto adicional $12.00
    - Total de llamadas y minutos acumulados en la cantidad de llamadas.

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main (void)
{
    int duracion_en_minutos, minutos_acumulados, pago_por_la_llamada, tipo_de_llamada;
    float tota_de_llamadas;
    char tecla_repetir;
    minutos_acumulados = 0;
    tota_de_llamadas = 0;
    do {
        system ("cls");
        printf ("Ingresa el valor de duracion en minutos: ");
        scanf ("%d", &duracion_en_minutos);
        (void) getchar ();
        pago_por_la_llamada=0;
        printf ("Selecciona el valor de tipo de llamada.\n");
        printf ("\t1.- Internacional\n");
        printf ("\t2.- Nacional\n");
        printf ("\t: ");
        do {
            scanf ("%d", &tipo_de_llamada);
            (void) getchar ();
            if (tipo_de_llamada<1||tipo_de_llamada>2)
                printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
        } while (tipo_de_llamada<1||tipo_de_llamada>2);
        if(tipo_de_llamada==1&&tipo_de_llamada<=3)
            pago_por_la_llamada=duracion_en_minutos*100;
        if(tipo_de_llamada==1&&tipo_de_llamada>3)
            pago_por_la_llamada=3*100+(duracion_en_minutos-3)*60;
        if(tipo_de_llamada==2&&tipo_de_llamada<=3)
            pago_por_la_llamada=duracion_en_minutos*25;
        if(tipo_de_llamada==2&&tipo_de_llamada>3)
            pago_por_la_llamada=3*25+(duracion_en_minutos-3)*12;
        tota_de_llamadas=tota_de_llamadas+pago_por_la_llamada;
        minutos_acumulados=minutos_acumulados+duracion_en_minutos;
        printf ("Valor de pago por la llamada: %d\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 minutos acumulados: %d\n", minutos_acumulados);
    printf ("Valor de tota de llamadas: %f\n", tota_de_llamadas);
    system ("pause");
    return EXIT_SUCCESS;
}