elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error en el codigo de mi programa C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en el codigo de mi programa C++  (Leído 1,093 veces)
emarp10

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Error en el codigo de mi programa C++
« en: 10 Junio 2016, 19:16 pm »

Hola buen dia, les dejo el codigo de mi programa.
Quisiera saber porque en la linea 55 me tira este error en la linea 55:
Citar
55 C:\Users\Usuario\Desktop\EJERCICIO\adasdasdasd.cpp cannot convert `FILE*' to `const char*' for argument `1' to `FILE* fopen(const char*, const char*)'  
.
Uso dev c++ como compilador.

Les dejo el programa entero.

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. FILE *doc;
  4. main()
  5. {
  6.      int opcion, num1, num2, suma, n, cont=0, acum=0, cont2=0, prom, porc;
  7.      printf ("1- Datos personales\n");
  8.      printf ("2\n");
  9.      printf ("3\n");
  10.      printf ("4\n");
  11.      printf ("5\n");
  12.      printf ("Ingrese una opcion: ");
  13.      scanf ("%i", &opcion);
  14.      switch (opcion) {
  15.             case 1:
  16.                  printf ("Emanuel");
  17.                  break;
  18.             case 2:
  19.                  printf ("Ingrese el primer numero: ");
  20.                  scanf ("%i", &num1);
  21.                  printf ("Ingrese el segundo numero: ");
  22.                  scanf ("%i", &num2);
  23.                  suma=num1+num2;
  24.                  printf ("La suma es: %i", suma);
  25.                  break;
  26.             case 3:
  27.                  printf ("Ingrese el primer numero: ");
  28.                  scanf ("%i", &num1);
  29.                  printf ("Ingrese el segundo numero: ");
  30.                  scanf ("%i", &num2);
  31.                  if (num1>num2)
  32.                  printf ("El mayor es: %i", num1);
  33.                  else
  34.                  printf ("El mayor es: %i", num2);
  35.                  break;
  36.             case 4:
  37.                  for (n=1;n<=100;n++)
  38.                  printf ("%i", n++);
  39.                  break;
  40.             case 5:
  41.                  while (n!=0) {
  42.                        printf ("Ingrese un numero: ");
  43.                        scanf ("%i", &n);
  44.                        cont++;
  45.                        acum=acum+n;
  46.                        if (n>=18)
  47.                        cont2++;
  48.                        }
  49.                        }
  50.                        printf ("La cantidad de edades ingresadas es: %i", cont);
  51.                        prom=acum/cont;
  52.                        printf ("El promedio es : %i", prom);
  53.                        porc=(acum*cont2)/100;
  54.                        printf ("El porcentaje de mayores de edad es: %i", porc);
  55.                        doc=fopen (doc, "Edades.txt", "w");        <-- esta linea me da el error
  56.                        fprintf (doc, "La cantidad de edades ingresadas fueron: %i", cont);
  57.                        fprintf (doc, "El promedio de las edades fue: %i", prom);
  58.                        fprintf (doc, "El porcentaje de mayores de edad es: %i", porc);
  59.                        getch();
  60.                        }

He intentado cambiando de directorio el programa , poner el archivo texto en minuscula y nada.
Gracias.


« Última modificación: 10 Junio 2016, 19:17 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.415



Ver Perfil
Re: Error en el codigo de mi programa C++
« Respuesta #1 en: 10 Junio 2016, 19:21 pm »

fopen toma 2 argumentos, el primero es la ruta del archivo y el segundo es una combinacion de letras (a, r, w, b ,+) depende del modo de acceso que quieras hacer...

el error dice

Citar
cannot convert `FILE*' to `const char*' for argument `1' to `FILE* fopen(const char*, const char*)'  

Citar
no se puede convertir `FILE*' a `const char*' para argumento `1' a `FILE* fopen(const char*, const char*)'  

es decir, estás pasando una variable tipo FILE* (variable de acceso a archivo) cuando el necesita un char* (cadena de texto), es importante leer e interpretar los errores

recomiendo leer
http://c.conclase.net/librerias/?ansifun=fopen
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Manejo_de_archivos


« Última modificación: 10 Junio 2016, 19:27 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
emarp10

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Error en el codigo de mi programa C++
« Respuesta #2 en: 10 Junio 2016, 19:52 pm »

Muchas gracias! Ya lo arreglue.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines