一个程序由两个 C++源文件组成,在一个源文件中定义主函数 main()并声明一个全局整型变量n,在另一个源文件中定义一个不带参数的函数 factorial(void),该函数用于计算变量n 的阶乘。编程在主函数 main()中输入一个整数并求它的阶乘。
时间: 2024-11-16 17:20:40 浏览: 18
Project6_一个c++文件_
在C++中,如果你有一个这样的需求,你需要按照以下步骤操作:
1. 首先,在一个名为`main.cpp`的源文件中,定义主函数 `main()` 和全局整型变量 `n`。例如:
```cpp
#include <iostream>
// 在这个头文件里声明全局变量和函数
extern int n;
int factorial(void);
int main() {
int num;
std::cout << "Enter a number: ";
std::cin >> num;
// 计算阶乘并显示结果
int result = factorial();
std::cout << "Factorial of " << num << " is: " << result << std::endl;
return 0;
}
```
2. 然后,在另一个名为`factorial.cpp`的源文件中,定义 `factorial()` 函数,因为它是无参的,所以可以直接定义它:
```cpp
// 在这个头文件里只包含必要的函数声明
#include "main.h" // 包含包含main.cpp中声明的部分
// 定义 factorial 函数
int factorial() {
int fact = 1;
for(int i=1; i<=n; ++i) {
fact *= i;
}
return fact;
}
```
3. 最后,记得在`main.cpp`的开头添加`#include "factorial.cpp"`来链接这两个源文件,并将`factorial.cpp`的内容作为对象文件引入。
4. 编译这两个源文件,通常会生成一个可执行文件。注意:为了避免重复定义,你在`factorial.cpp`里对`n`的引用需要通过包含`main.h`,在`main.cpp`里已经声明了`n`。
阅读全文