我想记录一个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);
}
答案 0 :(得分: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 :(得分:1)
在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
}