|
|
// scientificMode
#include <stdio.h>
#include <math.h>
// get the number which has to be calculated
double getNumberFromUser() { double num; printf("Enter a number: "); scanf("%lf", &num); return num; }
// Choice for ScientificMode
int getScientificModeChoice() { int choice; printf("Scientific mode Options:\n"); printf("1: Square root\n"); printf("2: Exponential\n"); printf("3: Logarithm\n"); printf("4: Trigonometric\n"); printf("0: Exit\n"); scanf("%d", &choice); return choice; }
// Choice for Logarithm
int getLogarithmChoice() { int logChoice; printf("Logarithm Options:\n"); printf("1: Logarithm (base 10)\n"); printf("2: Natural Logarithm (ln)\n"); printf("3: Logarithm (base 2)\n"); printf("0: Exit Logarithm Menu\n"); scanf("%d", &logChoice); return logChoice; }
// Choice for Trigonomtri
int getTrigonometricChoice() { int trigChoice; printf("Trigonometric functions:\n"); printf("1: Sine\n"); printf("2: Cosine\n"); printf("3: Tangent\n"); printf("0: Exit Trigonometric Menu\n"); scanf("%d", &trigChoice); return trigChoice; }
// Logarithm
void executeLogarithmFunction(double num) { int logChoice;
do { logChoice = getLogarithmChoice(); switch (logChoice) { case 1: // Logarithm (base 10)
printf("Result: %lf\n", logarithmFunction(num)); break;
case 2: // Natural Logarithm (ln)
printf("Result: %lf\n", naturalLogarithmFunction(num)); break;
case 3: // Logarithm (base 2)
printf("Result: %lf\n", logarithmBase2Function(num)); break;
case 0: // Exit the logarithm menu
break;
default: printf("Invalid logarithm function choice. Please try again.\n"); } } while (logChoice != 0); }
// Trigonometric
void executeTrigonometricFunction(double num) { int trigChoice;
do { trigChoice = getTrigonometricChoice();
switch (trigChoice) { case 1: // Sine
printf("Result: %lf\n", sineFunction(num)); break;
case 2: // Cosine
printf("Result: %lf\n", cosineFunction(num)); break;
case 3: // Tangent
printf("Result: %lf\n", tangentFunction(num)); break;
case 0: // Exit the trigonometric menu
break;
default: printf("Invalid trigonometric function choice. Please try again.\n"); } } while (trigChoice != 0); }
void executeScientificFunction(double num, int choice) { double result;
switch (choice) { case 1: // Square root
result = squareRootFunction(num); printf("Result: %lf\n", result); break;
case 2: // Exponential
result = exponentialFunction(num); printf("Result: %lf\n", result); break;
case 3: // Logarithm
executeLogarithmFunction(num); break;
case 4: // Trigonometric
executeTrigonometricFunction(num); break;
case 0: // Exit the loop
break;
default: printf("Invalid choice. Please try again.\n"); } }
// scientificMode
double scientificMode() { double result; int choice;
do { double num = getNumberFromUser(); choice = getScientificModeChoice(); executeScientificFunction(num, choice); } while (choice != 0);
return result; }
|