Está en la página 1de 7

De acuerdo a los ejercicios planteados encontrar los errores en la programacin.

1.

Haga un programa en C de manera modular (usando funciones) para el siguiente


problema: la empresa rapinet ofrece el servicio de Internet de acuerdo a las siguientes
condiciones:
La tarifa se cobra por horas y minutos de la siguiente forma: Si el nmero de minutos es
menor de 30 no se le cobran los minutos extras (solo las horas enteras) si los minutos estn
entre 30 y 45 se cobra a 15 pesos los minutos que exceden de 30 y si los minutos son
mayores de 45 se le cobra una hora completa.
La tarifa por horas depende del nmero de horas que
navegue de acuerdo a la siguiente tabla
Tiempo de navegacin
De 1 a 5 horas
De 5 a 10 horas
Ms de 10 horas

Valor a pagar por hora


1500 pesos por hora
1200 pesos por hora
900 pesos por hora

La empresa ofrece el 10% de descuento sobre el total a pagar, para las personas
cuya cuenta supere los 10000 pesos.
Dado por teclado el tiempo de navegacin de cada una de las personas que reciben el servicio
en un da, hacer un programa en C que calcule el total a pagar de cada una de las personas
que hacen uso del servicio y el total recaudado por la empresa en un da. Para ello desarrolle
las siguientes funciones
Una funcin llamada calcular que calcule el total a pagar (sin descuento) conociendo el
nmero de horas y minutos navegados
Una funcin llamada descuento que calcule el total de dinero a descontar por el servicio de
Internet, conociendo el total a pagar sin descuento.
En el main se debe capturar las horas y minutos de navegacin de cada uno de los clientes del
da. Como no se conoce el nmero de clientes que atiende la empresa durante el da, el proceso
termina cuando el nmero de horas navegadas sea un nmero negativo. En el main tambin hay
que calcular el total recaudado por la empresa en dicho da.

float calcular (float x)


{
float p;
if(x<1)
{
p=1500;
}
else

if(1<=x&x<5)
{
p= x*1500;
}
else
if(5<=x&&x<=10);
{
p=x*1200;
}
else
{
p=900*x;
}
return(p);
}
float descuento ( )
{
float m;
if(30<=y&&y<=45)
{
m=((y-30)*15);
}
else
{
m=0;
}
return(return);
}
main()
{
float t,h,suma=0;
while(t>=0)
{
printf(" \n ingrese el tiempo (horas)consumido en rapinet\n");
scanf("%f",&t);
h=t*60;
pago=( calcular(t)+ descuento(h));
if(pago>10000)
{
pago=pago*0.9;
}
printf("\n su saldo a pagar es %2.2f pesos \n",pago );

suma==suma+pago;
}
printf("\n dinero recaudado en el dia es %d",suma);
getch();
};
2.

La biblioteca pblica de la ciudad de Pamplona tiene sistematizado el total de libros que


posee, y desea que usted cree un programa que ayude en el control de prstamos y
recoleccin de libros, la cantidad de personas que visitan la biblioteca es indeterminada
de ellos se conoce: Tipo de Servicio (1. Prstamo (Llevarse el libro para la casa) o 2. Entrega) y
el cdigo del libro. El proceso de prstamo y recoleccin termina cuando el tipo de servicio es
0.
Realice un programa que lea el tipo de servicio y el cdigo del libro y si es un cdigo debe
determinar si se puede prestar el libro o el valor a cobrar por los libros prestados (segn el
tipo de servicio solicitado) y al final imprimir el total recaudado por prestamos de libros.
El cdigo del libro est compuesto por 8 dgitos donde los tres primeros representan el rea
del Libro, los siguientes dos la cantidad de libros que existen y los ltimos 3 el identificador
del libro.
Ej: Para el cdigo 10105153
El rea es 101 la cantidad de libros es 05 y su cdigo de identificacin es 153
Realice:
Main()
Funcin Validar cdigo: Debe recibir el cdigo del libro y este debe cumplir: ser un
nmero de 8 dgitos, el rea debe estar entre 101 y 108 y la cantidad debe ser
diferente de 0. Si cumple debe retornar un 1(uno), si no cumple debe retornar un 0
(cero).
Funcin Prstamo: La funcin debe recibir el cdigo del libro y solo se pueden prestar
libros del rea 101, 102 y 104. La funcin debe retornar 1 (uno) si se puede prestar o 0
(cero) si no se puede realizar el prstamo
Funcin Recoleccin: La funcin debe recibir el cdigo del libro y dependiendo de la
cantidad de ejemplares disponibles se cobra un valor al usuario segn la siguiente
tabla, debe retornar el valor que se debe cobrar
Cantidad de ejemplares
1a
3a
Mas de

