Upload
cesar-contreras
View
19
Download
0
Embed Size (px)
Citation preview
1. De acuerdo a los ejercicios planteados encontrar los errores en la programación.
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 número de minutos es menor de 30 no se le cobran los minutos extras (solo las horas enteras) si los minutos están 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 número de horas que navegue de acuerdo a la siguiente tabla
Tiempo de navegación Valor a pagar por horaDe 1 a 5 horas 1500 pesos por horaDe 5 a 10 horas 1200 pesos por horaMás de 10 horas 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 navegación de cada una de las personas que reciben el servicio en un día, 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 día. Para ello desarrolle las siguientes funciones
Una función llamada “calcular” que calcule el total a pagar (sin descuento) conociendo el número
de horas y minutos navegados
Una función 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 navegación de cada uno de los clientes del día. Como no se conoce el número de clientes que atiende la empresa durante el día, el proceso termina cuando el número de horas navegadas sea un número negativo. En el main también hay que calcular el total recaudado por la empresa en dicho día.
#include<stdio.h>#include<conio.h>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) {
Faltan las librerias
Falta & para la condición
No lleva punto y coma
p=x*1200; } else { p=900*x; } return(p); }float descuento (float y) { float m; if(30<=y&&y<=45) { m=((y-30)*15); } else { m=0; } return(m); } main(){float t,h,pago,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();}
Le falta el parámetro interno a la función
El retorno de la variable no es return
No se encuetra declarada
La asignación esta mal escrita
No lleva punto y coma
Cantidad de ejemplares existentes Valor del servicio de préstamo1 a 2 $2.0003 a 6 $1.000Mas de 6 $500
1. La biblioteca pública 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 préstamos y recolección de libros, la cantidad de personas que visitan la biblioteca es indeterminada de ellos se conoce: Tipo de Servicio (1. Préstamo (Llevarse el libro para la casa) o 2. Entrega) y el código del libro. El proceso de préstamo y recolección termina cuando el tipo de servicio es 0.Realice un programa que lea el tipo de servicio y el código del libro y si es un código debe determinar si se puede prestar el libro o el valor a cobrar por los libros prestados (según el tipo de servicio solicitado) y al final imprimir el total recaudado por prestamos de libros.
El código del libro está compuesto por 8 dígitos 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 código 10105153
El área es 101 la cantidad de libros es 05 y su código de identificación es 153Realice:
Main() Función Validar código: Debe recibir el código del libro y este debe cumplir: ser un
número de 8 dígitos, 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).
Función Préstamo: La función debe recibir el código del libro y solo se pueden prestar libros del área 101, 102 y 104. La función debe retornar 1 (uno) si se puede prestar o 0 (cero) si no se puede realizar el préstamo
Función Recolección: La función debe recibir el código del libro y dependiendo de la cantidad de ejemplares disponibles se cobra un valor al usuario según la siguiente tabla, debe retornar el valor que se debe cobrar
#include<stdio.h>#include<conio.h>
int f_validar_codigo(int x);int f_prestamo(int x); int f_recoleccion(int x);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(res1==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;
NO se encuetran declaradas
int f_validar_codigo(int x); int f_prestamo(int x); int f_recoleccion(int x);
Falta { para iniciar el if
Variable mal declarada
Faltan declarar “ _____ ”
if(a>=101&&a<=108) { return(1); } else { return(0); } } else { return(0); }} int f_prestamo(int x){ int ar; ar=x/100000; if(ar==101) { return(1); } else { if(ar==102) { return(1); } else { if(ar==104) { return(1); } else { return(0); } } }} int 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); }
Le falta else a la condición
Faltan colocar la variable a comparar
Identificar el tipo de funcion (Int,Float,Char)
}}
2. Hacer un programa en Lenguaje C de forma modular que calcule los números narcisistas del 1 al
10000, el programa deberá generar una lista de aquellos números que cumplan con el requisito de ser narcisista.
Un número narcisista es un Número de n dígitos que resulta ser igual a la suma de las potencias de orden n de sus dígitos. Ejemplo: 1 = 11153 = 1³ + 5³ + 3³.9474 = 94 + 44 + 74 + 44
El programa deberá contener las siguientes funciones:
Una función que cuente el número de dígitos de un número enteroUna función potencia para calcular el resultado del dígito elevado a dicha potencia.Una función donde se desglosará el número en cifras, calcule la suma de potencias y diga si el número es o no narcisista.
#include<iostream>#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 x) { 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;
La librería esta mal declarada
Le falta punto y coma
Le falta ( ) a la funcion main
Le falta el parámetro a la función
for(i=1;i<=y;i=i+1) { pot=pot*x; } 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(1);} else{ return(0);}
Le falta * al proceso de la condición
No retorna nada falta parametro