Bienvenido a Tecnohackers

Tecnohackers » Programacion » Area de Programacion » Programacion a Bajo Nivel. APIs, Hooking, ASM, C/C++, etc.
 » 

Ayuda URgente no puedo compilaaar!



Autor Tema: Ayuda URgente no puedo compilaaar!  (Leído 1100 veces)

Desconectado CLASH

  • Recien Llegado
  • *
  • Mensajes: 3
Ayuda URgente no puedo compilaaar!
« en: Mayo 15, 2012, 03:05:04 am »
Un administrador de consorcios de edificios , atiende 10 edificios, como todos los edificios fueron realizados por medio de planes de fomento son todos iguales y tienen cada uno 50 departamentos de 3 ambientes
Mensualmente se realizan distintas tareas de mantenimiento en estos edificios debiendo ser las mismas pagadas en forma proporcional en partes iguales por los habitantes de cada uno de ellos.
Cada vez que se realiza un arreglo se obtiene la siguiente informacion

Numero de factura
Numero de Edificio
Codigo de proveedor
Monto de la Factura
fecha de vencimiento

estos datos finalizan con Numero de factura igual a 0

los proveedores son 5, ascensorista, electricista, pintor , plomero y limpieza
Estos Proveedores son los mismos para todos los edificios


Se desea Saber

Monto totall gastado por cada edificio
Mayor gasto efectuado , a que edificio y proveedor pertenece
Valor a pagar en calidad de expensas
Proveedor que no trabajo en ninguno de los edificios
Valor promedio de las facturas

el codigo es asi

Código: You are not allowed to view links. Register or Login
#include<stdio.h>
#include<conio.h>
int main()
{
int edif,cprov;
float cont,nfact,fvencfact,imp,gte1,gte2,gte3,gte4,gte5,gte6,gte7,gte8,gte9,gte10,mg,mge,mgp,exp,prom,gtf,dept,p1,p2,p3,p4,p5;
printf(" ingrese numero de factura: ");
scanf("%f",&nfact);
cont=1;
imp=0;
dept=500;
/*proveedores:
p1:Ascensorista.
p2:Electricista.   
p3:Pintor.         
p4:Plomero.
p5:Limpieza*/
while (nfact!=0) /*Ciclo Inexacto*/
             {
             Printf("ingrese numero de edificio: ");
             scanf("%f",&edif);
             printf("ingrese codigo proveedor: ");
             scanf("%f",&cprov);
             printf(" ingrese importe: ");
             scanf("%f",&imp);
             printf(" ingrese vencimiento: ");
             scanf("%f",&fvencfact);
              }   
gtf=gtf+imp;
         printf(" el gasto total es: %5.2f ",gtf);
             switch (edif)
                                               /* Comienza Switch de efificios*/
             {                                 
                    case 1:
                          gte1=gte1+imp;
                    break;
                   
                    case 2:
                           gte2=gte2+imp;
                    break;
                   
                    case 3:
                           gte3=gte3+imp;
                    break;
                   
                    case 4:
                           gte4=gte4+imp;
                    break;
                   
                    case 5:
                           gte5=gte5+imp;
                    break;
                   
                    case 6:
                           gte6=gte6+imp;
                    break;
             
                    case 7:
                           gte7=gte7+imp;
                    break;
                   
                    case 8:
                           gte8=gte8+imp;
                    break;
                   
                    case 9:
                           gte9=gte9+imp;
                    break;
                   
                    case 10:
                           gte10=gte10+imp;
                    break;
                   
                                               /* Finaliza Switch de edificios*/
              }     
                   
             switch (cprov)
                                             /* Comienza Switch de proveedores*/
             {
                   case 1:
                        p1=1;
                   break;
                   
                   case 2:
                        p2=1;
                   break;
                   
                   case 3:
                        p3=1;
                   break;
                   
                   case 4:
                        p4=1;
                   break;
                   
                   case 5:
                        p5=1;
                   break;
                                             /* Finaliza Switch de proveedores*/
             }
 nfact=nfact=+1;

  if (cont==1)
           {
             mg=imp;                                             /*Mayor gasto*/
             mge=edif;                      /*Edificio que mayor gasto realizo*/
             mgp=cprov;                    /*Proveedor que mayor gasto realizo*/
             cont==2;
           }

 if(imp>mg)
           {
             mg=imp;                                       /*Mayor gasto total*/
             mge=edif;
             mgp=cprov;
           }
           
 exp=gtf/dept;                                              /*Total de expensas*/
 prom=gtf/nfact;                               /*Valor promedio de las facturas*/

 if (p1==0)
      {
           printf(" *el proveedor codigo 1 no trabajo en ningun edificio* ");
      }
 if(p2==0)
      {
          printf(" *el proveedor codigo 2 no trabajo en ningun edificio* ");
      }
 if(p3==0)
      {
          printf(" *el proveedor codigo 3 trabajo en ningun edificio* ");
      }
 if(p4==0)
      {
          printf(" *el proveedor codigo 4 no trabajo en ningun edificio* ");
      }
 if(p5==0)
      {
          printf(" *el proveedor codigo 5 no trabajo en ningun edificio* ");
      }

 printf(" las expensas son de: ",exp);
 printf(" el promedio de las facturas es: ",prom);
 
 printf("El gasto total del Edificio 1 es %5.2f",gte1);
 printf("El gasto total del Edificio 2 es %5.2f",gte2);
 printf("El gasto total del Edificio 3 es %5.2f",gte3);
 printf("El gasto total del Edificio 4 es %5.2f",gte4);
 printf("El gasto total del Edificio 5 es %5.2f",gte5);
 printf("El gasto total del Edificio 6 es %5.2f",gte6);
 printf("El gasto total del Edificio 7 es %5.2f",gte7);
 printf("El gasto total del Edificio 8 es %5.2f",gte8);
 printf("El gasto total del Edificio 9 es %5.2f",gte9);
 printf("El gasto total del Edificio 10 es %5.2f",gte10);
 
 
 
 }
 getch();                                          /*Finaliza nuestro programa*/
 }

no lo puedo compilar alguien me ayuda??
« Última modificación: Mayo 15, 2012, 02:07:03 pm por 3xN »

Desconectado jarexalf

  • Habitual
  • **
  • Mensajes: 156
  • No digas no puedo sin haberlo Intentado!
    • Ingenieria de sistemas y electronica
Re:Ayuda URgente no puedo compilaaar!
« Respuesta #1 en: Mayo 15, 2012, 05:01:24 am »
Hola amigo, ya te corregi los detalles que impedian que compilaras correctamente el programa, cambie la instruccion printf por cout que utiliza la libreria iostream.h, tambien tenias en una asignacion un doble igual (como si estubieras haciendo una comparacion) en   /*Proveedor que mayor gasto realizo*/
     cont==2;

Por ultimo tenias una llave de mas y la funcion principal int main() no estaba retornando valor asi que le coloque un return 0 al final.

sin embargo al ejecutar el programa veo que solo pide y pide datos y no realiza ningun proceso, debes analizar bien tu codigo ya que tu lo programaste, ademas hay 2 warning que no son errores sino advertencias para que tengas en cuenta como:

*a la variable mgp se le asigna un valor que nunca es usado.

*a la variable mge se le asigna un valor que nunca es usado.

Bueno pediste que te ayudaran a compilarlo, ya te compile el programa, esta con cero errores y esos warnings que debes revisar, aqui tienes el codigo:

Código: You are not allowed to view links. Register or Login
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int main()
{
int edif,cprov;
float cont,nfact,fvencfact,imp,gte1,gte2,gte3,gte4,gte5,gte6,gte7,gte8,gte9,gte10,mg,mge,mgp,exp,prom,gtf,dept,p1,p2,p3,p4,p5;
cout<<" ingrese numero de factura: ";
scanf("%f",&nfact);
cont=1;
imp=0;
dept=500;
/*proveedores:
p1:Ascensorista.
p2:Electricista.   
p3:Pintor.         
p4:Plomero.
p5:Limpieza*/
while (nfact!=0) /*Ciclo Inexacto*/
             {
     cout<<"ingrese numero de edificio: ";
             scanf("%f",&edif);
     cout<<"ingrese codigo proveedor: ";
     scanf("%f",&cprov);
     cout<<" ingrese importe: ";
             scanf("%f",&imp);
     cout<<" ingrese vencimiento: ";
             scanf("%f",&fvencfact);
              }   
gtf=gtf+imp;
cout<<" el gasto total es: %5.2f ",gtf;
             switch (edif)
                                               /* Comienza Switch de efificios*/
             {                                 
                    case 1:
                          gte1=gte1+imp;
                    break;
                   
                    case 2:
                           gte2=gte2+imp;
                    break;
                   
                    case 3:
                           gte3=gte3+imp;
                    break;
                   
                    case 4:
                           gte4=gte4+imp;
                    break;
                   
                    case 5:
                           gte5=gte5+imp;
                    break;
                   
                    case 6:
                           gte6=gte6+imp;
                    break;
             
                    case 7:
                           gte7=gte7+imp;
                    break;
                   
                    case 8:
                           gte8=gte8+imp;
                    break;
                   
                    case 9:
                           gte9=gte9+imp;
                    break;
                   
                    case 10:
                           gte10=gte10+imp;
                    break;
                   
                                               /* Finaliza Switch de edificios*/
              }     
                   
             switch (cprov)
                                             /* Comienza Switch de proveedores*/
             {
                   case 1:
                        p1=1;
                   break;
                   
                   case 2:
                        p2=1;
                   break;
                   
                   case 3:
                        p3=1;
                   break;
                   
                   case 4:
                        p4=1;
                   break;
                   
                   case 5:
                        p5=1;
                   break;
                                             /* Finaliza Switch de proveedores*/
             }
 nfact=nfact=+1;

  if (cont==1)
           {
             mg=imp;                                             /*Mayor gasto*/
             mge=edif;                      /*Edificio que mayor gasto realizo*/
             mgp=cprov;                    /*Proveedor que mayor gasto realizo*/
     cont=2;
           }

 if(imp>mg)
           {
             mg=imp;                                       /*Mayor gasto total*/
             mge=edif;
             mgp=cprov;
           }
           
 exp=gtf/dept;                                              /*Total de expensas*/
 prom=gtf/nfact;                               /*Valor promedio de las facturas*/

 if (p1==0)
      {
   cout<<" *el proveedor codigo 1 no trabajo en ningun edificio* ";
      }
 if(p2==0)
      {
  cout<<" *el proveedor codigo 2 no trabajo en ningun edificio* ";
      }
 if(p3==0)
      {
  cout<<" *el proveedor codigo 3 trabajo en ningun edificio* ";
      }
 if(p4==0)
      {
  cout<<" *el proveedor codigo 4 no trabajo en ningun edificio* ";
      }
 if(p5==0)
      {
  cout<<" *el proveedor codigo 5 no trabajo en ningun edificio* ";
      }

     cout<<" las expensas son de: "<<exp;
    cout<<" el promedio de las facturas es: "<<prom;

 cout<<"El gasto total del Edificio 1 es %5.2f"<<gte1;
 cout<<"El gasto total del Edificio 2 es %5.2f"<<gte2;
 cout<<"El gasto total del Edificio 3 es %5.2f"<<gte3;
 cout<<"El gasto total del Edificio 4 es %5.2f"<<gte4;
 cout<<"El gasto total del Edificio 5 es %5.2f"<<gte5;
 cout<<"El gasto total del Edificio 6 es %5.2f"<<gte6;
 cout<<"El gasto total del Edificio 7 es %5.2f"<<gte7;
 cout<<"El gasto total del Edificio 8 es %5.2f"<<gte8;
 cout<<"El gasto total del Edificio 9 es %5.2f"<<gte9;
 cout<<"El gasto total del Edificio 10 es %5.2f"<<gte10;
 
 
  getch();
  /*Finaliza nuestro programa*/
 return 0;
 }

Perdedor no es aquel que llega de ultimo, sino aquel que nisiquiera parte para intentarlo!

Desconectado 3xN

  • Consigliere
  • Colaborador
  • *****
  • Mensajes: 666
Re:Ayuda URgente no puedo compilaaar!
« Respuesta #2 en: Mayo 15, 2012, 02:06:40 pm »
No debes de utilizar conio.h está muy obsoleta.

Lo estas haciendo en C o en C++? Si es c++ si puedes usar iostream.h pero en C no.

Usa vectores, en el caso de que no sepas en tiempo de compilación el número de elementos tendrás que usar memoria dinámica. En este caso si que lo sabes, lo ideal sería que usases vectores de estructuras, además lo puedes hacer de forma estática, aunque si te animas de forma dinámica será más divertido.

CLASH intenta usar las etiquetas [CODE ][/ CODE]
 


Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal