Bueno la verdad trate de hacerlo hasta donde pude, me cuesta entender el while (se que tengo que volver a leer la variable pero nose en donde) todavía.Me gustaría que me ayuden a completarlo(para entenderlo), y también quería saber¿esta bien la parte del vector para mostrar el total?. Muchas gracias. Si no entienden algo de lo que hice me avisan.
Código
/*En una casa de ropa se ofrece tres prendas en promocion. Las tres prendas posibles con sus repectivos precios son:
1- Camisa, la cual cuesta $400.
2-Pantalon, el cual cuesta $1000.
3-Campera, la cual cuesta $1500.
De acuerdo a la opcion elegida tenemos la posibilidad de elegir la promocion para dicha opcion o simplemente tomar solo la opcion elegida.
-Camisa.
a) Camisa+remera ($200 mas).
b) Camisa sola.
-Pantalon.
a)Pantalon+medias ($100 mas).
b) Pantalon solo.
-Campera.
a)Campera+camisa ($200 mas):
b) Campera sola.
Informar el precio final de acuerdo a las opciones elegidas, sumando los adicionales correspondientes segun la promocion seleccionada. Esto se debera almacenar en un vector de 3 posiciones que contendra los saldos totales de las
opciones. Asi mismo se informara por separado a cuanto asciende el saldo total de la compra.*/
#include<stdio.h>
#include<conio.h>
int main (){
int cat=0,opc=0,vec[3];
char c;
printf("\n¿Desea realizar una nueva compra o adquirir otro producto? Presione la tecla s para continuar.");
printf("\n Seleccione la opcion que desee a continuacion: \n 1.Camisa. \n2.Pantalon. \n3.Campera.");
switch(cat)
{
case1:printf("\n La opcion elegida posee la siguiente promocion: Camisa+remera ($200 mas), para seleccionar la promocion presione la tecla 1, y cualquier otra tecla para el producto solo.");
case2:printf("\n La opcion elegida posee la siguiente promocion: Pantalon+medias ($100 mas), para seleccionar la promocion presione la tecla 1, y cualquier otra tecla para el producto solo.");
case3:printf("\n La opcion elegida posee la siguiente promocion: Campera+camisa ($200 mas), para seleccionar la promocion presione la tecla 1, y cualquier otra tecla para el producto solo.");
Un consejo, que uses nombres de variables más claro. Si tu código es autocomentado resulta más rápida la tarea de depuración. Te dejo este video que espero te sirva para despejar tus dudas sobre el bucle while
¿esta bien la parte del vector para mostrar el total?
Un vector, arreglo o array es una variable que contiene elementos del mismo tipo uno consecutivo al otro, comenzando con su primer elemento en la posición 0. Acá en tu programa vos estás declarando un arreglo del tipo entero de 3 elementos, al final de tu programa sumas todos los elementos y guardas ese valor en la variable "tot". El error en esa parte de tu programa es que estás sumando un elemento de más que no corresponde a tu arreglo. La correción seria la siguiente:
Código
tot= vec[0]+vec[1]+vec[2];
También tenes el mismo error dentro de los case del switch. Básicamente, tene en cuenta que la primer posición siempre es 0 y no 1, y que la ultima posición del arreglo, en este caso, seria 2 y no 3.
Por último hay un par de errores para mi gusto que tienen que ver con la manera en la que escribís tu código, pero es porque yo personalmente soy medio hincha bolas con unas cosas jeje, si querés hablame por mensaje privado y te las comento. Es mejor que las corrijas desde temprano así no te mal acostumbras.[/pre]
Bueno muchas gracias por contestar cuando llegue a mi casa arreglo eso y voy a ver si logro hacer funcionar la parte del while osea el concepto lo tengo pero me confundo al aplicarlo.
dentro del while alguna vez le cambias el valor a la variable "c"? -qué pasa si nunca se lo cambias? -cómo se lo cambiaste originalmente y como tienes que cambiarlo ahora?
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
dentro del while alguna vez le cambias el valor a la variable "c"? -qué pasa si nunca se lo cambias? -cómo se lo cambiaste originalmente y como tienes que cambiarlo ahora?
No nunca le cambio el valor a c. -Yo suponía que si no se lo cambiaba por ejemplo ingresaba una n, salia del bucle y del programa pero creo que no es así. Y la otra pregunta no la entendí. Perdón por mi ignorancia.
No nunca le cambio el valor a c. -Yo suponía que si no se lo cambiaba por ejemplo ingresaba una n, salia del bucle y del programa pero creo que no es así. Y la otra pregunta no la entendí. Perdón por mi ignorancia.
el bucle valora "c", si "c" no deja de ser 's' jamas saldrá
si cambias c
Código
char c;//<-declaras "c"
printf("\n¿Desea realizar una nueva compra o adquirir otro producto? Presione la tecla s para continuar.");
scanf("%c",&c);//<-cambias "c" por un valor ingresado por el usuario
while(c=='s')//<- se repite hasta que "c" deje de ser 's'
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
no, no puedes cambiarle el nombre a una variable... al decir cambiar, es cambiar el contenido
En línea
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.