2017-10-05 71 views
-4

我想记录一个void函数,但doxygen无法识别它。它只识别int main()函数。我不知道我做错了什么。Doxygen只检测int main()函数

请检查下面的代码。

#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

你有没有尝试在'void cuadraica(a,b,c){'?而不是之后。 – gsamaras

+0

是的。它没有工作。所以我把里面。没有结果。 – angelustt

+0

我认为你的代码有问题。你在'main()'函数中声明一个函数? – YaatSuka

回答

1

你不能在函数内声明函数。这不是OOP,每个功能都是唯一的一个功能。

试试这个:

#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

在C中,你不能在另一个函数声明功能。

试图声明你的函数分别:如果你想要把cuadratica()功能,在您的文件main()

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; 
} 

,你必须像以前一样声明它:

void cuadratica(float, float, float); 

int main(){ 
    // Method 
} 

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