elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Error en código de ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Error en código de ejercicio  (Leído 6,222 veces)
audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
[C] Error en código de ejercicio
« en: 29 Marzo 2013, 07:32 am »

Ando codificando este:

En un estacionamiento, se cobra de la siguiente manera: los primeros 10 minutos son gratis, los siguientes 30 minutos tiene un valor de $0.30 y la hora $0.60. diseñe un programa que reciba tanto minutos como horas y muestre lo que debe cancelar el cliente. Tomando en cuenta que si es Martes y Sábado se hace un descuento del 12.56% sobre el monto total.

Código
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int min,hora,pagarporhora,montobruto;
  6. float descuento,pagarpormin,montoapagar;
  7. char dia[7];
  8. printf ("Indique la cantidad de minutos: ");
  9.    scanf("%d",&min);
  10.    printf("Indique el numero de horas: ");
  11. scanf ("%d",&hora);
  12.    printf ("Indique el Dia: ");
  13.    scanf ("%d",&dia);
  14.  
  15. if (min<=10) {
  16. pagarpormin=0.0;
  17. }
  18.        else
  19.        if (min<=30) {
  20. pagarpormin=0.3;
  21.       }
  22.       else
  23. pagarpormin=0.6;
  24.     pagarporhora=hora*0.6;
  25. montobruto=pagarpormin+pagarporhora;
  26.     if ((dia=="sabado") || (dia=="martes")){
  27.     descuento=montobruto*12.56/100;
  28.        }
  29.        else
  30.        descuento=0;
  31.  
  32. montoapagar=montobruto-descuento;
  33.                printf("Su monto a pagar es:$ %f", montoapagar);
  34. }

El programa corre pero no devuelve los valores requeridos.
¿En qué ando fallando?


En línea

Qué sería de dios sin el Hombre.
Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #1 en: 29 Marzo 2013, 10:42 am »

A mi me estaba dando fallos para pasar pagarporhora y montobruto de int a float, pero bueno si a ti te va bien, mejor.

Yo habiendo definido estas dos variables como float también y poniéndole:

Código
  1. system("pause");  // Para que no desaparezca la pantalla rápidamente

Habiendo incluido la librería iostream, si que obtengo el resultado. Creo que no hay ningún fallo.


En línea

audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #2 en: 29 Marzo 2013, 15:30 pm »

Al ponerle que estuve 1 hora con 30 minutos me cobra $ 0.900
Incluso si le pongo que fue sabado o lunes. Ahí tendría que haber diferencia.
En línea

Qué sería de dios sin el Hombre.
pacoperico

Desconectado Desconectado

Mensajes: 100


Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #3 en: 29 Marzo 2013, 15:52 pm »

Citar
char dia[7];
Tienes declarado dia como un arreglo de caracteres, pero cuando luego haces:
Citar
scanf ("%d",&dia);
estas intentando guardar un valor de tipo decimal en ese arreglo de caracteres. Tendrias que usar el especificador %s, que es el fomato de tipo cadena, en el primer argumento del scanf():
Código
  1. scanf ("%s", &dia)
Ademas, el nombre de un arreglo es en realidad un puntero del primer elemento de un arreglo, por lo que no tiene mucho sentido que uses el operador direccion en el segundo argumento de ese scanf(), que deberia quedar finalmente asi:
Código
  1. scanf ("%s", dia)
En línea

audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #4 en: 29 Marzo 2013, 16:28 pm »

A ti sí te obedece a los datos que pongas?

A mi no, es decir, ya sólo le falta obedecer cuando le digo que si es marte o sábado realice el descuento.
En línea

Qué sería de dios sin el Hombre.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #5 en: 29 Marzo 2013, 16:47 pm »

Para comparar la cadena ingresada con las literales "sabado" y "martes" tienes que seguir el consejo que te dieron en tu otro tema: utilizar la función strcmp.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #6 en: 29 Marzo 2013, 17:11 pm »

Efectivamente, con la siguiente línea si que obedece al día insertado

Código
  1. if (strcmp(dia,"sabado")==0||strcmp(dia,"martes")==0)descuento=montobruto*12.56/100;
En línea

audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #7 en: 29 Marzo 2013, 17:44 pm »

Listo! \o/

Una duda:

¿Tiene que ver que, como me dices, al usar strcmp al inicio tenga que cambiar el
Código
  1. int main()
por
Código
  1. int main(int argc, char * argv[])
?

¿Ahí qué estás indicando?
En línea

Qué sería de dios sin el Hombre.
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: [C] Error en código de ejercicio
« Respuesta #8 en: 29 Marzo 2013, 19:53 pm »

Al ejecutar un programa, se le pueden proporcionar datos (muy util para transmitir datos entre programas).

Si no los vas a usar, puedes dejarlo en blanco.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
podrian ayudarme con el codigo de este ejercicio
Ejercicios
Davidoff 6 7,685 Último mensaje 18 Octubre 2009, 14:10 pm
por h0oke
[Código] Cuadrado del primero - Ejercicio [Python]
Scripting
@Sthéfano 4 6,568 Último mensaje 8 Enero 2011, 17:44 pm
por [L]ord [R]NA
problema codigo ejercicio en c , dudas
Ejercicios
vani18 0 3,394 Último mensaje 13 Noviembre 2010, 15:02 pm
por vani18
me aparece un error en este ejercicio
Programación C/C++
terry2602 4 2,628 Último mensaje 30 Mayo 2012, 05:24 am
por durasno
Error en ejercicio de clase
Programación C/C++
foreground 3 2,965 Último mensaje 14 Octubre 2012, 17:07 pm
por bemone
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines