Sie sind auf Seite 1von 23

ESCUELA POLITCNICA NACIONAL

PROGRAMACIN

Fecha de entrega: Lunes 27 de noviembre de 2017


Nombre:

Instrucciones:
Copie y pegue el cdigo fuente bajo el enunciado de cada ejercicio en este
documento. Genere un PDF del mismo y sbalo en una subcarpeta con su
apellido ubicada dentro de esta carpeta.
Suba adems los cdigos fuente de los ejercicios (solo los archivos .c).
Renombre los archivos .c con un nombre descriptivo sin espacios (e.g.
Ejercicio_1.c, ejercicio_2.c, etc.)

CONVERSIN DE TIPOS

Escriba un programa en lenguaje C que lea desde el teclado un nmero natural


(utilizando el especificador de formato %d en la instruccin scanf) comprendido
entre 0 y 127, y muestre por pantalla el carcter que dicho nmero representa en la
tabla ASCII.

#include <stdio.h>
#include <stdlib.h>
/*Escriba un programa en lenguaje C que lea desde el teclado un nmero natural
(utilizando el especificador de formato %d en la instruccin scanf) comprendido entre 0 y
127,
y muestre por pantalla el carcter que dicho nmero representa en la tabla ASCII. */

int main()
{
int a;
char car;
printf("Hola buenos dias.\n\n");
printf("Introduzca un valor entero entre 0 y 127:\n");
scanf("%d",&a);
car=a;
printf("%c",car);
printf("\nGracias por su atencion\n");

return 0;
}
2. El programa siguiente en lenguaje C genera un error al compilarlo.
a. Determine qu sentencia est generando el error y escriba correctamente el
programa para que se muestre por pantalla el mensaje b=0.

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b, c;
a = 3.8;
c = 4.5;
b = (a*c)%4;
printf("b = %d\n", b);
return 0;
}
Utilizando nicamente la construccin cast (casting), cmo rescribira la sentencia b = (a+c)%4;
para que el programa muestre por pantalla el mensaje b=3?
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b, c;
a = 3.8;
c = 4.5;
b = (a+c)%4;
printf("b = %d\n", b);
return 0;
}

3. Escriba un programa en lenguaje C que lea desde el teclado dos nmeros


enteros positivos y muestre por pantalla el valor del porcentaje que representa el
segundo nmero sobre el primero. Por ejemplo, si los nmeros ledos son,
respectivamente, 5 y 2, entonces por pantalla se mostrar el mensaje: 2 es el 40.0%
de 5.

#include <stdio.h>
#include <stdlib.h>

int main()
{
float n1,n2;
int x;
printf("Hola buenos dias.\n\n");
printf("Porfavor ingrese dos numeros enteros positivos:\n");
scanf("%f%*c%f",&n1,&n2);
x=(((n2)/(n1))*100);
printf("%f es el %d por ciento de %f",n2,x,n1);
printf("\nGracias por su atencion\n");
return 0;
}
4. Dados los programas siguientes, escritos en lenguaje C, indique para cada
caso la salida obtenida por pantalla:
a. #include <stdio.h>
main()
{
int a;
float b = 3.7189;
a = b;
printf("a = %d\n", a);
}
b. #include <stdio.h>
main()
{
nt cod;
har car;

car = 'B';
cod = 75;
printf("El codigo ASCII para la letra %c es %hhd\n", car,
car);
printf("El codigo ASCII %d representa el caracter %c\n",cod,
cod);
}
c.

