cli-calculator/main.c

191 lines
5.3 KiB
C
Raw Normal View History

2021-01-29 16:05:36 -05:00
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
2021-04-18 23:21:06 -04:00
#include "formulas.h"
#include "matrices.h"
2021-01-29 16:05:36 -05:00
// to compile use "gcc main.c -lm"
int main()
{
2021-01-29 16:05:36 -05:00
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");
2021-04-19 02:06:46 -04:00
printf("\n 4. Matrix determinant");
2021-04-18 23:19:53 -04:00
printf("\n 5. Matrix addition");
printf("\n 6. * Matrix multiplication *");
printf("\n 7. Scalar matrix multiplication");
2021-04-19 16:19:09 -04:00
printf("\n 8. Exponent");
2021-06-14 22:49:46 -04:00
printf("\n 9. Area of Triangle");
printf("\n 10. Area of Rectangle");
2021-06-14 22:50:11 -04:00
printf("\n 11. Circumference of Circle");
2021-04-19 16:19:09 -04:00
2021-04-18 23:19:53 -04:00
printf("\n\n * Stared entries are not fully programmed.");
printf("\n Enter your choice here:_____");
2021-01-29 16:05:36 -05:00
printf("\033[D");
printf("\033[D");
printf("\033[D");
2021-01-29 16:05:36 -05:00
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");
2021-04-19 16:19:09 -04:00
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);
2021-04-19 16:19:09 -04:00
printf("The Hypotnuse is equal to %lf.\n", hypotenuse(sideA, sideB));
break;
case 2:
system("clear");
2021-04-18 17:54:43 -04:00
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);
2021-04-19 16:19:09 -04:00
printf("The zeros are: %f and %f.\n", awn1ptr, awn2ptr);
break;
case 3:
system("clear");
2021-04-18 17:54:43 -04:00
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);
2021-04-19 16:19:09 -04:00
printf("The area is %f.\n", areaOfCircle(radius));
break;
case 4:
2021-04-18 17:56:33 -04:00
system("clear");
2021-04-19 02:06:46 -04:00
printf("\n ~~ 2*2 Matrix determinant ~~\n\n");
int det;
det = determinant();
2021-04-19 16:19:09 -04:00
printf("\nThe determinant is %d.\n", det);
2021-04-18 17:56:33 -04:00
break;
2021-04-18 23:19:53 -04:00
case 5:
2021-04-18 17:56:33 -04:00
system("clear");
printf("\n ~~ Matrix addition ~~\n\n");
2021-04-18 22:28:42 -04:00
2021-04-18 23:19:53 -04:00
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);
2021-04-18 22:28:42 -04:00
break;
2021-04-18 23:19:53 -04:00
case 6:
2021-04-18 22:28:42 -04:00
system("clear");
printf("\n ~~ Matrix multiplication ~~\n\n");
break;
2021-04-18 23:19:53 -04:00
case 7:
2021-04-18 22:28:42 -04:00
system("clear");
printf("\n ~~ Scalar matrix multiplication ~~\n\n");
int numRows;
int numColumns;
2021-04-27 03:18:35 -04:00
double scalar;
2021-04-18 22:28:42 -04:00
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: ");
2021-04-27 03:18:35 -04:00
scanf("%lf", &scalar);
2021-04-18 22:28:42 -04:00
scalarMultiplication(numRows, numColumns, scalar);
2021-04-18 17:56:33 -04:00
2021-04-19 16:19:09 -04:00
break;
case 8:
system("clear");
printf("\n ~~ Exponenet ~~\n\n");
2021-06-14 22:49:46 -04:00
double base, exp;
2021-04-19 16:19:09 -04:00
printf("\nPlease enter the base: ");
scanf("%lf", &base);
printf("\nPlease enter the exponent: ");
scanf("%lf", &exp);
double num = pow(base, exp);
2021-04-19 16:19:09 -04:00
printf("%lf to the power of %lf is equal to %lf.\n", base, exp, num);
2021-04-18 17:56:33 -04:00
break;
2021-06-14 22:49:46 -04:00
case 9:
system("clear");
printf("\n ~~ Area of Triangle ~~\n\n");
double triBase, triHeight;
printf("\nPlease enter the base: ");
scanf("%lf", &triBase);
printf("\nPlease enter the height: ");
scanf("%lf", &triHeight);
double triArea = areaOfTriangle(triHeight, triBase);
printf("The area of triangle is %lf.\n", triArea);
break;
case 10:
system("clear");
printf("\n ~~ Area of Rectangle ~~\n\n");
double recBase, recHeight;
printf("\nPlease enter the base: ");
scanf("%lf", &recBase);
printf("\nPlease enter the height: ");
scanf("%lf", &recHeight);
double recArea = areaOfRectangle(recHeight, recBase);
printf("The area of rectangle is %lf.\n", recArea);
break;
case 11:
system("clear");
printf("\n ~~ Circumference of a Circle ~~\n\n");
double cirRadius;
printf("\nPlease enter the radius: ");
scanf("%lf", &cirRadius);
double circumference = circumferenceOfCircle(cirRadius);
printf("The circumference is %lf.\n", circumference);
break;
2021-04-18 17:54:43 -04:00
default:
printf("\n Incorrect input, try again.\n");
2021-01-29 16:05:36 -05:00
};
return 0;
};