elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Problema con funciones desde menu en: 30 Julio 2012, 23:18 pm
Tengo q hacer un menu donde el item 1 sea la carga de datos y los demas las respuestas al resultado. El problema es que no me toma los valores correspondientes de los lotes. Aver si alguien me puede decir en que me equivoque.
El codigo copila bien pero a la hora de usar las respuestas tira cualquier cosa, más que nada en el punto 1 y en el punto 2 que es con cadena de caracteres.

Código:
#include<conio.h>
#include<stdio.h>
#include<iostream>


 void menu(int*);
 void carga(int, int , int , int , int , int , int , int , float [][40], float [][40], int , int , int , char []);
 void pto1(int);
 void pto2(char []);
 void pto3(float [], float [][40], float [][40]);
 void pto4(float []);
 
 int main()
 {
     //Datos registrados
    char s1[]="asd";
    char s2[]= "asd2";
 
 
    //Verificacion de datos
    char usuario[32];
    char contrasena[32];
 
    //Enteros
    int i,k,j,opcion,cont,f,c,e,np,nc,ll,ct,nr,x;
    float mll[10][40]={0},mct[10][40]={0},vp[10]={0};
    cont=0;
    char nom[32];
 
 
    //Comienzo para los intentos de contraseña, maximo 3
    for(i=1; i<=3; i++)
    {
 
        printf("\nIngrese usuario: ");
        scanf("%s",usuario);
        k = strcmp( s1, usuario );
 
 
        if (k != 0)
        {
            printf("\nUsuario incorrecto\n");
 
 
        }
 
 
        if(k == 0)
        {
            printf("\nIngrese contrasena: ");
            scanf("%s",contrasena);
            j = strcmp( s2, contrasena);
 
            if (j == 0)
            {
                system("cls");
                printf("\nDatos correctos\n");
                printf("\nBienvenido al programa del servicio penintenciario\n");
                printf("\n");
                printf("\n");
                menu(&opcion);
                while(opcion !=9)
                  {
                      switch(opcion)
                      {
                                    case 1 :
                                             carga(i,f,c,e,np,nc,ll,ct,mll,mct,nr,cont,x,nom);
                                             break;
                                             
                                    case 2 :
                                             pto1(cont);
                                             break;
                                             
                                    case 3 :
                                             pto2(nom);
                                             break;
                                             
                                    case 4 :
                                             pto3(vp, mll, mct);
                                             break;
                                   
                                    case 5 :
                                             pto4(vp);
                                             break;
                                            }
                                            getch();
                                            system("cls");
                      menu(&opcion);
                      }
                      return 0;
                      }

 
                getch();
 
 
            }
 
            if(j != 0)
            {
                printf("\ncontrasena incorrecta\n");
 
 
            }
        }
 
 
 
 
    }

     
                     
     void menu(int * a)
     {
          printf("1-Cargar datos\n");
          printf("2-Respuesta 1\n");
          printf("3-Respuesta 2\n");
          printf("4-Respuesta 3\n");
          printf("5-Respuesta 4\n");
          printf("9-Salir\n");
          printf("\nOpcion: ");
          scanf("%d",a);
     }
     
     void carga(int a, int b, int c, int d, int e, int f, int g, int h, float i[][40], float l[][40], int m, int n, int p, char z[])
     {
         
          for(a=1;a<=2;a++)
          {
                           for(b=1;b<=2;b++)
                           {
                                             printf("\nIngrese numero de piso: ");
                                             scanf("%d",&e);
                                             printf("\nIngrese numero de celda: ");
                                             scanf("%d",&f);
                                             printf("\nIngrese numero de lugares libres: ");
                                             scanf("%d",&g);
                                             printf("\nIngrese capacidad total: ");
                                             scanf("%d",&h);
                                             i[e][f]=g;
                                             l[e][f]=h;
                                             }
                                             }
                                             printf("\nIngrese numero de recluso: ");
                                             scanf("%d",&m);
                                             
                                             while(m!=0)
                                             {
                                                         printf("\nIngrese nombre del recluso: ");
                                                         scanf("%s",z);
                                                         p=0;
                                                         
                                                         for(c=1;c<=2;c++)
                                                         {
                                                                           for(d=1;d<=2;d++)
                                                                           {
                                                                                             if(i[c][d]>0 && p==0)
                                                                                             {
                                                                                                            p=1;
                                                                                                            i[c][d]=i[c][d]-1;
                                                                                                            }
                                                                           }
                                                         }
                                                         
                                                         if(p==0)
                                                         {
                                                            n=n+1;   
                                                            printf("\nRechazado\n");
                                                           
                                                         }
                                                         printf("\nIngrese numero de recluso ");
                                                         scanf("%d",&m);
                                                         p=0;
                                             }
                           
                                             
                                             
     }
     
     //Punto 1
     
     void pto1(int a)
     {
          printf("%d no pudieron se alojados por falta de lugar",a);
     }
     
     //Punto 2
     
     void pto2(char * a)
     {
          printf("Los rechazados son: \n%d\n",a);
     }
     
