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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda ejercicio  (Leído 7,273 veces)
Luckim

Desconectado Desconectado

Mensajes: 18


Ver Perfil
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)
                                                              }
                                                              }
                                                              }
                                                             
}



« Última modificación: 16 Julio 2012, 23:09 pm por Luckim » En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Ayuda ejercicio
« Respuesta #1 en: 16 Julio 2012, 23:09 pm »

¡Hola!

Por favor, ¿podrías poner en qué parte exactamente te da el error?

Saludos!


En línea

Luckim

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Ayuda ejercicio
« Respuesta #2 en: 16 Julio 2012, 23:18 pm »

En la parte de pto2(appnom).
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Ayuda ejercicio
« Respuesta #3 en: 16 Julio 2012, 23:20 pm »

En la parte de pto2(appnom).

Eso es porque appnom no ha sido declarado como variable en la función en la que lo estás usando, y por tanto no puedes trabajar con ella.

Saludos!
En línea

Luckim

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Ayuda ejercicio
« Respuesta #4 en: 16 Julio 2012, 23:26 pm »

Pero la declare más arriba, es que es la primera vez que uso un menu y me cago todo lo demas eso. Mas arriba esta declarada por eso no se cual es el error.
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Ayuda ejercicio
« Respuesta #5 en: 16 Julio 2012, 23:30 pm »

C no admite declaraciones en mitad del código; deben estar al inicio de cada función. Es por eso que hace como si no estuviera declarada la variable. La función debería empezar así:

Código
  1. void idatos(int a)
  2. {
  3.      char appnom[32];
  4.     int i;
  5.      int j;
  6.     for(i=1;i<=10;i++)
  7.     {
  8.  
  9.                       for(j=1;j<=40;j++)
  10.                       {
  11. //Resto de la función

Saludos!
En línea

Luckim

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Ayuda ejercicio
« Respuesta #6 en: 16 Julio 2012, 23:31 pm »

Esta bien pero yo tengo que mostrar un nombre que ya ingrese antes, ademas el error del que yo te hablo lo tengo en el menu, en el case 2.
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Ayuda ejercicio
« Respuesta #7 en: 16 Julio 2012, 23:34 pm »

Pero puedes declarar la variable al principio y pedirla donde la tengas que pedir.

Si declaras la variable al principio, ya después con ella puedes hacer lo que quieras. Para corregir tu error lo único que tienes que hacer es quitar la declaración de la mitad del código y ponerla al inicio de la función, con eso ya no te dará el error.

Saludos!
« Última modificación: 16 Julio 2012, 23:42 pm por DickGumshoe » En línea

Luckim

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Ayuda ejercicio
« Respuesta #8 en: 16 Julio 2012, 23:43 pm »

La declare donde me dijistes que lo haga pero me sigue tirando error en el mismo lugar, acá:

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;
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Ayuda ejercicio
« Respuesta #9 en: 16 Julio 2012, 23:44 pm »

¿Poniendo esto?

Código
  1. void idatos(int a)
  2. {
  3.      char appnom[32];
  4.     int i;
  5.      int j;
  6.     for(i=1;i<=10;i++)
  7.     {
  8.  
  9.                       for(j=1;j<=40;j++)
  10.                       {
  11.                                         int nr,np,nc,ll,cp,c,cont;
  12.                                         nr=np=nc=ll=cp=cont=0;
  13.                                         int Mll[10][40]={0};
  14.                                         int Mct[10][40]={0};
  15.                                         int VP[10];
  16.                                         printf("Ingrese numero de recluso");
  17.                                         scanf("%d",&nr);
  18.                                         printf("Ingrese numero de piso\n");
  19.                                         scanf("%d",&np);
  20.                                         printf("Ingrese numero de celda\n");
  21.                                         scanf("%d",&nc);
  22.                                         printf("Ingrese numero de lugares libres\n");
  23.                                         scanf("%d",&ll);
  24.                                         printf("Ingrese numero de capacidad total\n");
  25.                                         scanf("%d",&cp);
  26.  
  27.                                         while(nr!=0)
  28.                                         {
  29.                                             char appnom[32];
  30.     printf("Ingrese nombre y apellido");
  31.     gets(appnom);
  32.     int x,f,c;
  33.     x=0;
  34.     for(f=1;f<=10;f++)
  35.     {
  36.                       for(c=1;c<=40;c++)
  37.                       {
  38.                                          if(Mll[f][c] > 0 && x==0)
  39.                                          {
  40.                                                       x=1;
  41.                                                       Mll[f][c]=Mll[f][c]-1;
  42.                                          }
  43.  
  44.                       }
  45.                       if(x==0)
  46.                       {
  47.                              cont=cont+1;
  48.  
  49.                       }
  50. }
  51.  
  52. }
  53.  
  54. printf("*********Menu**********\n");
  55. printf("\n1-Resultado punto A\n3-Resultado punto B\n4-Resultado punto C\n5-Resultado punto D\n6-Salir del sistema\n");
  56. printf("\nPor favor elija una opcion: ");
  57. scanf("%d",&a);
  58.  
  59.                                                                           switch (a)
  60.                                                                           {
  61.  
  62.  
  63.                                                                                  case 1:pto1(cont);
  64.                                                                                  break;
  65.  
  66.                                                                                  case 2:pto2(appnom);
  67.                                                                                  break;
  68.  
  69.                                                                                  case 3:pto3(Mll[10][40]);
  70.                                                                                  break;
  71.  
  72.                                                                                  case 4:pto4(VP[10]);
  73.                                                                                  break;
  74.  
  75.                                                                                  case 5:getch();
  76.                                                                                  break;
  77.  
  78.  
  79.                                                                           }
  80.                                                                           printf("\nPor favor elija una opcion: ");
  81.                                                                           scanf("%d",&a);
  82.                                                                           }
  83.  
  84.  
  85. }
  86.  
  87. }
  88.  
  89. }
  90.  

A mí así deja de darme ese error.

Saludos!
En línea

Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Ejercicio C 100
Ejercicios
Dem0ny 2 6,055 Último mensaje 19 Diciembre 2007, 22:45 pm
por Dem0ny
Ayuda co un ejercicio de C#
.NET (C#, VB.NET, ASP)
hitori batusai 2 5,368 Último mensaje 22 Febrero 2008, 01:53 am
por hitori batusai
Ayuda con ejercicio de VB
Programación Visual Basic
guada_sp 5 3,377 Último mensaje 8 Marzo 2008, 02:54 am
por ‭‭‭‭jackl007
Ayuda con ejercicio
.NET (C#, VB.NET, ASP)
elbrunosimpson 4 3,537 Último mensaje 4 Septiembre 2008, 23:16 pm
por Meta
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,847 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines