|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Max_D
26
« en: Viernes 6 de Abril de 2007, 14:37 »
Prueba a poner: if (condicion) { instrucciones si se cumple la condicion } else { instrucciones si no se cumple la condicion }
El error que te muestra ya es intuitivo, "else fuera de lugar". Aparte aparecen errores logicos, como inicializar variables a 0 en cada iteracion del bucle. Lo puedes poner asi antes de entrar en el bucle: int i=0, contador = 0,consonantes = 0;
y eliminar las instrucciones: y
27
« en: Martes 13 de Marzo de 2007, 20:52 »
28
« en: Miércoles 28 de Febrero de 2007, 20:57 »
Podias usar flex
29
« en: Miércoles 28 de Febrero de 2007, 17:48 »
11284
30
« en: Domingo 25 de Febrero de 2007, 16:45 »
31
« en: Lunes 22 de Enero de 2007, 21:42 »
Al realizar la reserva de memoria le tienes que decir que tamaño quieres reservar, te refieres a eso? Yo no se VB pero si buscas "que te hagan el trabajo", investiga sobre la STL.
32
« en: Lunes 22 de Enero de 2007, 21:32 »
"EliminarLibro" es una funcion miembro de libro, no la puedes invocar sin que este asociada a una variable Libro. Prueba con Lib.EliminarLibro(..).
33
« en: Domingo 7 de Enero de 2007, 00:24 »
Encontre esta pagina que me parece interesante para empezar.
34
« en: Miércoles 3 de Enero de 2007, 17:03 »
Puede que te sirva este enlace. Asi a priori se puede hacer que guardas el ancho y el alto de la imagen, cargas la imagen en un TImage con la propiedad Stretch a True de forma que el TImage se ocupa de modificar la imagen a su propio tamaño, luegoahora, si te piden un 200% de zoom y la imagen media 200x200 originalmente, dale al TImage 400 de ancho x 400 de alto
35
« en: Miércoles 3 de Enero de 2007, 00:23 »
Creo que eso no depende de tu programa, ctrl + alt + supr es una solicitud de interrupcion.
36
« en: Sábado 23 de Diciembre de 2006, 23:24 »
JOU JOU JOU... FELIZ NAVIDAD!!!
37
« en: Sábado 23 de Diciembre de 2006, 20:19 »
Eso va a ser que esta encriptado
38
« en: Jueves 21 de Diciembre de 2006, 14:39 »
En tu clase Typeisbn creo que obligatoriamente tienes que poner el constructor Typeisbn() aparte del que tienes con parametro. Has probado a dejar las declaracion de constantes fuera de la clase? Tampoco estoy seguro de si con eso quitaras esos errores, pero se puede probar
39
« en: Martes 19 de Diciembre de 2006, 15:55 »
El timer solo es la simplificancion de las funciones de la API SetTimer y KillerTimer.
40
« en: Domingo 17 de Diciembre de 2006, 18:54 »
Cambia la linea de comparacion del nombre y la ciudad por esta: if (((strcmp(Banco[i].Nombre,Banco[j].Nombre)) == 0) && ((strcmp(Banco[i].Ciudad,Banco[j].Ciudad)) == 0)) {
41
« en: Domingo 17 de Diciembre de 2006, 17:20 »
Todo mascadito y bien mascadito. Aqui esta todo unido. Fin.
42
« en: Domingo 17 de Diciembre de 2006, 16:12 »
Es casi pseudocodigo, no puedes copiar y pegar. Dentro del while vas cogiendo los caracteres y los vas metiendo primero el NCliente (tienes que pasarlo a entero antes de asignarselo a NCliente), Nombre, Ap, etc. Como en el fichero de texto estan separados por un espacio, ese espacio es el que puedes usar para saber cuando termina un nombre. Ejemplo de como puede ir: FILE *fp; char c; int pos = 0; int num_clientes = 0; char cad[5]; if ((fp=fopen("Datos.txt","r"))!=NULL) { c = getc(fp); Banco[num_clientes].NCliente = atoi(c); // atoi pasa de char a entero creo c = getc(fp); // coge el espacio que separa NCliente de Nombre c = getc(fp); while (c != ' ') { // mientras q no llegue el espacio que separa Nombre de Ap Banco[num_clientes].Nombre[pos] = c; pos++; c = getc(fp); } // Esto bucle while te va metiendo caracter a caracter el nombre del cliente c = getc(fp); pos = 0; while (c != ' ') { // Ahora hacemos lo mismo con Ap Banco[num_clientes].Ap[pos] = c; pos++; c = getc(fp); } c = getc(fp); pos = 0; while (c != ' ') { cad[pos] = c; pos++; c = getc(fp); } cad[pos] = '\n'; Banco[num_clientes].Edad = atoi(cad); // Volvemos a pasar la cadena cad a entero pos = 0; c = getc(fp); while (c != ' ') { cad[pos] = c; pos++; c = getc(fp); } cad[pos] = '\n'; Banco[num_clientes].Saldo = atoi(cad); pos = 0; c = getc(fp); while (c != ' ') { Banco[num_clientes].Ciudad[pos] = c; pos++; c = getc(fp); } num_clientes++; }
Asi mas o menos se podria leer un cliente, no es nada compilado, solo escrito aqui, lo puedes copiar pero eso seguramente no compile. De todas formas, te recomiendo la otra opcion para comprobar que las estadisticas te funcionan correctamente.
43
« en: Domingo 17 de Diciembre de 2006, 14:54 »
Leer desde fichero es la mejor opcion: solo tienes que utilizar las funciones que vienen aqui. Ejemplo (en "pseudocodigo"): FILE * archivo; char c; if ((archivo=fopen("Datos.txt","r"))!=NULL) { c = getc(archivo); while (c != '\n') { // aqui vas almacenando los caracteres } }
Luego hay otra opcion algo mas "cutre" por asi decirlo, seria poner esto justo al principio del main Banco[0].NCliente = 0001; Banco[0].Nombre = "Pepe"; Banco[0].Ap = "Lopez"; Banco[0].Edad = 25; Banco[0].Saldo = 5000; Banco[0].Ciudad = "Madrid"; Banco[1].NCliente = 0002; Banco[1].Nombre = "Luis"; Banco[1].Ap = "Perez"; Banco[1].Edad = 45; Banco[1].Saldo = 1000; Banco[1].Ciudad = "Barcelona"; Banco[2].NCliente = 0003; Banco[2].Nombre = "Maria"; Banco[2].Ap = "De la O"; Banco[2].Edad = 69; Banco[2].Saldo = 10000; Banco[2].Ciudad = "Trebujena"; num_clientes = 3;
Esto lo puedes probar y ver si te van las estadisticas, es el metodo rapido. Consejo: haz esto y mira si te van las estadisticas y si te da tiempo (como dices que es para el lunes) intenta hacerlo leyendo del mismo fichero en el que guardas. Saludos
44
« en: Domingo 17 de Diciembre de 2006, 04:15 »
Me dices que solo te muestra las estadisticas cuando ejecutas el programa, ingresas un cliente y luego le das a la opcion de visualizar las estadisticas no? Eso es porque en tu tabla Banco no tienes informacion almacenada. Cuando ingresas un cliente y cierras el programa, ese cliente se guarda en el fichero de texto. Lo que decia es que, justo al empezar el main, cargues toda la informacion que esta en el fichero de texto. Asi al elegir la opcion de visualizar las estadisticas te apareceran, sin tener que volver a introducir clientes. Eso es lo que yo te he entendido. Si te entendi mal, explicamelo mas claramente
45
« en: Domingo 17 de Diciembre de 2006, 01:01 »
Hola de nuevo, una pregunta: si cuando ejecutas tu programa ni lees desde fichero nada ni guardas nada en la estructura Banco, que esperas que te muestre? Consejo: crea una funcion que lea desde el fichero que creas para poder emplear las estadisticas. Aqui te dejo el codigo que a mi si me funciona http://www.megaupload.com/?d=VIS5HG8PSaludos
46
« en: Domingo 17 de Diciembre de 2006, 00:12 »
Si ejecutaras el programa paso a paso verias que SI hace la opcion 3, SI lo saca por pantalla, lo que pasa es que el clrscr() que aparece en el menu limpia la pantalla y no te deja ver los resultados. Prueba a ponerlo en comentario o a poner un getch() despues de sacar por pantalla las estadisticas
47
« en: Sábado 16 de Diciembre de 2006, 20:25 »
Si te fijas num_clientes se incrementa al insertar un nuevo cliente.
48
« en: Viernes 15 de Diciembre de 2006, 03:50 »
He cambiado algunas cosas de tu codigo y te lo deje sin errores, el funcionamiento no lo he probado, eso te toca a ti
49
« en: Viernes 15 de Diciembre de 2006, 02:55 »
Creas una variable global con el numero de clientes (num_clientes) que se incrementa cada vez que insertas un cliente y para encontrar los clientes que necesitas haces algo como: int i, cuenta_clientes = 0, menor = Banco[0].Saldo, mayor = Banco[0].Saldo, media, iguales = 0, total = 0, j; for (i = 0; i < num_clientes; i++) { // para los clientes con mas de 40 años y mas de 1.200 euros de saldo if ((Banco[i].Edad > 40) && (Banco[i].Saldo > 1200)) { cuenta_clientes++; } // Calculo del mayor de los saldos if (Banco[i].Saldo > mayor) { mayor = Saldo[i].Saldo; } // Calculo del menor de los saldos if (Banco[i].Saldo < menor) { menor = Banco[i].Saldo; } // Calculo de la edad media de los clientes total = total + Banco[i].Edad; // Calculo de los nombres y las ciudades iguales for (j = i + 1; j < num_clientes; j++) { if ((strcmp(Banco[i].Nombre,Banco[j].Nombre) == 0) && (strcmp(Banco[i].Ciudad,Banco[j].Ciudad) == 0)) { iguales++; } } } media = total / num_clientes;
Mas o menos es eso, espero que te sirva. Apunte: Seria bueno que pusieras el saldo como float, por si aparece en el banco algun rico
50
« en: Sábado 9 de Diciembre de 2006, 20:46 »
Aqui os dejo dos tutoriales bastante completos, con muchos ejemplos y bastante bien explicados para empezar con C++ Builder desde 0.
|
|
|