#include <stdio.h>
main()
{
char car;
int a, b=3, e, f;
float c, d=10.8;
a = d;
printf("La variable a solo almacena valores enteros, entonces: a = %d. Por
tanto, si le asignamos un valor real, la parte decimal se trunca\n", a);
printf("\nEl resultado de dividir %d entre %d es un valor entero igual al
valor de %d\n", a, b, a/b);
c = a;
printf("\nAl asignar a la variable c el valor de la variable a = %d, el valor
de la variable c es %.1f\n",a, c);
printf("\nAl sumar el valor entero de la variable a con el valor real de la
variable c, obtenemos un resultado real: a + c = %d + %.1f = %.1f\n", a, c,
c+a);
car = 2*a*b;
printf("\nAl asignar a la variable car el valor entero 2*a*b = %d, obtenemos
el valor %d que corresponde al carcter ASCII %c\n", 2*a*b, car, car);
d = b/2;
printf("\nAritmetica entera: b/2 = %d/2 = %.1f\n", b, d);
d = b/2.0;
printf("\nAritmetica en punto flotante: b/2.0 = %d/2.0 = %.1f\n", b, d);
e = a/b + 3.8;
printf("\nAritmetica en punto flotante: a/b + 3.8 = %d + 3.8 = %d\n", a/b,
e);
f = (float) a/b + 3.8;
printf("\nAritmetica en punto flotante: (float) a/b + 3.8 = %.1f + 3.8 =
%d\n", (float) a/b, f);
}
CONDICIONALES

5. Indique el mensaje que muestran por pantalla los programas siguientes:


a.

#include <stdio.h>
main()
{
int a = 8;
if (a = 0)
printf("Sentencia correcta?\n");
}

b.-

#include <stdio.h>
main()
{
unsigned int noche = 0;
if (noche == 1)
printf("Buenas noches\n");
else
printf("Buenos dias\n");
}
c.-

#include <stdio.h>
main()
{
int num = 1;
if ((num<=-1)||(num>=1))
printf("Rango de representacion correcto\n");
else
printf("Rango de representacion incorrecto\n");
}
6. Dado el siguiente cdigo:

a. Indente correctamente el programa anterior.


b. Si el usuario introduce desde el teclado el valor -1, indique el mensaje que el
programa muestra por pantalla
c. Si el usuario introduce desde el teclado el valor 0, cul es el mensaje que se
muestra por pantalla?
d. Si en el programa se sustituye la condicin num = 0 por num = 2 y el usuario
introduce desde el teclado el valor 2, qu mensaje muestra el programa en pantalla?
e. Indique qu posible error se est cometiendo en la sentencia if-else.

El error es evidente la condicin if toma la instruccin mas cercana por ello debemos
separar u ordenar bien el algoritmo a ejecutar para evitar erroes.
7. Escriba un programa en lenguaje C que lea desde el teclado dos nmeros
enteros. Si el primer nmero es menor que el segundo, el programa muestra en
pantalla el mensaje ''Arriba''. Si el primer nmero es mayor que el segundo, el
programa muestra en pantalla el mensaje ''Abajo''. Si los nmeros son iguales, el
programa muestra en pantalla el mensaje ''Igual''. Supngase que los nmeros
ledos desde el teclado son vlidos.
#include <stdio.h>
#include <stdlib.h>

int main()
{
int num1, num2;
printf("Porfavor ingrese dos numeros enteros positivos (x-y):\n");
scanf("%d-%d%*c",&num1,&num2);
if ((num1)<(num2))
printf("Abajo");
else if ((num1)>(num2))
printf("Arriba");
else
printf("Igual");
printf("\n\nGracias por su atencion\n\n");
return 0;
}

8. Escriba un programa en lenguaje C que determine, mostrando un mensaje


por pantalla, si un nmero entero ledo desde el teclado es o no un nmero mltiplo
de 5 y de 7.
#include <stdio.h>
#include <stdlib.h>
/*Escriba un programa en lenguaje C que determine, mostrando un mensaje por pantalla
si un nmero entero ledo desde el teclado es o no un nmero mltiplo de 5 y de 7.*/

int main()
{
int a,b,c;
printf("Porfavor ingrese un numero entero:\n");
scanf("%d%*c",&a);
b=a%5;
c=a%7;
if ((b==0)&&(c==0))
printf("%d es multiplo de 5 y 7",a);
else
printf("%d no es multiplo de 5 y 7",a);
printf("\nGracias por su atencion\n\n");
return 0;
}

9.-Escriba un programa en lenguaje C que lea del teclado un carcter y muestre un


mensaje en pantalla que indique si el carcter es una vocal en letra minscula, si el
carcter es una vocal en letra mayscula o si el carcter introducido no es una
vocal.

#include <stdio.h>
#include <stdlib.h>
/*Escriba un programa en lenguaje C que lea del teclado un carcter y muestre un
mensaje en pantalla
que indique si el carcter es una vocal en letra minscula, si el carcter es una vocal en
letra mayscula
o si el carcter introducido no es una vocal.*/

int main()
{
char letra;
printf("Porfavor ingrese caracter:\n");
scanf("%c%*c",&letra);
if ( letra == 'a' || letra == 'e' ||letra == 'i' || letra == 'o' ||letra == 'u' )
printf("%c es una vocal minuscula.\n",letra);
else if ( letra == 'A' || letra == 'E' ||letra == 'I' || letra == 'O' ||letra == 'U' )
printf("%c es una vocal mayuscula.\n",letra);
else
printf("%c no es una vocal.\n",letra);
printf("Gracias\n\n");
return 0;
}
10. Escriba un programa en lenguaje C que lea del teclado un nmero entero
comprendido entre 0 y 6. Supngase que cada uno de estos valores corresponde a
un da de la semana, considerando que el valor 0 corresponde al da Lunes, y as
sucesivamente. El programa ha de mostrar en pantalla un mensaje que indique el
nombre del da de la semana correspondiente al valor introducido. Supngase que
el usuario introducir siempre un valor entero comprendido entre 0 y 6.

#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int num1;
printf("Porfavor ingrese el numero de dia de la semana de 0 a 6:\n");
scanf("%u%*c",&num1);
if (num1==0)
printf("Hoy es lunes, buen inicio de semana.");
else if (num1==1)
printf("Hoy es martes, bonito dia.");
else if (num1==2)
printf("Hoy es miercoles, bonito dia.");
else if (num1==3)
printf("Hoy es jueves, ya casi.");
else if (num1==4)
printf("Hoy es viernes, al fin.");
else if (num1==5)
printf("Hoy es sabado, bonito dia.");
else
printf("Hoy es domingo, nooo.");
printf("\nGracias\n\n");

return 0;
}
11. Modifique el programa del ejercicio anterior para que, cuando el usuario
introduzca desde el teclado un nmero menor que 0 o mayor que 6, el programa
muestre por pantalla el mensaje: Error en el dato de entrada.

#include <stdio.h>
#include <stdlib.h>
/*Modifique el programa del ejercicio anterior para que, cuando el usuario introduzca
desde el teclado
un nmero menor que 0 o mayor que 6, el programa muestre por pantalla el mensaje:
Error en el dato de entrada.*/

int main()
{
unsigned int num1;
printf("Porfavor ingrese el numero de dia de la semana de 0 a 6:\n");
scanf("%u%*c",&num1);
if (num1==0)
printf("Hoy es lunes, buen inicio de semana.");
else if (num1==1)
printf("Hoy es martes, bonito dia.");
else if (num1==2)
printf("Hoy es miercoles, bonito dia.");
else if (num1==3)
printf("Hoy es jueves, ya casi.");
else if (num1==4)
printf("Hoy es viernes, al fin.");
else if (num1==5)
printf("Hoy es sabado, bonito dia.");
else if (num1==6)
printf("Hoy es domingo, nooo.");
else
printf("Error en el dato de entrada");
printf("\nGracias\n\n");

return 0;
}
12. Escriba un programa en lenguaje C que muestre por pantalla el mximo de
tres nmeros enteros ledos desde el teclado.

#include <stdio.h>
#include <stdlib.h>
/*Escriba un programa en lenguaje C que muestre por pantalla el mximo de tres nmeros
enteros ledos desde el teclado.*/

int main()
{
int a,b,c;
printf("Porfavor ingrese tres numeros enteros separados por espacios:\n");
scanf("%d %d %d%*c",&a,&b,&c);
if ((a>=b)&&(a>=c))
printf("%d es el numero mayor, mayor que %d y %d\n",a,b,c);
else if ((b>=a)&&(b>=c))
printf("%d es el numero mayor, mayor que %d y %d\n",b,a,c);
else if ((c>=b)&&(c>=a))
printf("%d es el numero mayor, mayor que %d y %d\n",c,b,a);
else
printf("Los numeros ingresados son iguales\n");
printf("Gracias \n\n");

return 0;
}

13. Dados 3 nmeros enteros ledos desde el teclado, que representan,


respectivamente, el da, el mes y el ao de la fecha actual, escriba un programa en
lenguaje C que muestre por pantalla la fecha del da anterior. Supngase que la
fecha introducida por el usuario es vlida y, para simplificarla implementacin, que
no hay aos bisiestos.

#include <stdio.h>
#include <stdlib.h>
/*Dados 3 nmeros enteros ledos desde el teclado, que representan, respectivamente, el
da, el mes y el ao
de la fecha actual, escriba un programa en lenguaje C que muestre por pantalla la fecha
del da anterior. */

int main()
{
int dia,mes,year,dant,mant,yant;
printf("Porfavor ingrese la fecha del dia de hoy (dd/mm/aaaa):\n");
scanf("%d/%d/%d%*c",&dia,&mes,&year);
if ((dia<=31)&&(dia>01))
{
dant=dia-1;
mant=mes;
yant=year;
printf("La fecha anterior a %d/%d/%d es: %d/%d/%d",dia,mes,year,dant,mant,yant);}
else if((dia==01)&&(mes==01))
{ dant=31;
mant=12;
yant=year-1;
printf("La fecha anterior a %d/%d/%d es: %d/%d/%d",dia,mes,year,dant,mant,yant);}
else if(dia==01)
{ dant=31;
mant=mes-1;
yant=year;
printf("La fecha anterior a %d/%d/%d es: %d/%d/%d",dia,mes,year,dant,mant,yant);}
printf("\nGracias por su atencion\n\n");
return 0;
}

14. Supngase que se quiere hacer un programa en C que lea por teclado el
valor numrico de un da y un mes, y muestre en pantalla un mensaje que indique la
estacin del ao a que corresponde dicha fecha. Si el usuario introduce una fecha
incorrecta, el programa muestra por pantalla el mensaje: Error!!! Fecha incorrecta.
Para simplificar la implementacin, supngase que todos los meses del ao
tienen 31 das. Adems, recurdese que la primavera comienza el 21 de
marzo, el verano el 21 de junio, el otoo el 21 de septiembre y el invierno el
21 de diciembre.

#include <stdio.h>
#include <stdlib.h>
/*Supngase que se quiere hacer un programa en C que lea por teclado el valor numrico
de un da y un mes,
y muestre en pantalla un mensaje que indique la estacin del ao a que corresponde
dicha fecha.
Si el usuario introduce una fecha incorrecta, el programa muestra por pantalla el mensaje:
Error!!! Fecha incorrecta.*/
int main()
{
int dia,mes;
printf("Porfavor ingrese el dia y mes (dd/mm):\n");
scanf("%d/%d%*c",&dia,&mes);
if (mes==3)
{if (dia>=21 && dia<=31)
printf("El dia (%d/%d) estamos en primavera",dia,mes);}
else if ((mes==4)||(mes==5))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en primavera",dia,mes);}
if (mes==6)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en primavera",dia,mes);}

if (mes==6)
{if (dia>=21 && dia<=31)
printf("El dia (%d/%d) estamos en verano",dia,mes);}
else if ((mes==7)||(mes==8))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en verano",dia,mes);}
if (mes==9)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en verano",dia,mes);}

if (mes==9)
{if (dia>=21 && dia<=31)
printf("El dia (%d/%d) estamos en otoo",dia,mes);}
else if ((mes==10)||(mes==11))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en otoo",dia,mes);}
if (mes==12)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en otoo",dia,mes);}

if (mes==12)
{if (dia>=21 && dia<=31)
printf("El dia (%d/%d) estamos en invierno",dia,mes);}
else if ((mes==1)||(mes==2))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en invierno",dia,mes);}
if (mes==3)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en invierno",dia,mes);}
printf("\n\nGracias por su atencion\n\n");

return 0;
}
15. Modifique el ejercicio anterior para que ahora no tenga que suponerse que
todos los meses del ao tienen 31 das. Considrese que el mes de febrero puede
tener hasta 29 das.

#include <stdio.h>
#include <stdlib.h>
/*Modifique el ejercicio anterior para que ahora no tenga que suponerse que todos los
meses del ao tienen 31 das.
Considrese que el mes de febrero puede tener hasta 29 das.*/

int main()
{
int dia,mes;
printf("Porfavor ingrese el dia y mes (dd/mm):\n");
scanf("%d/%d%*c",&dia,&mes);
if (mes==1)
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en invierno",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if (mes==2)
{if (dia>=1 && dia<=28)
printf("El dia (%d/%d) estamos en invierno",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if (mes==3)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en invierno",dia,mes);
else if (dia>=21 && dia<=31)
printf("El dia (%d/%d) estamos en primavera",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if ((mes==4)||(mes==5))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en primavera",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if (mes==6)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en primavera",dia,mes);
else if (dia>=21 && dia<=30)
printf("El dia (%d/%d) estamos en verano",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if ((mes==7)||(mes==8))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en verano",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if (mes==9)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en verano",dia,mes);
else if (dia>=21 && dia<=30)
printf("El dia (%d/%d) estamos en otoo",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if ((mes==10)||(mes==11))
{if (dia>=1 && dia<=31)
printf("El dia (%d/%d) estamos en otoo",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
if (mes==12)
{if (dia>=1 && dia<21)
printf("El dia (%d/%d) estamos en otoo",dia,mes);
else if (dia>=21 && dia<=30)
printf("El dia (%d/%d) estamos en invierno",dia,mes);
else
printf("Fecha incorrecta el mes no tiene %d dias.",dia);}
printf("\n\nGracias por su atencion\n\n");

return 0;
}
16. Se necesita implementar una solucin que permita implementar un
conversor de unidades de longitud. La solucin deber:

#include <stdio.h>
#include <stdlib.h>
/*16. Se necesita implementar una solucin que permita implementar un conversor de
unidades de longitud.*/

int main()
{
float longitud,res;
int opc;
printf("Hola buenos dias.\n\n");
printf ("Porfavor ingrese el valor de longitud en (m) que desa transformar:\n");
scanf("%f%*c",&longitud);
printf("Porfavor escoja la opcion de transformacion que desea realizar:\n");
printf("De metros a kilometros (1)\n");
printf("De metros a centimetros (2)\n");
printf("De metros a pulgadas (3)\n");
printf("De metros a pies (4)\n");
printf("De metros a millas (5)\n");
printf("Salir (0)\n");
scanf("%d%*c",&opc);
if (opc==1)
{res=(longitud/1000);
printf("%2f metros a kilometros es:%2f kilometros",longitud,res );}

else if (opc==2)
{res=(longitud*100);
printf("%2f metros a centimetros es:%2f centimetros",longitud,res );}

else if (opc==3)
{res=(longitud*39,37);
printf("%2f metros a pulgadas es:%2f pulgadas",longitud,res );}

else if (opc==4)
{res=(longitud*3,28);
printf("%2f metros a pies es:%2f pies",longitud,res );}

else if (opc==5)
{res=(longitud*0.000621371);
printf("%2f metros a millas es:%2f millas",longitud,res );}

else if (opc==0)
{printf("\n\nSaliste gracias\n\n");}
printf("\n\nGracias por su atencion\n\n");

return 0;
}
17. Escribir un algoritmo que lea tres nmeros y encuentre si uno de ellos es la
suma de los otros dos.

#include <stdio.h>
#include <stdlib.h>
/*Escribir un algoritmo que lea tres nmeros y encuentre si uno de ellos es la suma de los
otros dos.*/

int main()
{
int num1, num2, num3;
printf("\nPorfavor ingrese tres numeros:\n");
scanf("%d%*c%d%*c%d%*c",&num1,&num2,&num3);
if ((num1+num2)==num3)
{printf("la suma de %d + %d es: %d",num1, num2, num3);}
else if ((num1+num2)==num3)
{printf("la suma de %d + %d es: %d",num1, num3, num2);}
else if ((num2+num3)==num1)
{printf("la suma de %d + %d es: %d",num2, num3, num1);}
else
{printf("No existe un numero que sea el resultado de la suma los otros dos numeros");}
printf("\n\nGracias por su atencion\n\n");
return 0;
}
18. Write a C program to accept a coordinate point in a XY coordinate system
and determine in which quadrant the coordinate point lies.

#include <stdio.h>
#include <stdlib.h>
/*Escriba un programa C para aceptar un punto de coordenadas en un sistema de
coordenadas XY
y determine en qu cuadrante se encuentra el punto de coordenadas.*/

int main()
{
int x,y;
printf("Porfavor ingrese las coordenas rectangulares (x,y):\n");
scanf("(%d,%d)%*c",&x,&y);
if (x>0 && y>0)
{ printf("\nEl punto (%d,%d) se encuentra en el I cuadrante.",x,y);}
else if (x<0 && y>0)
{ printf("\nEl punto (%d,%d) se encuentra en el II cuadrante.",x,y);}
else if (x<0 && y<0)
{ printf("\nEl punto (%d,%d) se encuentra en el III cuadrante.",x,y);}
else if (x>0 && y<0)
{ printf("\nEl punto (%d,%d) se encuentra en el IV cuadrante.",x,y);}
else
{ printf("El punto (%d,%d) se encuentra en el origen.",x,y);}
printf("\n\nGracias por su atencion\n\n");

return 0;
}
19. Write a C program to find the eligibility of admission for a professional
course based on the following criteria:

#include <stdio.h>
#include <stdlib.h>
/*Write a C program to find the eligibility of admission for a professional course based on
the following criteria */
int main()
{
int fisica,mate,quimica,res;
printf("\nPorfavor ingrese la nota/100 obtenida en Fisica:\n");
scanf("%d%*c",&fisica);
printf("Porfavor ingrese la nota/100 obtenida en Matematicas:\n");
scanf("%d%*c",&mate);
printf("Porfavor ingrese la nota/100 obtenida en Quimica:\n");
scanf("%d%*c",&quimica);
res=(fisica+mate+quimica);
if (fisica>=55 && mate>=65 && quimica>=50)
{ printf("Rendimiento esperado:\nEl candidato es elegible para la admisin.");}
else if (res>=180)
{ printf("Rendimiento esperado:\nEl candidato es elegible para la admisin.");}
else
{ printf("\nRendimiento insuficiente:\nEl candidato no es elegible para la admision.");}
printf("\n\nGracias por su atencion\n\n");

return 0;
}
20. Write a program in C to calculate and print the Electricity bill of a given
customer. The customer id., and unit consumed by the user should be taken from
the keyboard and display the total amount to pay to the customer. The charge are as
follow :
Unit Charge/unit

upto 199 @1.20

200 and above but less than 400 @1.50

400 and above but less than 600 @1.80

600 and above @2.00

#include <stdio.h>
#include <stdlib.h>
/*Write a program in C to calculate and print the Electricity bill of a given customer.
The customer id., and unit consumed by the user should be taken from the keyboard and
display
the total amount to pay to the customer. */
int main()
{
int consumo;
char nombre[25];
char ci[25];
float cxcarg, surchg=0, tpagar,netamt;
printf("\nPorfavor ingrese su numero de cedula:\n");
scanf("%s%*c",&ci);
printf("Porfavor ingrese sus nombres:\n");
scanf("%[^\n]s%*c",&nombre);
printf("Porfavor ingrese el consumo de este mes:\n");
scanf("%d%*c",&consumo);
if (consumo<200)
cxcarg=1.20;
else if ((consumo>=200)&&(consumo<400))
cxcarg=1.50;
else if (consumo>=400 && consumo<600)
cxcarg=1.80;
else
cxcarg = 2.00;
tpagar = consumo*cxcarg;
if (tpagar>300)
surchg=(tpagar*15/100.0);
netamt=(tpagar+surchg);
if (netamt<100)
netamt=100;
printf("\nFactura de consumo energetico:\n");
printf("Numero de cedula del cliente :%s\n", ci);
printf("Nombre del Cliente :%s\n", nombre);
printf("Valor Consumido :%d kw/h\n ", consumo);
printf("Cantidad de carga %4.2f dolares por unidad :%8.2f dolares\n", cxcarg, tpagar);
printf("Cantidad Recargada:%8.2f dolares\n",surchg);
printf("Cantidad neta pagada por el cliente :%8.2f dolares\n",netamt);
printf("\n\nGracias por su atencion\n\n");
return 0;
}

Das könnte Ihnen auch gefallen