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>