Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda a novato

Estas en el tema de ayuda a novato en el foro de C/C++ en Foros del Web. hola a todos estoy empezando a programar en C, y tengo un pequeño problema, a ver si alguien me puede ayudar. Estoy haciendo un ejercicio, ...
  #1 (permalink)  
Antiguo 07/04/2009, 04:55
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
ayuda a novato

hola a todos

estoy empezando a programar en C, y tengo un pequeño problema, a ver si alguien me puede ayudar.
Estoy haciendo un ejercicio, que basicamente consiste en hacer un calculo de lo que cuesta la cesta de la compra en una tienda de ropa. el problema exacto que tengo es el siguiente.
tengo una variable para la cantidad de articulos que se compra(unisport) y una constante para el coste del producto (constsport = 10)
Si un usuario adquiere 3 o mas articulos de un producto de sport, se le aplicara un dto del 5%. he creado una constante para el dto (dtosport).
primero hago el calculo de lo que le costara al cliente los productos que compre sin aplicar el dto (he creado una variable llamada "preciosport) que sera el total de la operacion.

printf ("El valor de su compra sin dto es %u\n", unisport * costsport, preciosport);
pero cuando quiero aplicar un condicional por si el usuario compra mas de 3 articulos, poder hacer el dto, el compilador siempre me da error.
la expresion que uso es la siguiente:
if (unisport>=3)
printf ("El valor de su comprar con dto es %u\n", preciosport - (preciosport - dtosport/100);

a ver si alguien me puede ayudar
gracias.
  #2 (permalink)  
Antiguo 07/04/2009, 06:52
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: ayuda a novato

La comparacion esta bien en teoria, aunque al printf final le falta cerrar un parentesis; por favor la proxima vez deja un codigo completo (con que tenga el error/problema con un main y sus cabeceras es suficiente, pero no tiene sentido que nosotros tengamos que crear el resto para poder ayudarte) y el error exacto marcado por el compilador.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 07/04/2009, 08:43
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda a novato

el codigo completo es este, (no esta acabado), lo he dejado justo donde este el error.

#include <stdio.h>
#include <conio.h>
void main(void)
{

const costsport = 10.00;
const costvestir = 30.00;
const costcomplement = 15.00;
const dtoextrasport = 5;
const dtoextravestir = 10;
const dtoextracomplement = 10;
const dtoadicional = 5;


unsigned int unisport,univestir,unicomplement;
float dtosport,dtovestir,dtocomplement;
float dtopreu;
float preusport,preuvestir,preucomplement;
float totalsport,totalvestir,totalcomplement;
float totalcompra;

clrscr();
printf ("Introdueixi el numero de unitats de sportwear: ");
scanf ("%u",&unisport);
printf ("Introdueixi el numero de unitats de vestir: ");
scanf ("%u",&univestir);
printf ("Introdueixi el numero de unitats de complement: ");
scanf ("%u",&unicomplement);
printf ("El preu de compra de la categoria sportwear es %u\n", (unisport * costsport), preusport);
printf ("El preu de compra de la categoria vestir es %u\n", univestir * costvestir);
printf ("El preu de compra de la categoria complement es %u\n", unicomplement * costcomplement);
if (unisport>=3)
printf ("El preu de compra de la categoria sportwear amb descompte es %g\n",preusport - (preusport * dtoextrasport / 100);




}

el error exacto que me marca es "possible usa of 'preusport' before definition in functin main()

gracias
  #4 (permalink)  
Antiguo 07/04/2009, 08:51
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: ayuda a novato

El error es el que te decia, te falta un parentesis en el printf final:
printf ("El preu de compra de la categoria sportwear amb descompte es %g\n",preusport - (preusport * dtoextrasport / 100));

Lo que mencionas es un warning supongo y es logico, en ningun lugar le das un valor a esa variable (preusport) y por lo tanto la operacion es erronea.

PD. Este codigo no es standard ni de lejos, aunque sea ponele el tipo a las constantes ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:38.