Valor del servicio de

#include<stdio.h>
#include<conio.h>

main()
{
int n,res,res1,res2,ser,sum=0;
do
{
printf("\nIngrese el tipo de servicio (1 prestamo y 2 entrega):\t");
scanf("%d",&ser);
if(ser>=1&&ser<=2)
printf("\nIngrese codigo del libro:\t");
scanf("%d",&n);
res=f_validar_codigo(n);
if(res==1)
{
if(ser==1)
{
res1=f_prestamo(n);
if(res==1)
{
res2=f_recoleccion(n);
printf("\nEl valor a pagar por el prestamo del libro a la hora de entrega
es: %d\t",res2);
}
else
{
printf("\nLo sentimos, no se puede realizar el prestamo\n");
}
}
else
{
res2=f_recoleccion(n);
printf("\nEl valor a pagar por el prestamo del libro es: %d\t",res2);
sum=sum+res2;
}
}
else
{
printf(\nEl codiogo del libro ingresado no es valido);
}
}
else
{
printf("\nEl tipo de servicio no existe");
}
}
while(ser!=0);
printf("\nEl valor total recaudado es:%d\t",sum);
printf("\n\n\t\t-|Gracias por utilizar nuestros servicios|-");
getch();
return(0);
}
int f_validar_codigo(int x)
{
int a;
if(x>=10000000&&x<=99999999)
{

}
{
}

a=x/100000;
if(a>=101&&a<=108)
{
return(1);
}
else
{
return(0);
}

return(0);

int f_prestamo(int x)
{
int ar;
ar=x/100000;
if(ar==101)
{
return(1);
}
else
{
if( ==102)
{
return(1);
}
else
{
if(ar==104)
{
return(1);
}
else
{
return(0);
}
}
}
}
{

f_recoleccion(int x)
int v=0,can,x1;
x1=x/1000;
can=x1%100;
if(can>=1&&can<=2)
{
v=v+2000;
return(v);
}
else
{
if(can>=3&&can<=6)
{
v=v+1000;
return(v);
}
else
{
v=v+500;
return(v);

}
3.

Hacer un programa en Lenguaje C de forma modular que calcule los nmeros narcisistas del 1 al
10000, el programa deber generar una lista de aquellos nmeros que cumplan con el requisito de
ser narcisista.
Un nmero narcisista es un Nmero de n dgitos que resulta ser igual a la suma de las potencias de
orden n de sus dgitos. Ejemplo: 1 = 11
153 = 1 + 5 + 3.
9474 = 94 + 44 + 74 + 44
El programa deber contener las siguientes funciones:
Una funcin que cuente el nmero de dgitos de un nmero entero
Una funcin potencia para calcular el resultado del dgito elevado a dicha potencia.
Una funcin donde se desglosar el nmero en cifras, calcule la suma de potencias y diga si el
nmero es o no narcisista.

#include<iostrean>
#include<stdio.h>
#include<conio.h>
int f_contar(int x);
int f_potencia(int x, int y);
int f_sumapotencias(int x);
int f_comparar(int x, int y)
main
{
system("color A1");
int num=1,suma,resp;
printf("los numeros narcisista son :\n");
while(num<=10000)
{
suma=f_sumapotencias(num);
resp=f_comparar(suma,num);
if (resp==1)
{
printf("\n %d",num);
}
num=num+1;
}
getch();
return(0);
}
int f_contar( )
{
int c=0;
while(x>0)
{
x=x/10;
c=c+1;
}
return(c);
}
int f_potencia(int x, int y)
{
int pot=1,i;

for(i=1;i<=y;i=i+1)
{
pot=potx;
}
return(pot);
}
int f_sumapotencias(int x)
{
int s=0,res,copy=x;
while(x>0)
{
res=x%10;
s=s+f_potencia(res,f_contar(copy));
x=x/10;
};
return(s);
}
int f_comparar(int x, int y)
{
if(x==y)
{
return( );
}
else
{
return(0);
}
}
}

También podría gustarte