Autor
|
Tema: Ayuda ejercicio (Leído 7,322 veces)
|
Luckim
Desconectado
Mensajes: 18
|
Pongo el codigo otra vez como lo tengo ahora, le saqe el ultimo menu: #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, 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() { char nombre[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]={0}; 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) { printf("Ingrese nombre y apellido: "); fflush(stdin); gets(nombre); 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; } } }
pto1(cont); pto2(nombre); pto3(Mll[10][40]); pto4(VP[10], Mll[10][40], Mct[10][40]);
} void pto1(int cont) { printf("%d no pudieron ser alojados por falta de lugar",cont); }
void pto2(char* nombre) { printf("Los rechazados son:\n", nombre);
} void pto3(int a) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { if(a[f][c] > 0) { printf("Para el piso %d, la celda %d tiene aun disponibilidad",a,c); } } } } void pto4(int a, int b, int c) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { a[f]=a[f]+b[f][c]-c[f][c]; } } Max=a[f]; aux=f;
int i; for(i=1;i<=10;i++) { if(a[i] > Max) { Max=a[i]; aux=i; } } for(i=aux;i<=aux;i++) { if(a[i]==Max) { printf("El piso mas lleno es el piso %d",i) } } } } } Y la linea q me tira error: pto1(cont); pto2(nombre); pto3(Mll[10][40]); pto4(VP[10], Mll[10][40], Mct[10][40]);
} void pto1(int cont) { printf("%d no pudieron ser alojados por falta de lugar",cont); }
|
|
|
En línea
|
|
|
|
DickGumshoe
|
En el prototipo de la función tienes: void idatos(int);
Sin embargo, en la función tienes: void idatos()
Saludos!
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
A parte de lo que dice DickGumshoe en la función anterior a la que te dá el error te faltan llaves... y al final del todo te sobran.
|
|
|
En línea
|
Regístrate en
|
|
|
Luckim
Desconectado
Mensajes: 18
|
Sisi, estaba contando justo las llaves. Estoy desde las 2 de la tarde con este trabajo practico lo cambie tantas veces ya que nose las orrores que pueden haber. Si me surge algo más lo pongo, mil gracias a todos.
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! La verdad es que intentar leer ese codigo era un horror. Lo he pasado por el taller y ha quedado asi: (Ahora encontraras los errores mas facil. Intenta escribir codigo siguiendo este formato o uno parecido, pero que este ordenado por favor...) #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, 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: "); if (k != 0) { printf("\nUsuario incorrecto\n"); } if(k == 0) { printf("\nIngrese contrasena: "); if (j == 0) { printf("\nDatos correctos\n"); printf("\nBienvenido al programa del servicio penintenciario\n"); menu1(menu); //Comienzo de Switch Menu } 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: "); while (a!=1) { } 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: break; } } void idatos() { char nombre[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]={0}; 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) { 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; } } } pto1(cont); pto2(nombre); pto3(Mll[10][40]); pto4(VP[10], Mll[10][40], Mct[10][40]); } void pto1(int cont) { printf("%d no pudieron ser alojados por falta de lugar",cont ); } void pto2(char* nombre) { printf("Los rechazados son:\n", nombre ); } void pto3(int a) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { if(a[f][c] > 0) { printf("Para el piso %d, la celda %d tiene aun disponibilidad",a ,c ); } } } } void pto4(int a, int b, int c) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { a[f]=a[f]+b[f][c]-c[f][c]; } } Max=a[f]; aux=f; int i; for(i=1;i<=10;i++) { if(a[i] > Max) { Max=a[i]; aux=i; } } for(i=aux;i<=aux;i++) { if(a[i]==Max) { printf("El piso mas lleno es el piso %d",i ) } } } } }
Ahora te voy contando lo que veo... ||In function 'idatos':| |114|error: number of arguments doesn't match prototype| |6|error: prototype declaration| Hasta aqui te dice que en la funcion idatos, no corresponde el prototipo con la declaracion. ||In function 'pto3':| |192|error: subscripted value is neither array nor pointer| Te esta diciendo que estas intentando utilizar como vector (o en este caso matriz) algo que no lo es, es decir estas poniendo subindices a algo que no los puede llevar. ||In function 'pto4':| |209|error: subscripted value is neither array nor pointer| |209|error: subscripted value is neither array nor pointer| |209|error: subscripted value is neither array nor pointer| |209|error: subscripted value is neither array nor pointer| Lo mismo que el apartado anterior |213|error: 'Max' undeclared (first use in this function)| |213|error: (Each undeclared identifier is reported only once| |213|error: for each function it appears in.)| Una variable que esta utilizando sin haberla declarado |213|error: subscripted value is neither array nor pointer| Otra vez estas intentando utilizar como matriz o vector algo que no lo es. |214|error: 'aux' undeclared (first use in this function)| Otra variable sin declarar |220|error: subscripted value is neither array nor pointer| |222|error: subscripted value is neither array nor pointer| |229|error: subscripted value is neither array nor pointer| Otra vez lo de los vectores o matrices |232|error: expected ';' before '}' token| Y la ultima es que falta un punto y coma por algun lado... ||=== Build finished: 16 errors, 0 warnings ===|
|
|
« Última modificación: 17 Julio 2012, 01:36 am por do-while »
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
Luckim
Desconectado
Mensajes: 18
|
Tengo errores en la funciones, me parecia raro que no aparescan. void pto3(int a) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { if(a[f][c] > 0) { printf("\nPara el piso %d, la celda %d tiene aun disponibilidad\n",a,c); } } } } void pto4(int a, int b, int c) { int f; for(f=1;f<=10;f++) { int c; for(c=1;c<=40;c++) { a[f]=a[f]+b[f][c]-c[f][c]; } } Max=a[f]; aux=f;
int i; for(i=1;i<=10;i++) { if(a[i] > Max) { Max=a[i]; aux=i; } } for(i=aux;i<=aux;i++) { if(a[i]==Max) { printf("\nEl piso mas lleno es el piso %d",i) } } } }
C:\Users\Luciano\Desktop\Sin Nombre1.cpp In function `void pto3(int, int, int)': 227 C:\Users\Luciano\Desktop\Sin Nombre1.cpp invalid types `int[int]' for array subscript C:\Users\Luciano\Desktop\Sin Nombre1.cpp In function `void pto4(int, int, int)': 244 C:\Users\Luciano\Desktop\Sin Nombre1.cpp invalid types `int[int]' for array subscript y un par más todo del void 4, lo tengo echo para la ***** yase. Esta bien haber declado como A a la matriz?
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Tienes errores garrafales , utilizas matrices sin saber pasarlas y por lo que he podido comprobar el código que he modificado no funciona bien...
|
|
|
En línea
|
Regístrate en
|
|
|
Luckim
Desconectado
Mensajes: 18
|
Si yase, la verdad es que no vimos un choto de codigo, casi todo el cuatrimestre viendo diagramacion Jackson y ahora tngo q hacer este tp, mas un menu y un usuario y contraseña. Se q es un horror pero bueno, con el tiempo espero aprender.
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Te dejo el código modificado pero ya te digo que no funciona bien .. aunque compilar compila. #include <stdio.h> #include <conio.h> #include <string.h> void menu1(int); void idatos(); void menu2(int); void pto1(int); void pto2(char*); void pto3(int a[10][40]); void pto4(int d[10], int e[10][40], int g[10][40]); 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: "); if (k != 0) { printf("\nUsuario incorrecto\n"); } if(k == 0) { printf("\nIngrese contrasena: "); if (j == 0) { printf("\nDatos correctos\n"); printf("\nBienvenido al programa del servicio penintenciario\n"); menu1(menu); //Comienzo de Switch Menu } 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: "); while (a!=1) { } 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: break; } } void idatos() { char nombre[32]; int i; int j; for(i=1; i<=10; i++) { for(j=1; j<=40; j++) { int nr,np,nc,ll,cp,cont; nr=np=nc=ll=cp=cont=0; int Mll[10][40]; int Mct[10][40]; 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) { 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; } } } pto1(cont); pto2(nombre); pto3(Mll); pto4(VP, Mll, Mct); } } } void pto1(int cont) { printf("%d no pudieron ser alojados por falta de lugar\n",cont ); } void pto2(char* nombre) { printf("Los rechazados son: %s\n", nombre ); } void pto3(int a[10][40]) { int f; for(f=1; f<=10; f++) { int c; for(c=1; c<=40; c++) { if(a[f][c] > 0) { printf("Para el piso %d, la celda %d tiene aun disponibilidad\n",a ,c ); } } } } void pto4(int d[10], int e[10][40], int g[10][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]); } } int Max=d[f]; int aux=f; 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 ); } } }
|
|
« Última modificación: 17 Julio 2012, 01:35 am por avesudra »
|
En línea
|
Regístrate en
|
|
|
Luckim
Desconectado
Mensajes: 18
|
Bueno, muchas gracias a todos por la ayuda. Con el tiempo espero mejorar y que no tengan que ver esto otra vez :/ Abrazo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Ejercicio C 100
Ejercicios
|
Dem0ny
|
2
|
6,063
|
19 Diciembre 2007, 22:45 pm
por Dem0ny
|
|
|
Ayuda co un ejercicio de C#
.NET (C#, VB.NET, ASP)
|
hitori batusai
|
2
|
5,382
|
22 Febrero 2008, 01:53 am
por hitori batusai
|
|
|
Ayuda con ejercicio de VB
Programación Visual Basic
|
guada_sp
|
5
|
3,392
|
8 Marzo 2008, 02:54 am
por jackl007
|
|
|
Ayuda con ejercicio
.NET (C#, VB.NET, ASP)
|
elbrunosimpson
|
4
|
3,553
|
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,901
|
5 Septiembre 2010, 02:57 am
por TGa.
|
|