original sin errores

8
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 hora De 1 a 5 horas 1500 pesos por hora De 5 a 10 horas 1200 pesos por hora Má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; Faltan las librerias

Upload: cesar-contreras

Post on 27-Nov-2015

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Original Sin Errores

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

Page 2: Original Sin Errores

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

Page 3: Original Sin Errores

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

Page 4: Original Sin Errores

#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 “ _____ ”

Page 5: Original Sin Errores

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)

Page 6: Original Sin Errores

}}

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

Page 7: Original Sin Errores

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