• Viernes 9 de Mayo de 2025, 14:05

Mostrar Mensajes

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

Páginas: 1 [2] 3 4 ... 6
26
C++ Builder / Re: Necesito Ayuda Porfavor! Ocupo Un Programa En C!!
« en: Viernes 6 de Abril de 2007, 14:37 »
Prueba a poner:

Código: Text
  1. if (condicion) {
  2.    instrucciones si se cumple la condicion
  3. }
  4. else  {
  5.    instrucciones si no se cumple la condicion
  6. }
  7.  


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:

Código: Text
  1. int i=0, contador = 0,consonantes = 0;
  2.  


y eliminar las instrucciones:

Código: Text
  1. contador=0;
  2.  


y

Código: Text
  1. consonantes=0;
  2.  

27
C++ Builder / Re: Dudas Lenguaje
« en: Martes 13 de Marzo de 2007, 20:52 »

28
C/C++ / Re: Expresiones Regulares[c/c++]
« en: Miércoles 28 de Febrero de 2007, 20:57 »
Podias usar flex

29
CONCURSO / Re: Miembros - 512 Mb
« en: Miércoles 28 de Febrero de 2007, 17:48 »
11284

30
C/C++ / Re: Duda Urgente...
« en: Domingo 25 de Febrero de 2007, 16:45 »

31
C/C++ / Re: Limite De Vectores Dinamicos
« 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
C/C++ / Re: Ahora Tengo Dudas Con Una Lista Enlazada
« 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
C/C++ / Re: Ayuda: ¿que Necesita Principiente En C?
« en: Domingo 7 de Enero de 2007, 00:24 »
Encontre esta pagina que me parece interesante para empezar.  ;)

34
C++ Builder / Re: Mapa
« 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  B)

35
C++ Builder / Re: Como Poder Anular El Ctrl+alt+sup
« 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
La taberna del BIT / Re: Feliz Navidad
« en: Sábado 23 de Diciembre de 2006, 23:24 »
JOU JOU JOU... FELIZ NAVIDAD!!! :hola:

37
C/C++ / Re: Variable Global
« en: Sábado 23 de Diciembre de 2006, 20:19 »
Eso va a ser que esta encriptado  :blink:

38
C/C++ / Re: Ahora Tengo Dudas Con Una Lista Enlazada
« 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  :rolleyes:

