// Limits
// Daniel Pereira, 04 November 2022.
// Use limits.h and float.h to access MIN and MIX variables.
#include <stdio.h>
#include <limits.h> // limits on integer types
#include <float.h> // limits on floating point types
int main(int argc, char* argv[])
{
printf("INTEGER TYPE, MIN, MAX.\n");
printf("-----------------------\n");
printf("char, %d, %d\n", CHAR_MIN, CHAR_MAX);
printf("unsigned char, NA, %u\n", UCHAR_MAX);
printf("short, %d, %d\n", SHRT_MIN, SHRT_MAX);
printf("unsigned short,NA,%u\n", USHRT_MAX);
printf("int, %d, %d\n", INT_MIN, INT_MAX);
printf("unsigned int, NA, %u\n", UINT_MAX);
printf("long, %ld, %ld\n", LONG_MIN, LONG_MAX);
printf("unsigned long, NA, %lu\n", ULONG_MAX);
printf("long long, %lld, %lld\n", LLONG_MIN, LLONG_MAX);
printf("unsigned long long, NA, %llu\n\n", ULLONG_MAX);
printf("FLOATING POINT TYPE, MIN, MAX.\n");
printf("------------------------------\n");
printf("Float MIN: %.3e\n", FLT_MIN);
printf("Float MAX: %.3e\n", FLT_MAX);
printf("Double MIN: %.3e\n", DBL_MIN);
printf("Double MAX: %.3e\n", DBL_MAX);
printf("Long Double MIN: %.3Le\n", LDBL_MIN);
printf("Long Double MAX: %.3Le\n", LDBL_MAX);
printf("Number of decimal digits precision of float: %u\n", FLT_DIG);
printf("Number of decimal digits precision of double: %u\n", DBL_DIG);
printf("Number of decimal digits precision of long double: %u\n", LDBL_DIG);
return 0;
}
// climits <limits.h>
// https://devdocs.io/cpp/header/climits
// This header was originally in the C standard library as <limits.h>.
//
// This header is part of the type support library, in particular it's part of the C numeric limits interface.
// <float.h>
// https://www.tutorialspoint.com/c_standard_library/float_h.htm
//
// The float.h header file of the C Standard Library contains a set of various platform-dependent constants related to floating point values. These constants are proposed by ANSI C. They allow making more portable programs.
https://github.com/pereiradaniel/beginning_c/blob/master/ch2/exercises/2_4/exercise2_4.c // Exercise 2-4 // Write a program that prompts for the user’s weekly pay in dollars and the // hours worked to be entered through the keyboard as floating-point values. The program // should then calculate and output the average pay per hour in the following form: // Your average hourly pay rate is 7 dollars and 54 cents. #include <stdio.h> double checkInput(double input, double min, double max); int main(int argc, char* argv[]) { double hours = 0, rate = 0; // Get input for hours: printf("Enter number of hours worked: "); while(hours == 0) { scanf(" %lf", &hours); hours = checkInput(hours, 1, 10000); } // Get input for salary: printf("Enter hourly rate: "); while(rate == 0) { scanf(" %lf", &rate); rate = checkInput(rate, 1, 100); } // Calculate pay:...
https://github.com/pereiradaniel/beginning_c/blob/master/ch2/exercises/2_3/exercise2_3.c // Exercise 2-3 // Daniele Grech Pereira 22 November 2022 // You’re selling a product that’s available in two versions: type 1 is a // standard version priced at $3.50, and type 2 is a deluxe version priced at $5.50. // Write a program using only what you’ve learned up to now that prompts for the user to // enter the product type and a quantity, and then calculates and outputs the price for // the quantity entered. #include <stdio.h> #include <ctype.h> // toupper #include <limits.h> // INT_MAX // FIXED PRODUCT PRICES: #define TYPE1 3.5f // Type1 price #define TYPE2 5.5f // Type2 price // A function that returns the calculated the price. double calculatePrice(int input, int quantity); // A function that validates a user's input. int checkInput(int input, int min, int max); // A function that returns the user's validated input. int getInput(char* msg, int min, int ma...