Skip to content

Instantly share code, notes, and snippets.

@RianWardana
Created September 13, 2017 02:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RianWardana/e984e393cf26d6a544fbffefa8cd76b9 to your computer and use it in GitHub Desktop.
Save RianWardana/e984e393cf26d6a544fbffefa8cd76b9 to your computer and use it in GitHub Desktop.
// NURIAN S WARDANA
#include <stdio.h>
void printHeader() {
printf("===================================\n");
printf("| KALKULATOR FAKTORIAL |\n");
printf("===================================\n");
printf("| Panduan |\n");
printf("| 1. Masukkan angka pertama |\n");
printf("| sebagai bilangan yang |\n");
printf("| ingin difaktorialkan. |\n");
printf("| 2. Masukkan angka kedua |\n");
printf("| sebagai berapa banyak |\n");
printf("| operasi faktorial yang |\n");
printf("| akan dilakukan. |\n");
printf("| 3. Angka pertama dan kedua |\n");
printf("| hanya boleh berbentuk |\n");
printf("| bilangan bulat. |\n");
printf("| akan dilakukan. |\n");
printf("===================================\n");
printf("\n\n");
}
void printFooter() {
printf("\n\n");
printf("===================================\n");
printf("| Program sudah selesai. Tekan |\n");
printf("| apa saja untuk mengulangi. |\n");
printf("===================================\n");
}
void printError() {
printf("\n\n");
printf("===================================\n");
printf("| Yang Anda masukkan tidak sesuai.|\n");
printf("| Tekan apa saja untuk mengulangi.|\n");
printf("===================================\n");
}
void clearScreen() {
system("cls");
printHeader();
}
int factorial(int number) {
if (number <= 1) {
return 1;
} else {
return number * factorial(number - 1);
}
}
int main() {
clearScreen();
int angka1, angka2;
char enter;
printf("Masukkan angka pertama, lalu tekan <enter>: ");
if(scanf("%d%c", &angka1, &enter) != 2) {
printError();
getch();
main();
}
clearScreen();
printf("Masukkan angka kedua, lalu tekan <enter>: ");
if(scanf("%d%c", &angka2, &enter) != 2) {
printError();
getch();
main();
}
clearScreen();
int count;
for(count = 0; count < angka2; count++) {
printf("%d! = %d\n", (angka1 + count), factorial(angka1 + count));
}
printFooter();
getch();
main();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment