Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error en mi programa C++

Estas en el tema de Error en mi programa C++ en el foro de C/C++ en Foros del Web. [b]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: ...
  #1 (permalink)  
Antiguo 10/06/2016, 11:17
 
Fecha de Ingreso: junio-2016
Mensajes: 1
Antigüedad: 8 años, 5 meses
Puntos: 0
Error en mi programa C++

[b]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:
Cita:
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.

Cita:
#include <stdio.h>
#include <conio.h>
FILE *doc;
main()
{
int opcion, num1, num2, suma, n, cont=0, acum=0, cont2=0, prom, porc;
printf ("1- Datos personales\n");
printf ("2\n");
printf ("3\n");
printf ("4\n");
printf ("5\n");
printf ("Ingrese una opcion: ");
scanf ("%i", &opcion);
switch (opcion) {
case 1:
printf ("Emanuel");
break;
case 2:
printf ("Ingrese el primer numero: ");
scanf ("%i", &num1);
printf ("Ingrese el segundo numero: ");
scanf ("%i", &num2);
suma=num1+num2;
printf ("La suma es: %i", suma);
break;
case 3:
printf ("Ingrese el primer numero: ");
scanf ("%i", &num1);
printf ("Ingrese el segundo numero: ");
scanf ("%i", &num2);
if (num1>num2)
printf ("El mayor es: %i", num1);
else
printf ("El mayor es: %i", num2);
break;
case 4:
for (n=1;n<=100;n++)
printf ("%i", n++);
break;
case 5:
while (n!=0) {
printf ("Ingrese un numero: ");
scanf ("%i", &n);
cont++;
acum=acum+n;
if (n>=18)
cont2++;
}
}
printf ("La cantidad de edades ingresadas es: %i", cont);
prom=acum/cont;
printf ("El promedio es : %i", prom);
porc=(acum*cont2)/100;
printf ("El porcentaje de mayores de edad es: %i", porc);
doc=fopen (doc, "Edades.txt", "w"); <-- esta linea me da el error
fprintf (doc, "La cantidad de edades ingresadas fueron: %i", cont);
fprintf (doc, "El promedio de las edades fue: %i", prom);
fprintf (doc, "El porcentaje de mayores de edad es: %i", porc);
getch();
}
He intentado cambiando de directorio el programa , poner el archivo texto en minuscula y nada.
Gracias.
  #2 (permalink)  
Antiguo 10/06/2016, 11:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Error en mi programa C++

Hola:
Si ves el mensaje de error, te está diciendo que la función tiene esta firma:
Código C:
Ver original
  1. FILE* fopen(const char*, const char*)'

Así que está esperando dos argumentos del tipo const char*
Se está quejando de que el argumento 1 no es correcto, y por lo que se ve, "doc" es un puntero del tipo FILE, y es el primer argumento de la función. Ahí debes de pasarle un argumento de tipo const char*

Saludos

Edito:

Viendo mas despacio, le pasas esto a la función:

Código C:
Ver original
  1. doc=fopen (doc, "Edades.txt", "w"); <-- esta linea me da el error

y te sobra el primero. Debería ser:
Código C:
Ver original
  1. doc=fopen ("Edades.txt", "w");
__________________
Mi calculadora en Qt

Etiquetas: char, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:15.