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></div><div class="gmail_quote"><br></div><div class="gmail_quote">
Tienes varios errores, que podrías corregirlos tú mismo, siguiendo los mensajes que te da el compilador. Veamos el código fuente.</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<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>//monitor1 de 15 pulgadas 1000 </div><div>

//monitor2 de 19 pulgadas 1500 </div><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>//obsequiara un pendrive si el combo vendido supera los 3500. </div><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><div>    int opc,venta,combo,monitor; </div></blockquote><div><br></div><div>'opc' debería ser de tipo 'char', ya que la usas con 'scanf()' más abajo.</div>
<div><br></div><div>Además, no usas la variable 'combo', así que puedes eliminarla.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>    const a=1700, b=2100, c=2500, p=1000, l=1500, m=0, n=0, imp=550;</div>

<div>    </div></blockquote><div><br></div><div>En C, ya no se acepta el 'int' como el tipo por defecto implícito y no se permite definir entidades sin escribir explícitamente un tipo de dato. Esto significa que debes indicar 'int', o mejor dicho 'const int'.</div>
<div><br></div><div>Sin embargo, modificas 'imp' en una sentencia de 'scanf()', por lo tanto 'imp' NO puede ser constante. Deberías definirla aparte:</div><div><br></div><div>int imp = 550;</div><div>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>    venta=0</div></blockquote><div><br></div><div>Esto es un error. Todas las sentencias terminan en un punto y coma, al menos que sea un bloque de sentencias formado por una pareja de llaves {}.</div>
<div><br></div><div>Lo anterior sería así,</div><div><br></div><div>venta = 0;</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>    printf("Los Siguientes combos a vender son: Combo1:1700, Combo2:2100, Combo3:2500 \n");</div>
<div>    printf("Por Favor elija su combo: Escriba a para combo1, b para combo2, c para combo3 \n");</div>
<div>    scanf("%c", &opc);</div><div>                 if(opc=='a'){</div><div>                              venta=venta+a}</div><div>                 if(opc=='b'){</div><div>                              venta=venta+b}</div>

<div>                 if(opc=='c'){</div><div>                              venta=venta+c}</div><div>                              </div></blockquote><div><br></div><div>Aquí tienes el mismo error: escribe el punto y coma al final de cada asignación; esto es,</div>
<div><br></div><div>venta += a;</div><div><div>venta += b;</div><div>venta += c;</div><br class="Apple-interchange-newline"></div><div>También date cuenta que es mejor acostumbrarse a usar el operador de suma y asignación += que realizar dos operaciones: suma y luego asignación.</div>
<div><br></div><div>Sugiero que uses 'if/else' en este caso, ya que 'opc' no cambiará de valor durante estas sentencias; así que es imposible que 'opc' contenga 'a' e inmediatamente después contenga 'b'; por ejemplo. Por otra parte, podrías usar un 'switch/case' para mayor legibilidad, ya que la lógica se basa en el valor guardado en 'opc'. El esquema sería el siguiente:</div>
<div><br></div><div>switch( opc )</div><div>{</div><div>  case 'a': ....</div><div><div>  case 'b': ....</div><div>  case 'c': ....</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>             printf("Los Monitores a la Venta que complementan el combo son: Monitor1 de quince pulgadas: 1000, Monitor2 de diecinueve pulgadas: 1500 \n");</div>
<div>             printf("Por Favor elija su Monitor: Escriba p para Monitor1, l para Monitor2,m para nigún monitor \n");</div><div>             scanf("%i", &monitor);</div><div>                         if(monitor=='p'){</div>

<div>                                      venta=venta+p}</div><div>                         if(monitor=='l'){</div><div>                                      venta=venta+l}</div><div>                         if(monitor=='m'){</div>

<div>                                      venta=venta+m}   </div><div>                                      </div></blockquote><div><br></div><div>Aquí tenemos el mismo tipo de error y el mismo problema de diseño que antes.</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>             printf("Todos los Combos Incluyen teclado, mouse y cornetas, adicionalmente tenemos a la venta: Impresora precio 550.\n");</div>

<div>             printf("Quiere su combo con impresora: Escriba s si la desea, sino escriba n \n");    </div><div>                                      scanf("%i", &imp);</div></blockquote><div><br>
</div><div>Aquí está el problema que comenté anteriormente, si dejas que 'imp' sea constante. Si la has definido como una variable, entonces ya no tenemos problemas.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>                                      if(imp=='s'){</div>
<div>                                                   venta=venta+imp}</div><div>                                      if(imp=='n'){</div><div>                                                   venta=venta+n}</div>

<div>                                                   </div></blockquote><div><br></div><div>Aquí, lo mismo que antes: escribe el punto y coma al final.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>             if venta>=3500{</div></blockquote><div><br></div><div>Esto es un error. La sentencia 'if' SIEMPRE requiere paréntesis que engloben a la condición a comprobar. Por lo tanto, esto es,</div><div>
<br></div><div>if( venta >= 3500 )</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>             printf("Su factura: %i\n", venta);</div>
<div>             printf("Ud tiene un Pendrive Kingston 8GB de Obsequio por su compra \n");</div>
<div>             }                                     </div><div>            if venta<3500{</div></blockquote><div><br></div><div>Aquí ocurre lo mismo que antes: escribe los paréntesis.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<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>                                      </div>
</blockquote></div><div><br></div>Viendo los tipos de errores en el código fuente, necesitas volver a los temas básicos de la sintaxis de C.<br><div><br></div><div><br></div><div>Espero que esto te ayude.</div><div><br></div>
<div>Steven</div><div><br></div>