Hola Jorge,<br><br><div class="gmail_quote">2012/1/25 Jorge Yonusg <span dir="ltr"><<a href="mailto:jorgeyonusg@gmail.com">jorgeyonusg@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Muchísimas gracias amigo Steven tomare el mas importante de tus consejo y me devuelvo a sentencias básicas,<div>hice los arreglos y correcciones en la parte de los monitores no deja seleccionar y suma todo ruego me expliques como solucionar esto.</div>
<div><br></div></blockquote><div><br></div><div>Veamos el código fuente.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div></div><div><br></div>
<div><div class="im"><div>//Una tienda de articulos de computación, requiere calcular su venta según los</div><div>//combos que se puedan ensamblar, sabiendo que tenemos 2 tipos de Monitores </div></div><div>//monitor1 de 15 pulgadas 1000 bsf</div>
<div>//monitor2 de 19 pulgadas 1500 bsf</div><div class="im"><div>//tres combos de CPU </div><div>//teclado, mouse y cornetas respectivamente y los precios son de </div><div>//combo1 1700</div><div>//combo2 2100</div><div>
//combo3 2500 </div>
<div>//adicionalmente una </div><div>//impresora 550 se le </div></div><div>//obsequiara un pendrive si el combo vendido supera los 3500 bsf. </div><div class="im"><div><br></div><div>#include <stdio.h></div><div>#include <conio.h></div>
<div><br></div><div>#define nRETIRPF 0.15</div><div><br></div><div>int main(void)</div><div><br></div><div>{</div></div><div> char opc,monitor,imp;</div><div> int venta; </div><div> const int a=1700, b=2100, c=2500, p=1000, l=1500, m=0, n=0, s=550;</div>
<div> </div><div> </div><div> venta=0; </div><div> </div><div>printf(" \n"); </div><div>printf("Los Siguientes combos a vender son: \n");</div><div>printf("Combo1:1700Bsf, Combo2:2100Bsf, Combo3:2500Bsf \n");</div>
<div>printf(" \n");</div><div>printf(" \n");</div><div>printf("Por Favor elija su combo: \n");</div><div>printf("Escriba a para combo1, b para combo2, c para combo3 \n");</div><div>
printf(" \n");</div><div>scanf("%c", &opc);</div><div> switch(opc)</div><div> {</div><div> case 'a': venta=venta+=a;</div>
<div> case 'b': venta=venta+=b;</div><div> case 'c': venta=venta+=c;</div></div></blockquote><div><br></div><div>En primer lugar, lo que te interesa es hacer esto:</div>
<div><br></div><div>venta += a;</div><div><br></div><div>y no reasignar a 'venta' con su propio valor. Aparte de que no es nada lógico, puede provocar errores de programación en cuanto al valor correcto de 'venta'.</div>
<div><br></div><div>En segundo lugar, 'switch/case' funciona en base a UN salto al caso correcto, y NO un salto al caso adecuado y luego otro salto fuera del 'switch'. Por lo tanto, si queremos el segundo comportamiento, usando 'switch/case', indicamos 'break' entre cada caso, para que salte fuera de esta sentencia de control. Esto es,</div>
<div><br></div><div><div>case 'a':</div><div> venta += a;</div><div>break;</div><div><br></div><div>case 'b':</div><div> venta += b;</div><div>break;</div><br class="Apple-interchange-newline"><div>case 'c':</div>
<div> venta += c;</div></div><div><div>break;</div></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div> }</div><div>
</div>
<div>printf(" \n"); </div><div>printf("Los Monitores a la Venta que complementan el combo son: \n");</div><div>printf("Monitor1 de 15 pulgadas: 1000Bsf, Monitor2 de 19 pulgadas: 1500Bsf \n");</div>
<div>printf(" \n");</div><div>printf(" \n");</div><div>printf("Por Favor elija su Monitor: \n");</div><div>printf("Escriba p para Monitor1, l para Monitor2,m para nigún monitor \n");</div>
<div>printf(" \n");</div><div>scanf("%c", &monitor);</div><div> switch(monitor)</div><div> {</div><div> case 'p': venta=venta+=p;</div>
<div> case 'l': venta=venta+=l;</div><div> case 'm': venta=venta+=m;</div></div></blockquote><div><br></div><div>Aquí tienes el mismo tipo de problema.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div> }</div><div> </div>
<div>printf(" \n"); </div><div>printf("Todos los Combos Incluyen teclado, mouse y cornetas, adicionalmente \n");</div><div>printf("tenemos a la venta: Impresora precio 550Bsf.\n");</div>
<div>printf(" \n");</div><div>printf(" \n");</div><div class="im"><div>printf("Quiere su combo con impresora: Escriba s si la desea, sino escriba n \n"); </div></div><div>scanf("%c", &imp);</div>
<div>
switch(imp)</div><div> {</div><div> case 's': venta=venta+=s;</div><div> case 'n': venta=venta+=n;</div>
</div></blockquote><div><br></div><div>Aquí, lo mismo.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<div> }</div><div> </div><div> if (venta>=3500) //igual errores de sintaxis parentesis</div><div class="im"><div> {</div>
<div>
printf("Su factura: %i\n", venta);</div></div><div> printf("Ud tiene un Pendrive Kingston 8GB de Obsequio.Gracias por su compra \n");</div><div> } </div>
<div> if (venta<3500) //igual errores de sintaxis parentesis</div></div></blockquote><div><br></div><div>Esto es sintácticamente correcto, pero no es muy práctico. Si comprobamos una condición y resulta ser falsa, entonces no tiene sentido comprobar si su condición negativa (opuesta) es verdadera; lógicamente, así es. Por esta razón, existe el vocablo 'else'.</div>
<div><br></div><div>Recomiendo usar 'if/else'. Esto es,</div><div><br></div><div>if( venta >= 3500 )<br>{</div><div> ...</div><div>}</div><div>else // lógicamente, venta < 3500</div><div>{</div><div> ...</div>
<div>}</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="im"><div> {</div><div> printf("Su factura: %i\n", venta);</div>
<div> printf("Gracias por su compra \n");</div>
<div> }</div><div> </div><div><span style="white-space:pre-wrap"> </span>getch();</div><div><span style="white-space:pre-wrap"> </span>return 0;</div><div>} </div>
<div><br></div></div></div></blockquote><div><br></div><div><br></div><div>Espero que esto te oriente.</div><div><br></div><div>Steven</div><div><br></div></div>