Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DARKDMR en 20 Octubre 2010, 05:15 am



Título: ploblema al compilar ejercicio en C
Publicado por: DARKDMR en 20 Octubre 2010, 05:15 am
Buenas amigos eh aquí mi inquietud:
me mandaron a hacer este ejercicio:
elabore un programa que permita calcular el monto final a pagar en un supermercado a partir de el monto de los alimentos, perfumería y otros. en el caso de los alimentos no se cobra impuesto, en el caso de perfumería y otros se cobrara un impuesto del 5%.
este es mi código:
Código:
#include<stdio.h>
int main()
{
int monto,alim,perf,otros;
int perft,otrost;
int esperar;
printf("introduzca el monto a pagar en articulos de alimentos: );
scanf("%d",&alim);
printf("introduzca el monto a pagar en articulos de perfumeria: );
scanf("%d",&perf);
printf("introduzca el monto a pagar en otros articulos: );
scanf("%d",&otros);
perft=(perf*0.5)+perf;
otrost=(otros*0.5)+otros;
monto=alim+perf+otrost;
printf("el monto total a cancelar es: %d.",monto);
scanf("%d",esperar);
}
al compilarlo me marca muchos errores y no entiendo porque?


Título: Re: ploblema al compilar ejercicio en C
Publicado por: .:BlackCoder:. en 20 Octubre 2010, 05:22 am
Va a sonar feo, pero leete un libro desde 0  :-\

Falta el return 0; de la funcion main....
Falta cerrar comillas en el argumento de la funcion printf...
Y quien sabe q mas...

Saludos... PD: la variable esperar no tiene sentido... Para la pausa, puedes usar getchar(); o system("PAUSE"); pero es mejor getchar, el por que lo puedes conseguir en este mismo foro...


Título: Re: ploblema al compilar ejercicio en C
Publicado por: MG2010 en 20 Octubre 2010, 05:27 am
Es muy simple,

recojes 3 variables.
integer perfumes, la multiplicas por 1.05;
integer otros, la multiplicas por 1.05;
alimentos, no lo multiplicas por nada;

al final sumas todo y lo imprimes.... es demasiado sencillo.


Título: Re: ploblema al compilar ejercicio en C
Publicado por: DARKDMR en 20 Octubre 2010, 05:31 am
Va a sonar feo, pero leete un libro desde 0  :-\

Falta el return 0; de la funcion main....
Falta cerrar comillas en el argumento de la funcion printf...
Y quien sabe q mas...

Saludos... PD: la variable esperar no tiene sentido... Para la pausa, puedes usar getchar(); o system("PAUSE"); pero es mejor getchar, el por que lo puedes conseguir en este mismo foro...
no es por nada pero estoy viendo clase de ello y te puedo asegurar que sin colocar lo que me has dicho el programa corre lo de las comillas se me ah pasado y gracias por la ayuda.


Título: Re: ploblema al compilar ejercicio en C
Publicado por: .:BlackCoder:. en 20 Octubre 2010, 05:48 am
Bueh, solo dire que el hecho de que corra no significa tanto... Pero hazlo como quieras...


Título: Re: ploblema al compilar ejercicio en C
Publicado por: [L]ord [R]NA en 20 Octubre 2010, 07:18 am
BlackCoder si no vas a responder de una manera seria por favor obvia postear, cuando no colocas el return se da un warning, no se da un error...


DARKDMR te marque las lineas donde estan los errores, si te fijas no cierras las comillas dentro de printf, por eso es que dan los errores. Tambien mira la variable que pasas al ultimo scanf deberias de pasar la direccion de memoria.
Código
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int monto,alim,perf,otros;
  5. int perft,otrost;
  6. int esperar;
  7. printf("introduzca el monto a pagar en articulos de alimentos: );
  8. scanf("%d",&alim);
  9. printf("introduzca el monto a pagar en articulos de perfumeria: );
  10. scanf("%d",&perf);
  11. printf("introduzca el monto a pagar en otros articulos: );
  12. scanf("%d",&otros);
  13. perft=(perf*0.5)+perf;
  14. otrost=(otros*0.5)+otros;
  15. monto=alim+perf+otrost;
  16. printf("el monto total a cancelar es: %d.",monto);
  17. scanf("%d",esperar);
  18. }
  19.  


Título: Re: ploblema al compilar ejercicio en C
Publicado por: do-while en 20 Octubre 2010, 12:38 pm
no es por nada pero estoy viendo clase de ello y te puedo asegurar que sin colocar lo que me has dicho el programa corre lo de las comillas se me ah pasado y gracias por la ayuda.

Disculpa, yo este año tambien he empezado un ciclo de programacion y te puedo asegurar que lo que enseñan esta lejos de ser correcto. Supongo que utilizaras un compilador borland (el 5.XX ejemplo) que te dejara compilar con un monton de errores que un compilador que respete el estandar no te dejara compilar.

Código
  1. int main()
  2.  
Estas diciendo que main es una funcion que devuelve un entero. Y por mucho que diagas lo contrario estas cometiendo un error, ya que no estas devolviendo nada al entorno que lo ejecuta.

Lo de las comillas ya se te ha dicho.

Me parece que tambien te han dicho que estas guardadndo valores reales en valores enteros, por lo que estas perdiendo informacion.

Y por ultimo (creo), scanf necesita que le pases direcciones de memoria para poder cambiar variables y en alguno de los que tu has puesto (buscalo), has puesto directamente una variable en lugar de su direccion... (que por cierto, me acabo de dar cuenta, tambien te lo habian dicho...

Si se te corrige es porque no sabes o porque haces mal las cosas. Si no quieres aceptar lo que se te dice en las respuestas no preguntes. Nos ahorraras tiempo.

¡Saludos!


Título: Re: ploblema al compilar ejercicio en C
Publicado por: тαптяα en 21 Octubre 2010, 14:35 pm
con code::bloks también corre por cierto.

y si quiere hacer el costo total.

ha de sumar perft a lo otro


Título: Re: ploblema al compilar ejercicio en C
Publicado por: [L]ord [R]NA en 21 Octubre 2010, 16:12 pm
con code::bloks también corre por cierto.

y si quiere hacer el costo total.

ha de sumar perft a lo otro

sin solucionar los errores de sintaxis que se presentan el compilador no lo compilara.


Título: Re: ploblema al compilar ejercicio en C
Publicado por: тαптяα en 21 Octubre 2010, 22:00 pm
mingw lo compila(IDE code::blocks)

y sin ningun warning


Título: Re: ploblema al compilar ejercicio en C
Publicado por: mauriciodelos en 27 Octubre 2010, 04:22 am
Igualmente creo que debería escribir el código correctamente para que nunca tenga problemas de portabilidad o al usar otro compilador.


Título: Re: ploblema al compilar ejercicio en C
Publicado por: Akai en 27 Octubre 2010, 08:42 am
mingw lo compila(IDE code::blocks)

y sin ningun warning

La cuestión sería con qué opciones del compilador activadas. Esas del tipo -Wall, -pedantic etc


Título: Re: ploblema al compilar ejercicio en C
Publicado por: тαптяα en 27 Octubre 2010, 15:58 pm
Igualmente creo que debería escribir el código correctamente para que nunca tenga problemas de portabilidad o al usar otro compilador.
cierto,


Título: Re: ploblema al compilar ejercicio en C
Publicado por: [L]ord [R]NA en 27 Octubre 2010, 16:43 pm
mingw lo compila(IDE code::blocks)

y sin ningun warning

faltando ; dudo que un compilador lo compile.