【问题标题】:Doxygen only detecting the int main() functionDoxygen 只检测 int main() 函数
【发布时间】:2018-03-16 12:19:07
【问题描述】:

我想记录一个 void 函数,但 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);

}

【问题讨论】:

  • 您在void cuadraica(a,b,c){ 之前尝试过编写您的cmets 吗?而不是之后。
  • 是的。它没有用。所以我放进去。没有结果。
  • 我认为您的代码有问题。你在main()函数中声明了一个函数?
  • 函数不嵌套。

标签: c doxygen


【解决方案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);

    }

}

【讨论】:

    【解决方案2】:

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

    尝试单独声明您的函数

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

    如果你想把cuadratica()函数放在你的文件中main()下面,你必须在之前声明它:

    void cuadratica(float, float, float);
    
    int main(){
       // Method
    }
    
    void cuadratica(a, b, c){
       // Method
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-15
      • 2019-06-14
      • 1970-01-01
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      相关资源
      最近更新 更多