2017-10-05 5 views
-4

Je souhaite documenter une fonction vide, mais doxygen ne le reconnaît pas. Il reconnaît uniquement la fonction int main(). Je ne sais pas ce que je fais de mal.Doxygen ne détectant que la fonction int main()

Veuillez vérifier le code ci-dessous.

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 



/** 
* @file main.c 
* @author Reymi Chacon Soto 
* @date 3 de octubre 2017 
* @brief El main file del ejercicio 3 
* 
* \mainpage Descripcion 
* Programa para encontrar la solucion de una ecuacion cuadratica. EL usuario ingresa las constantes de la ecuacion 
* 
* \section libreria_sec Librerias usadas en este proyecto 
* \subsection libreria1 Math.h 
* Esta libreria permite usar la funcion sqrt(); para obtener raiz cuadrada 
*/ 



int main(){ 

    printf("Se va a trabajar con la ecuacion de la forma ax^2+bx+c\n\n"); 



    float a,b,c,x_1,x_2,x_0; 

    printf("Ingrese el valor de la constante a: "); 
    scanf("%f", &a); 

    printf("Ingrese el valor de la constante b: "); 
    scanf("%f", &b); 

    printf("Ingrese el valor de la constante c: "); 
    scanf("%f", &c); 



void cuadratica(a,b,c){ 

/** 
* @brief Funcion que se encarga de encontrar las soluciones de una ecuacion cuadratica segun los parametros 
* ingresados por el usuario. 
* @param a,b,c Constantes de la ecuacion cuadratica 
*/  

    double dis = b*b-4*a*c; 

    double sqr = sqrt(dis); 


    if(dis<0){ 

     printf("No tiene solucion en los numeros reales\n"); 


    } 



    if(dis==0){ 

     x_0= -b/(2*a); 

     printf("La solucion es %f\n", x_0); 


    } 

    if(dis>0){ 

     x_1= (-b + sqr)/(2*a); 
     x_2= (-b - sqr)/(2*a); 

     printf("Las soluciones son %f y %f\n", x_1, x_2); 

    } 

} 

cuadratica(a,b,c); 

} 
+1

Avez-vous essayé écrire vos commentaires avant 'void cuadraica (a, b, c) {'? Et pas après. – gsamaras

+0

Oui. Et ça n'a pas marché. Alors je mets dedans. Pas de résultat. – angelustt

+0

Je pense qu'il y a quelque chose qui ne va pas dans votre code. Vous déclarez une fonction dans la fonction 'main()'? – YaatSuka

Répondre

1

Vous ne pouvez pas déclarer une fonction dans une fonction. Ce n'est pas une POO, chaque fonction étant une et une seule fonction.

Essayez ceci:

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 

void cuadratica(a,b,c); 


/** 
* @file main.c 
* @author Reymi Chacon Soto 
* @date 3 de octubre 2017 
* @brief El main file del ejercicio 3 
* 
* \mainpage Descripcion 
* Programa para encontrar la solucion de una ecuacion cuadratica. EL usuario ingresa las constantes de la ecuacion 
* 
* \section libreria_sec Librerias usadas en este proyecto 
* \subsection libreria1 Math.h 
* Esta libreria permite usar la funcion sqrt(); para obtener raiz cuadrada 
*/ 



int main(void){ 

    printf("Se va a trabajar con la ecuacion de la forma ax^2+bx+c\n\n"); 



    float a,b,c,x_1,x_2,x_0; 

    printf("Ingrese el valor de la constante a: "); 
    scanf("%f", &a); 

    printf("Ingrese el valor de la constante b: "); 
    scanf("%f", &b); 

    printf("Ingrese el valor de la constante c: "); 
    scanf("%f", &c); 

    cuadratica(a,b,c); 
    return (0); 
} 

void cuadratica(a,b,c){ 

/** 
* @brief Funcion que se encarga de encontrar las soluciones de una ecuacion cuadratica segun los parametros 
* ingresados por el usuario. 
* @param a,b,c Constantes de la ecuacion cuadratica 
*/  

    double dis = b*b-4*a*c; 

    double sqr = sqrt(dis); 


    if(dis<0){ 

     printf("No tiene solucion en los numeros reales\n"); 


    } 



    if(dis==0){ 

     x_0= -b/(2*a); 

     printf("La solucion es %f\n", x_0); 


    } 

    if(dis>0){ 

     x_1= (-b + sqr)/(2*a); 
     x_2= (-b - sqr)/(2*a); 

     printf("Las soluciones son %f y %f\n", x_1, x_2); 

    } 

} 
1

En C, vous ne pouvez pas déclarer une fonction dans une autre fonction.

Essayez de déclarer votre fonction séparément:

void cuadratica(a,b,c){ 
    // Your method 
} 

int main(){ 

    printf("Se va a trabajar con la ecuacion de la forma ax^2+bx+c\n\n"); 

    float a,b,c,x_1,x_2,x_0; 

    printf("Ingrese el valor de la constante a: "); 
    scanf("%f", &a); 

    printf("Ingrese el valor de la constante b: "); 
    scanf("%f", &b); 

    printf("Ingrese el valor de la constante c: "); 
    scanf("%f", &c); 

    cuadratica(a,b,c); 
    return 0; 
} 

Si vous voulez mettre la fonction cuadratica() sous main() dans votre fichier, vous devez déclarer avant que:

void cuadratica(float, float, float); 

int main(){ 
    // Method 
} 

void cuadratica(a, b, c){ 
    // Method 
}