cli-calculator/main.c
2021-04-19 16:33:36 -04:00

152 lines
4 KiB
C

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "formulas.h"
#include "matrices.h"
// to compile use "gcc main.c -lm"
int main()
{
system("clear");
printf("Welcome to Calculator Collection™.\nPlease select which calculator you would like to use.");
printf("\n\n 1. Hypotenuse calculator");
printf("\n 2. Quadratic formula calculator");
printf("\n 3. Area of a circle");
printf("\n 4. Matrix determinant");
printf("\n 5. Matrix addition");
printf("\n 6. * Matrix multiplication *");
printf("\n 7. Scalar matrix multiplication");
printf("\n 8. Exponent");
printf("\n\n * Stared entries are not fully programmed.");
printf("\n Enter your choice here:_____");
printf("\033[D");
printf("\033[D");
printf("\033[D");
int userInput;
scanf("%i", &userInput);
switch (userInput)
{
case 1:
system("clear");
printf("\n ~~ Hypotenuse calculator ~~");
printf("\n\n /|\n");
printf(" / |\n");
printf(" c / |\n");
printf(" / | a\n");
printf(" / |\n");
printf(" /_____|\n\n");
printf(" b\n");
printf("\nPlease type the length of the triangle:\n");
double sideA;
scanf("%lf", &sideA);
printf("\nPlease type the width of the triangle:\n");
double sideB;
scanf("%lf", &sideB);
printf("The Hypotnuse is equal to %lf.\n", hypotenuse(sideA, sideB));
break;
case 2:
system("clear");
printf("\n ~~ Quadratic formula ~~\n\n");
printf("Please enter the value for \"a\":\n");
double numA;
scanf("%lf", &numA);
printf("Please enter the value for \"b\":\n");
double numB;
scanf("%lf", &numB);
printf("Please enter the value for \"c\":\n");
double numC;
scanf("%lf", &numC);
double awn1ptr, awn2ptr;
quadratic(numA, numB, numC, &awn1ptr, &awn2ptr);
printf("The zeros are: %f and %f.\n", awn1ptr, awn2ptr);
break;
case 3:
system("clear");
printf("\n ~~ Area of a circle ~~\n\n");
printf(" o o\n o o\n o o\n o o\n o o\n o o\n");
printf("\n enter a radius:\n");
double radius;
scanf("%lf", &radius);
printf("The area is %f.\n", areaOfCircle(radius));
break;
case 4:
system("clear");
printf("\n ~~ 2*2 Matrix determinant ~~\n\n");
int det;
det = determinant();
printf("\nThe determinant is %d.\n", det);
break;
case 5:
system("clear");
printf("\n ~~ Matrix addition ~~\n\n");
int Rows;
int Columns;
printf("\nPlease enter the number of rows: ");
scanf("%d", &Rows);
printf("\nPlease enter the number of columns: ");
scanf("%d", &Columns);
matrixAddition(Rows, Columns);
break;
case 6:
system("clear");
printf("\n ~~ Matrix multiplication ~~\n\n");
break;
case 7:
system("clear");
printf("\n ~~ Scalar matrix multiplication ~~\n\n");
int numRows;
int numColumns;
int scalar;
printf("\nPlease enter the number of rows: ");
scanf("%d", &numRows);
printf("\nPlease enter the number of columns: ");
scanf("%d", &numColumns);
printf("\nPlease enter the scalar multiplier: ");
scanf("%d", &scalar);
scalarMultiplication(numRows, numColumns, scalar);
break;
case 8:
system("clear");
printf("\n ~~ Exponenet ~~\n\n");
double base;
double exp;
printf("\nPlease enter the base: ");
scanf("%lf", &base);
printf("\nPlease enter the exponent: ");
scanf("%lf", &exp);
double num = pow(base, exp);
printf("%lf to the power of %lf is equal to %lf.\n", base, exp, num);
break;
default:
printf("\n Incorrect input, try again.\n");
};
return 0;
};