2017-10-05 104 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 
}