Autor
|
Tema: Ayuda ejercicio (Leído 7,273 veces)
|
Luckim
Desconectado
Mensajes: 18
|
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. #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
|
¡Hola!
Por favor, ¿podrías poner en qué parte exactamente te da el error?
Saludos!
|
|
|
En línea
|
|
|
|
Luckim
Desconectado
Mensajes: 18
|
En la parte de pto2(appnom).
|
|
|
En línea
|
|
|
|
DickGumshoe
|
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
Mensajes: 18
|
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
|
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í: void idatos(int a) { char appnom[32]; int i; int j; for(i=1;i<=10;i++) { for(j=1;j<=40;j++) { //Resto de la función
Saludos!
|
|
|
En línea
|
|
|
|
Luckim
Desconectado
Mensajes: 18
|
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
|
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
Mensajes: 18
|
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
|
¿Poniendo esto? void idatos(int a) { char appnom[32]; int i; int j; for(i=1;i<=10;i++) { 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"); printf("Ingrese numero de piso\n"); printf("Ingrese numero de celda\n"); printf("Ingrese numero de lugares libres\n"); printf("Ingrese numero de capacidad total\n"); while(nr!=0) { char appnom[32]; printf("Ingrese nombre y apellido"); 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: "); 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; break; } printf("\nPor favor elija una opcion: "); } } } }
A mí así deja de darme ese error. Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Ejercicio C 100
Ejercicios
|
Dem0ny
|
2
|
6,055
|
19 Diciembre 2007, 22:45 pm
por Dem0ny
|
|
|
Ayuda co un ejercicio de C#
.NET (C#, VB.NET, ASP)
|
hitori batusai
|
2
|
5,368
|
22 Febrero 2008, 01:53 am
por hitori batusai
|
|
|
Ayuda con ejercicio de VB
Programación Visual Basic
|
guada_sp
|
5
|
3,377
|
8 Marzo 2008, 02:54 am
por jackl007
|
|
|
Ayuda con ejercicio
.NET (C#, VB.NET, ASP)
|
elbrunosimpson
|
4
|
3,537
|
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
|
5 Septiembre 2010, 02:57 am
por TGa.
|
|