//Punto 3
 
void pto3(float d[10],float e[][40], float g[][40])
{
    int f;
    for(f=1; f<=10; f++)
    {
        int c;
        for(c=1; c<=40; c++)
        {
                     d[f]=(d[f]+(e[f][c]))-(g[f][c]);
       
            if(d[f] > 0)
            {
                printf("Para el piso %d, la celda %d tiene aun disponibilidad\n",f,c);
            }
        }
    }
}
 
//Punto 4
 
void pto4(float d[10])
{
   
    float Max=d[1];
    int aux=1;
 
    int i;
    for(i=1; i<=10; i++)
    {
        if(d[i] > Max)
        {
            Max=d[i];
            aux=i;
        }
    }
 
 
    for(i=aux; i<=aux; i++)
    {
        if(d[i]==Max)
        {
            printf("El piso mas lleno es el piso %d\n",i);
        }
    }
}
2  Programación / Programación C/C++ / Ayuda en: 30 Julio 2012, 17:07 pm
Como hago para que la funcion sea llamada del menu y del ciclo?

Dejo codigo:

Código:
#include<conio.h>
#include<stdio.h>
#include<iostream>


 void menu(int*);
 void carga(int*);
 void pto1(int*);
 void pto2(char*);
 void pto3();
 void pto4();
 
 int main()
 {
     //Datos registrados
    char s1[]="asd";
    char s2[]= "asd2";
 
 
    //Verificacion de datos
    char usuario[32];
    char contrasena[32];
 
    //Enteros
    int i,k,j,opcion;
 
 
    //Comienzo para los intentos de contraseña, maximo 3
    for(i=1; i<=3; i++)
    {
 
        printf("\nIngrese usuario: ");
        scanf("%s",usuario);
        k = strcmp( s1, usuario );
 
 
        if (k != 0)
        {
            printf("\nUsuario incorrecto\n");
 
 
        }
 
 
        if(k == 0)
        {
            printf("\nIngrese contrasena: ");
            scanf("%s",contrasena);
            j = strcmp( s2, contrasena);
 
            if (j == 0)
            {
                system("cls");
                printf("\nDatos correctos\n");
                printf("\nBienvenido al programa del servicio penintenciario\n");
                printf("\n");
                printf("\n");
                menu(&opcion);
                while(opcion !=9)
                  {
                      switch(opcion)
                      {
                                    case 1 : printf("Cargad de datos");
                                             carga(&opcion);
                                             break;
                                             
                                    case 2 : printf("entro a la rta 1");
                                             pto1(&opcion);
                                             break;
                                             
                                    case 3 : printf("entro a la rta 2");
                                             pto2(&nom);
                                             break;
                                             
                                    case 4 : printf("Entro a la rta 3");
                                             break;
                                   
                                    case 5 : printf("Entro a la rta 4");
                                             break;
                                            }
                                            getch();
                                            system("cls");
                      menu(&opcion);
                      }
                      return 0;
                      }

 
                getch();
 
 
            }
 
            if(j != 0)
            {
                printf("\ncontrasena incorrecta\n");
 
 
            }
        }
 
 
 
 
    }

     
                     
     void menu(int * a)
     {
          printf("1-Cargar datos\n");
          printf("2-Respuesta 1\n");
          printf("3-Respuesta 2\n");
          printf("4-Respuesta 3\n");
          printf("5-Respuesta 4\n");
          printf("9-Salir\n");
          printf("\nOpcion: ");
          scanf("%d",a);
     }
     
     void carga(int * a)
     {
         
         
          int i,f,c,e,np,nc,ll,ct,mll[11][41]={0},mct[11][41]={0},nr,cont,x;
          char nom[32];
         
          for(i=1;i<2;i++)
          {
                           for(f=1;f<=2;f++)
                           {
                                             printf("\nIngrese numero de piso: ");
                                             scanf("%d",&np);
                                             printf("\nIngrese numero de celda: ");
                                             scanf("%d",&nc);
                                             printf("\nIngrese numero de lugares libres: ");
                                             scanf("%d",&ll);
                                             printf("\nIngrese capacidad total: ");
                                             scanf("%d",&ct);
                                             mll[np][nc]=ll;
                                             mct[np][nc]=ct;
                                             }
                                             }
                                             printf("\nIngrese numero de recluso: ");
                                             scanf("%d",&nr);
                                             
                                             while(nr!=0)
                                             {
                                                         printf("\nIngrese nombre del recluso: ");
                                                         scanf("%s",nom);
                                                         x=0;
                                                         
                                                         for(c=1;c<=10;c++)
                                                         {
                                                                           for(e=1;e<=40;e++)
                                                                           {
                                                                                             if(mll[c][e]>0 && x==0)
                                                                                             {
                                                                                                            x=1;
                                                                                             }
                                                                                             else
                                                                                             {
                                                                                                 mll[c][e]=mll[c][e]-1;
                                                                                             }
                                                                           }
                                                         }
                                                         
                                                         if(x==0)
                                                         {
                                                              pto2(&nom);   
                                                         }
                                                         else
                                                         {
                                                             cont=cont+1;
                                                             pto1(&cont);
                                                         }
                                                         printf("\nIngrese numero de recluso ");
                                                         scanf("%d",&nr);
                                             }
                           
                                             
                                             
     }
     
     //Punto 1
     
     void pto1(int * a)
     {
          printf("%d no pudieron se alojados por falta de lugar",a);
     }
     
     //Punto 2
     
     void pto2(char * a)
     {
          printf("Los rechazados son: \n%d\n",a);
     }
                                                                 
     //Punto 3
 
void pto3()
{
    int f;
    for(f=1; f<=10; f++)
    {
        int c;
        for(c=1; c<=40; c++)
        {
                     d[f]=(d[f]+(e[f][c]))-(g[f][c]);
        }
            if(d[f] > 0)
            {
                printf("Para el piso %d, la celda %d tiene aun disponibilidad\n",f,c);
            }
        }
    }
 
//Punto 4
 
void pto4()
{
   
    int Max=d[1];
    int aux=1;
 
    int i;
    for(i=1; i<=10; i++)
    {
        if(d[i] > Max)
        {
            Max=d[i];
            aux=i;
        }
    }
 
 
    for(i=aux; i<=aux; i++)
    {
        if(d[i]==Max)
        {
            printf("El piso mas lleno es el piso %d\n",i);
        }
    }
}
3  Foros Generales / Dudas Generales / Dudas en: 19 Julio 2012, 01:29 am
Tengo examen de Sistemas de computacion I y tengo tres dudas que no las puedo encontrar en ninguna parte. Ave si alguno las sabe.

Limite de representacion entre numeros enteros y binarios signados?
Limite de representacion entre numeros naturales y binarios signados?
Que es el operando y la operancion en codigo?

Gracias.
4  Programación / Programación C/C++ / Ayuda ejercicio en: 16 Julio 2012, 23:06 pm
Tengo que hacer un ejercicio, lo hize pero me tira error en algo que no tengo ni la más idea como es. Dejo el codigo aver si alguno me entiende y me lo corrije.

Código:
#include <stdio.h>
#include <conio.h>
#include <string.h>

void menu1 (int);
void idatos (int);
void menu2(int);
void pto1(int);
void pto2(char);
void pto3(int);
void pto4(int);


int main ()
{
   
    //Datos registrados
    char s1[]="asd";
    char s2[]= "asd2";
   
    //Verificacion de datos
    char usuario[32];
    char contrasena[32];
   
    //Enteros
    int i,k,j,menu;

   
    //Comienzo para los intentos de contraseña, maximo 3
    for(i=1;i<=3;i++)
    {
                           
                            printf("\nIngrese usuario: ");
                            scanf("%s",&usuario);                           
                            k = strcmp( s1, usuario );
                           
                           
                            if (k != 0)
                             {
                                 printf("\nUsuario incorrecto\n");
                                 
                             
                             }
                           
                           
                            if(k == 0)
                            {     
                                                printf("\nIngrese contrasena: ");
                                                scanf("%s",&contrasena);
                                                j = strcmp( s2, contrasena);
                                               
                                                if (j == 0)
                                                {
                                                                           
                                                                           printf("\nDatos correctos\n");
                                                                           printf("\nBienvenido al programa del servicio penintenciario\n");
                                                                           printf("\n");
                                                                           printf("\n");
                                                                           menu1(menu);
                                                                           
                                                                           
                                                                           //Comienzo de Switch Menu
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           getch();
                                                                                       
                                               
                                                }
                                               
                                                if(j != 0)
                                                {
                                                    printf("\ncontrasena incorrecta\n");
                                                   
                                               
                                                }
                            }
   
   
   
 
}
}

void menu1(int a)
{
     
                                                                           printf("*********Menu**********\n");
                                                                           printf("\n1-Cargar datos\n2-Resultado punto A\n3-Resultado punto B\n4-Resultado punto C\n5-Resultado punto D\n6-Salir del sistema\n");
                                                                           printf("\nPor favor elija una opcion: ");
                                                                           scanf("%d",&a);
                                                                           
                                                                           while (a!=1)
                                                                           {
                                                                                printf("Elija otra opcion");
                                                                                scanf("%d",&a);
                                                                           }     
                                                                           
                                                                           switch (a)
                                                                           {
                                                                                 
                                                                                 
                                                                                  case 1:printf("Por favor ingrese los datos\n");
                                                                                  int b;
                                                                                  idatos(b);
                                                                                  break;
                                                                                 
                                                                                  case 2:printf("Opcion no disponible sin la carga de datos");
                                                                                  break;
                                                                                 
                                                                                  case 3:printf("Opcion no disponible sin la carga de datos");
                                                                                  break;
                                                                           
                                                                                  case 4:printf("Opcion no disponible sin la carga de datos");
                                                                                  break;
                                                                                 
                                                                                  case 5:printf("Opcion no disponible sin la carga de datos");
                                                                                  break;
   
                                                                                  case 6:getch();
                                                                                  break;
                                                                           
                                                                           }
                                                                           }

void idatos(int a)
{
     int i;
     for(i=1;i<=10;i++)
     {
                       int j;
                       for(j=1;j<=40;j++)
                       {
                                         int nr,np,nc,ll,cp,c,cont;
                                         nr=np=nc=ll=cp=cont=0;
                                         int Mll[10][40]={0};
                                         int Mct[10][40]={0};
                                         int VP[10];
                                         printf("Ingrese numero de recluso");
                                         scanf("%d",&nr);
                                         printf("Ingrese numero de piso\n");
                                         scanf("%d",&np);
                                         printf("Ingrese numero de celda\n");
                                         scanf("%d",&nc);
                                         printf("Ingrese numero de lugares libres\n");
                                         scanf("%d",&ll);
                                         printf("Ingrese numero de capacidad total\n");
                                         scanf("%d",&cp);
                                         
                                         while(nr!=0)
                                         {
                                             char appnom[32];
     printf("Ingrese nombre y apellido");
     gets(appnom);
     int x,f,c;
     x=0;
     for(f=1;f<=10;f++)
     {
                       for(c=1;c<=40;c++)
                       {
                                          if(Mll[f][c] > 0 && x==0)
                                          {
                                                       x=1;
                                                       Mll[f][c]=Mll[f][c]-1;
                                          }
                                         
                       }
                       if(x==0)
                       {
                              cont=cont+1;
                                 
                       }
}

}

printf("*********Menu**********\n");
printf("\n1-Resultado punto A\n3-Resultado punto B\n4-Resultado punto C\n5-Resultado punto D\n6-Salir del sistema\n");
printf("\nPor favor elija una opcion: ");
scanf("%d",&a);   
                                                                           
                                                                           switch (a)
                                                                           {
                                                                           
                                                                                 
                                                                                  case 1:pto1(cont);
                                                                                  break;
                                                                                 
                                                                                  case 2:pto2(appnom);
                                                                                  break;
                                                                           
                                                                                  case 3:pto3(Mll[10][40]);
                                                                                  break;
                                                                                 
                                                                                  case 4:pto4(VP[10]);
                                                                                  break;
   
                                                                                  case 5:getch();
                                                                                  break;
                                                                           
                                                                           
                                                                           }
                                                                           printf("\nPor favor elija una opcion: ");
                                                                           scanf("%d",&a);
                                                                           }
     

}

}

}








void pto1(int cont)
{
     printf("%d no pudieron ser alojados por falta de lugar",cont);
}

void pto2(int appnom)
{
     printf("Los rechazados son:\n%c\n",appnom);
}
 
void pto3(int a)
{
     for(a=1;a<=10;a++)
     {
                      int c;
                      for(c=1;c<=40;c++)
                      {
                                        if(Mll[f][c] > 0)
                                        {
                                                     printf("Para el piso %d, la celda %d tiene aun disponibilidad",a,c);
                                                     }
                                                     }
                                                     }
                     
}
 
 void pto4(int a)
{
      for(a=1;a<=10;a++)
      {
                        int c;
                        for(c=1;c<=40;c++)
                        {
                                          VP[a]=VP[a]+Mct[a][c]-Mll[a][c];
                                          }
                                          }
Max=VP[a];
aux=a;

int i;
for(i=1;i<=10;i++)
{
                  if(VP[a] > Max)
                  {
                           Max=VP[i];
                           aux=i;
                           }
                           }
                           
                           for(i=aux;i<=aux;i++)
                           {
                                                if(VP[i]==Max)
                                                {
                                                              printf("El piso mas lleno es el piso %d",i)
                                                              }
                                                              }
                                                              }
                                                             
}

5  Informática / Electrónica / Duda en: 30 Junio 2012, 20:33 pm
Alguno que tenga los conceptos bien claros, podria explicarme ¿Que diferencias hay entre ROM de control y ROM BIOS?
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines