[RESUELTO]Ejercicio en C,se cierra¬¬,Borland 5.02

Iniciado por SonaArtica, 31 Agosto 2012, 20:29 PM

0 Miembros y 1 Visitante están viendo este tema.

SonaArtica

MODIFICADO: Deje el Codigo ya funkando en un comentario en este mismo POST :xD

_________________________________________________________________


Buenas Muchachos, tengo el sig ejercicio para hacer, se los dejo cn el Enunciado + Codigo que hice, sucede que ingreso el cod y cuando voy a ingresar la cant a comprar se me cierra el programa ¬¬ Y le coloque la funcion getch() con su respectiva libreria include<conio.h> cmo corresponde para que se pause, entonces porque se cierra?... :-[
#include <stdio.h>
#include <conio.h>

/* Un Negocio vende distintos articulos identificados por un cod
cod1=$10 c/u
cod2=$7  c/u - La Caja de 10 Unidades =$65
  cod3=$3  c/u - Compa >10 Unidades --> Desc 10% del Total
  cod4=$1  c/u
  Confeccionar un programa que ingrese el Cod de un Art y la Cant a comprar e
  informar el importe de la compra con leyendas
  */
main(){
int cod1=0,cod2=0,cod3=0,cod4=0,cajas,imp,unidad,desc,cod,cant,valor;

     printf("Ingrese el Cod del Producto \n");
     scanf(" %d",&cod);
     printf("Ingrese la Cantidad a Comprar \n");
     scanf(" %d",&cant);
      if(cod==cod1){
        cod1=10;
valor=(cant*cod1);
                       imp=valor;
                       printf("Compraste &d de Cod1,el precio total es%d \n",cant,imp);}
        else{
        if(cod==cod2){
if(cant<10){
                    cod2=7;
                    valor=(cant*cod2);
                             imp=valor;
                             printf ("Compraste %d de Cod2,el precio total es %d \n",cant,imp);}
              else {
                    cod2=7;
                    cajas=(cant/10);
                          valor=(cajas*65);
                          unidad=(cant%10);
                          imp=(unidad*cod2)+valor;
                          printf("Compraste %d de Cod 2,son %d cajas y %d unidades,el precio total es %d \n",cant,cajas,unidad,imp);}}

        else {
                              if(cod==cod3){
if(cant<10){
                                         cod3=3;
                                         valor=(cant*cod3);
                                          printf("Compraste %d de Cod3,son %d Unidades,el precio total es %d \n",cant,valor);}
                        else {
                                                  cod3=3;
                                                     valor=(cant*cod3);
                          desc=((10*valor)/100);
                                                      printf("Compraste mas de 10 por lo tanto tenes un descuento del 10% del total,%d Unidades,el precio total es %d \n",cant,desc);}}
                                                    else {if (cod==cod4){
                                                        cod4=1;
                                                valor=(cant*cod4);
                                                                   imp=valor;
                                                                   printf("Compraste %d Unidades,el Precio Total es %d \n",cant,imp);}}
                                                                              }}



getch();

}


Espero que me puedan ayudr ^^
PD: Los cod los coloco en 0 para poderlas igualarlas en las condiciones de los IF.
PD2: Uso Borland 5.02 y Lenguaje C >:D
<z

avesudra

Hola SonaArtica , he probado tu código en Codeblocks bajo el compilador gcc version 4.5.2 (GCC)(MinGW) y a mi me funciona es más te dejo una captura para que lo veas:
Regístrate en

SonaArtica

Si Gracias igual supe que se suprime porque compara cod con los cod1,2,3,4 pero compara sus valores no los compara como palabra o arrays en todo caso,ahora ya lo solucione y funciona perfecto.
Dejo el nuevo Codigo ya funkando por si algunos les interesa:
#include <stdio.h>
#include <conio.h>

/* cod1=$10 c/u
cod2=$7  c/u - La Caja de 10 Unidades =$65
   cod3=$3  c/u - Compa >10 Unidades --> Desc 10% del Total
   cod4=$1  c/u
   */
main(){
int cod1=1,cod2=2,cod3=3,cod4=4,cajas,imp,unidad,desc,cod,cant,valor;

      printf("Ingrese el Cod del Producto \n");
      scanf(" %d",&cod);
      printf("Ingrese la Cantidad a Comprar \n");
      scanf(" %d",&cant);
      if(cod==cod1){
          cod1=10;
valor=(cant*cod1);
                        imp=valor;
                        printf("Compraste %d de Cod1,el precio total es%d \n",cant,imp);}

         if(cod==cod2){
          if(cant<10){
            cod2=7;
            valor=(cant*cod2);
            imp=valor;
            printf ("Compraste %d de Cod2,el precio total es %d \n",cant,imp);}
            else {
            cod2=7;
            cajas=(cant/10);
            valor=(cajas*65);
            unidad=(cant%10);
            imp=(unidad*cod2)+valor;
            printf("Compraste %d de Cod 2,son %d cajas y %d unidades,el precio total es %d \n",cant,cajas,unidad,imp);}}

            if(cod==cod3){
            if(cant<10){
               cod3=3;
               valor=(cant*cod3);
               printf("Compraste %d de Cod3,son %d Unidades,el precio total es %d \n",cant,cant,valor);}
               else {
               cod3=3;
               valor=(cant*cod3);
               desc=((10*valor)/100);
               printf("Compraste mas de 10 por lo tanto tenes un descuento del 10 Porciento del total,\n %d Unidades,el precio total es %d \n",cant,desc);}}

            if (cod==cod4){
            cod4=1;
               valor=(cant*cod4);
               imp=valor;
               printf("Compraste %d Unidades,el Precio Total es %d \n",cant,imp);}




getch();

}
<z