summaryrefslogtreecommitdiff
path: root/yaksh/c_cpp_files/main_fact.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh/c_cpp_files/main_fact.cpp')
-rwxr-xr-xyaksh/c_cpp_files/main_fact.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/yaksh/c_cpp_files/main_fact.cpp b/yaksh/c_cpp_files/main_fact.cpp
new file mode 100755
index 0000000..a4ff230
--- /dev/null
+++ b/yaksh/c_cpp_files/main_fact.cpp
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+extern int factorial(int);
+
+template <class T>
+
+void check(T expect, T result)
+{
+ if (expect == result)
+ {
+ printf("\nCorrect:\n Expected %d got %d \n",expect,result);
+ }
+ else
+ {
+ printf("\nIncorrect:\n Expected %d got %d \n",expect,result);
+ exit (1);
+ }
+}
+
+int main(void)
+{
+ int result;
+ result = factorial(0);
+ printf("Input submitted to the function: 0");
+ check(1, result);
+ result = factorial(3);
+ printf("Input submitted to the function: 3");
+ check(6, result);
+ printf("All Correct\n");
+ return 0;
+}