39
C++ Builder / Re: Timer
« 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
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 18:54 »
Cambia la linea de comparacion del nombre y la ciudad por esta:
Código: Text
  1. if (((strcmp(Banco[i].Nombre,Banco[j].Nombre)) == 0) && ((strcmp(Banco[i].Ciudad,Banco[j].Ciudad)) == 0))  {
  2.  

41
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 17:20 »
Todo mascadito y bien mascadito. Aqui esta todo unido. Fin.

42
C/C++ / Re: Operaciones Con Ficheros
« 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:

Código: Text
  1. FILE *fp;
  2. char c;
  3. int pos = 0;
  4. int num_clientes = 0;
  5. char cad[5];
  6.  
  7. if ((fp=fopen("Datos.txt","r"))!=NULL)  {
  8.      c = getc(fp);
  9.      Banco[num_clientes].NCliente = atoi(c);
  10.      // atoi pasa de char a entero creo
  11.      c = getc(fp);  // coge el espacio que separa NCliente de Nombre
  12.      c = getc(fp);
  13.      while (c != ' ')  { // mientras q no llegue el espacio que separa Nombre de Ap
  14.               Banco[num_clientes].Nombre[pos] = c;
  15.               pos++;
  16.               c = getc(fp);
  17.      } // Esto bucle while te va metiendo caracter a caracter el nombre del cliente
  18.      c = getc(fp);
  19.      pos = 0;
  20.      while (c != ' ')  { // Ahora hacemos lo mismo con Ap
  21.               Banco[num_clientes].Ap[pos] = c;
  22.               pos++;
  23.               c = getc(fp);  
  24.     }
  25.     c = getc(fp);
  26.     pos = 0;
  27.     while (c != ' ')  {
  28.              cad[pos] = c;
  29.              pos++;
  30.              c = getc(fp);
  31.     }
  32.     cad[pos] = '\n';
  33.     Banco[num_clientes].Edad = atoi(cad); // Volvemos a pasar la cadena cad a entero
  34.     pos = 0;
  35.     c = getc(fp);
  36.     while (c != ' ')  {
  37.              cad[pos] = c;
  38.              pos++;
  39.              c = getc(fp);
  40.     }
  41.     cad[pos] = '\n';
  42.     Banco[num_clientes].Saldo = atoi(cad);  
  43.     pos = 0;
  44.     c = getc(fp);
  45.     while (c != ' ')  {
  46.              Banco[num_clientes].Ciudad[pos] = c;
  47.              pos++;
  48.              c = getc(fp);
  49.     }
  50.     num_clientes++;
  51. }
  52.  
  53.  


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
C/C++ / Re: Operaciones Con Ficheros
« 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"):

Código: Text
  1. FILE * archivo;
  2. char c;
  3.  
  4. if ((archivo=fopen("Datos.txt","r"))!=NULL)  {
  5.      c = getc(archivo);
  6.      while (c != '\n')  {
  7.               // aqui vas almacenando los caracteres
  8.      }    
  9. }
  10.  
  11.  


Luego hay otra opcion algo mas "cutre" por asi decirlo, seria poner esto justo al principio del main
Código: Text
  1.  
  2. Banco[0].NCliente = 0001;
  3. Banco[0].Nombre = "Pepe";
  4. Banco[0].Ap = "Lopez";
  5. Banco[0].Edad = 25;
  6. Banco[0].Saldo = 5000;
  7. Banco[0].Ciudad = "Madrid";
  8. Banco[1].NCliente = 0002;
  9. Banco[1].Nombre = "Luis";
  10. Banco[1].Ap = "Perez";
  11. Banco[1].Edad = 45;
  12. Banco[1].Saldo = 1000;
  13. Banco[1].Ciudad = "Barcelona";
  14. Banco[2].NCliente = 0003;
  15. Banco[2].Nombre = "Maria";
  16. Banco[2].Ap = "De la O";
  17. Banco[2].Edad = 69;
  18. Banco[2].Saldo = 10000;
  19. Banco[2].Ciudad = "Trebujena";
  20.  
  21. num_clientes = 3;
  22.  
  23.  


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  :hola:

44
C/C++ / Re: Operaciones Con Ficheros
« 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  :rolleyes:

45
C/C++ / Re: Operaciones Con Ficheros
« 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.  :comp:

Aqui te dejo el codigo que a mi si me funciona

http://www.megaupload.com/?d=VIS5HG8P

Saludos  :hola:

46
C/C++ / Re: Operaciones Con Ficheros
« 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  :P

47
C/C++ / Re: Operaciones Con Ficheros
« en: Sábado 16 de Diciembre de 2006, 20:25 »
Si te fijas num_clientes se incrementa al insertar un nuevo cliente.

48
C/C++ / Re: Operaciones Con Ficheros
« 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  :whistling:

49
C/C++ / Re: Operaciones Con Ficheros
« 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:

Código: Text
  1. int i, cuenta_clientes = 0, menor = Banco[0].Saldo, mayor = Banco[0].Saldo, media, iguales = 0, total = 0, j;
  2. for (i = 0; i < num_clientes; i++)  {
  3.       // para los clientes con mas de 40 años y mas de 1.200 euros de saldo
  4.       if ((Banco[i].Edad > 40) && (Banco[i].Saldo > 1200))  {
  5.            cuenta_clientes++;
  6.       }
  7.       // Calculo del mayor de los saldos
  8.       if (Banco[i].Saldo > mayor)  {
  9.          mayor = Saldo[i].Saldo;
  10.       }
  11.       // Calculo del menor de los saldos
  12.       if (Banco[i].Saldo < menor)   {
  13.           menor = Banco[i].Saldo;
  14.       }
  15.       // Calculo de la edad media de los clientes
  16.       total = total + Banco[i].Edad;
  17.      
  18.       // Calculo de los nombres y las ciudades iguales
  19.       for (j = i + 1&#59; j < num_clientes; j++)  {
  20.             if ((strcmp(Banco[i].Nombre,Banco[j].Nombre) == 0) && (strcmp(Banco[i].Ciudad,Banco[j].Ciudad) == 0))  {
  21.                 iguales++;
  22.             }
  23.       }
  24. }
  25. media = total / num_clientes;
  26.  
  27.  


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  :P

50
C++ Builder / Re: Necesito Manual De C++ Builder 6.0
« 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.  :comp:

Páginas: 1 [2] 3 4 ... 6