• Miércoles 20 de Noviembre de 2024, 10:37

Autor Tema:  Ejercicio de Funciones  (Leído 2161 veces)

barricade

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Ejercicio de Funciones
« en: Martes 16 de Noviembre de 2010, 16:58 »
0
Una entidad bancaria posee en un fichero la siguiente informacion para un conjunto de personas:

Nombre.
Numero de cuenta.
Credito solicitado.

El progrma funcionara basandose en un menu utilizando funciones con las siguientes operaciones:

A) Añadir un credito al archivo.
B) Copiar en otro fichero el conjunto de personas que hayan solicitado un credito superior a cierta cantidad establecida por el banco (la cual debera ser introducida por teclado).
C) Visualizar todo el contenido de un archivo.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Ejercicio de Funciones
« Respuesta #1 en: Martes 16 de Noviembre de 2010, 17:14 »
0
Te digo lo mismo que en el otro: no se hace la tarea  :no:

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Ejercicio de Funciones
« Respuesta #2 en: Martes 16 de Noviembre de 2010, 17:58 »
0
Se nota que el fin de curso se aproxima XD
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

barricade

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Ejercicio de Funciones
« Respuesta #3 en: Miércoles 17 de Noviembre de 2010, 12:55 »
0
Estoy atrancado con la copia de ficheros, se copiar un archivo a otro como podeis ver en el siguiente codigo, Pero lo que me cuesta es saber como copio los datos que se encuentran el archivo al otro, pero solo los que yo quiera, como
me pide en el ejercicio de funciones apartado B.

#include <stdio.h>  /* printf (), gets (), fprintf (), stderr, EOF,
                    fopen (), fclose (), fgetc (), fputc (), NULL */

#include <conio.h> /* getch () */
#include <string.h> /* strcpy () */
#include <ctype.h> /* toupper () */

#define BOOLEAN int
#define TRUE    1
#define FALSE   0

#define ESC 27
#define ENTER 'r'

#define NUMMAXCARACTERES 255

void main (void)
{
  BOOLEAN salir = FALSE;
  char nombre_fichero_entrada[NUMMAXCARACTERES],
       nombre_fichero_salida[NUMMAXCARACTERES];
  FILE *pfe, *pfs; /* punteros a fichero de entrada y fichero de
                   salida resp. */
  char ch;

  while (! salir)
    {
      puts ("nnCOPIAR FICHERO CON EL SISTEMA DE FICHEROS DE ALTO NIVEL:n");
      printf ("Introduzca nombre de fichero de entrada (ENTER o CON "
              "para teclado): ");
      gets (nombre_fichero_entrada);
      if (*nombre_fichero_entrada == '')
        strcpy (nombre_fichero_entrada, "con");
      printf ("Introduzca nombre de fichero de salida (ENTER o CON "
               "para pantalla): ");
      gets (nombre_fichero_salida);
      if (*nombre_fichero_salida == '')
        strcpy (nombre_fichero_salida, "con");
      if ((pfe = fopen (nombre_fichero_entrada, "r")) == NULL)
        fprintf (stderr, "nERROR: No es posible abrir el fichero de "
                 "entrada %s.n", nombre_fichero_entrada);
      else if ((pfs = fopen (nombre_fichero_salida, "w")) == NULL)
        {
          fprintf (stderr, "nERROR: No es posible abrir el fichero "
                   "de salida %s.n", nombre_fichero_salida);
          fclose (pfe);
        }
      else
        {
          int c;
          while ((c = fgetc (pfe)) != EOF)
            fputc (c, pfs);

          fclose (pfe);
          fclose (pfs);
        }

      printf ("nn¿Desea copiar otro fichero (S o ENTER: Sí; N o "
              "ESC: No)? ");
      do
        {
          ch = getch ();
        } while (ch != ENTER && toupper (ch) != 'S' &&
                 ch != ESC && toupper (ch) != 'N');
      salir = ch == ESC || toupper (ch) == 'N';
    }
}

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Ejercicio de Funciones
« Respuesta #4 en: Miércoles 17 de Noviembre de 2010, 13:11 »
0
Usa las etiquetas de código y pon tu código formateado si esperas que alguien lo lea.

barricade

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Ejercicio de Funciones
« Respuesta #5 en: Miércoles 17 de Noviembre de 2010, 15:12 »
0
Estoy atrancado con la copia de ficheros, se copiar un archivo a otro como podeis ver en el siguiente codigo, Pero lo que me cuesta es saber como copio los datos que se encuentran el archivo al otro, pero solo los que yo quiera, como
me pide en el ejercicio de funciones apartado B.
Código: C++
  1.  
  2. #include <stdio.h> /* printf (), gets (), fprintf (), stderr, EOF,
  3. fopen (), fclose (), fgetc (), fputc (), NULL */
  4.  
  5. #include <conio.h> /* getch () */
  6. #include <string.h> /* strcpy () */
  7. #include <ctype.h> /* toupper () */
  8.  
  9. #define BOOLEAN int
  10. #define TRUE 1
  11. #define FALSE 0
  12.  
  13. #define ESC 27
  14. #define ENTER 'r'
  15.  
  16. #define NUMMAXCARACTERES 255
  17.  
  18. void main (void)
  19. {
  20. BOOLEAN salir = FALSE;
  21. char nombre_fichero_entrada[NUMMAXCARACTERES],
  22. nombre_fichero_salida[NUMMAXCARACTERES];
  23. FILE *pfe, *pfs; /* punteros a fichero de entrada y fichero de
  24. salida resp. */
  25. char ch;
  26.  
  27. while (! salir)
  28. {
  29. puts ("nnCOPIAR FICHERO CON EL SISTEMA DE FICHEROS DE ALTO NIVEL:n");
  30. printf ("Introduzca nombre de fichero de entrada (ENTER o CON "
  31. "para teclado): ");
  32. gets (nombre_fichero_entrada);
  33. if (*nombre_fichero_entrada == '')
  34. strcpy (nombre_fichero_entrada, "con");
  35. printf ("Introduzca nombre de fichero de salida (ENTER o CON "
  36. "para pantalla): ");
  37. gets (nombre_fichero_salida);
  38. if (*nombre_fichero_salida == '')
  39. strcpy (nombre_fichero_salida, "con");
  40. if ((pfe = fopen (nombre_fichero_entrada, "r")) == NULL)
  41. fprintf (stderr, "nERROR: No es posible abrir el fichero de "
  42. "entrada %s.n", nombre_fichero_entrada);
  43. else if ((pfs = fopen (nombre_fichero_salida, "w")) == NULL)
  44. {
  45. fprintf (stderr, "nERROR: No es posible abrir el fichero "
  46. "de salida %s.n", nombre_fichero_salida);
  47. fclose (pfe);
  48. }
  49. else
  50. {
  51. int c;
  52. while ((c = fgetc (pfe)) != EOF)
  53. fputc (c, pfs);
  54.  
  55. fclose (pfe);
  56. fclose (pfs);
  57. }
  58.  
  59. printf ("nn¿Desea copiar otro fichero (S o ENTER: Sí; N o "
  60. "ESC: No)? ");
  61. do
  62. {
  63. ch = getch ();
  64. } while (ch != ENTER && toupper (ch) != 'S' &&
  65. ch != ESC && toupper (ch) != 'N');
  66. salir = ch == ESC || toupper (ch) == 'N';
  67. }
  68. }
  69.  

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Ejercicio de Funciones
« Respuesta #6 en: Jueves 18 de Noviembre de 2010, 22:35 »
0
Hay muchas maneras, pero yo prefiero las funciones fread y fwrite, todo dentro de un while usando EOF. Tambien puedes usar system("comando de consola")
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.