diff --git a/index2.js b/index2.js new file mode 100644 index 00000000..fb64e797 --- /dev/null +++ b/index2.js @@ -0,0 +1,129 @@ +// Temperature data variables +const day1TempF = 32; +const day2TempC = 25; +const day3TempF = 70; +const day4TempC = 18; +const day5TempF = 80; +const day6TempC = 15; +const day7TempF = 72; +const day8TempC = 28; +const day9TempF = 68; +const day10TempC = 20; +const day11TempF = 75; +const day12TempC = 23; +const day13TempF = 82; +const day14TempC = 30; +const day15TempF = 65; +const day16TempC = 22; +const day17TempF = 77; +const day18TempC = 26; +const day19TempF = 78; +const day20TempC = 24; +const day21TempF = 73; +const day22TempC = 21; +const day23TempF = 79; +const day24TempC = 27; +const day25TempF = 71; +const day26TempC = 19; +const day27TempF = 74; +const day28TempC = 17; +const day29TempF = 76; +const day30TempC = 29; + +// Conversion functions +function fahrenheitToCelsius(tempF) { + return (tempF - 32) * 5 / 9; +} + +function celsiusToFahrenheit(tempC) { + return (tempC * 9 / 5) + 32; +} + +// Convert all temperatures to both units +const allTempsCelsius = [ + fahrenheitToCelsius(day1TempF), // Convert F to C + day2TempC, // Already in C + fahrenheitToCelsius(day3TempF), + day4TempC, + fahrenheitToCelsius(day5TempF), + day6TempC, + fahrenheitToCelsius(day7TempF), + day8TempC, + fahrenheitToCelsius(day9TempF), + day10TempC, + fahrenheitToCelsius(day11TempF), + day12TempC, + fahrenheitToCelsius(day13TempF), + day14TempC, + fahrenheitToCelsius(day15TempF), + day16TempC, + fahrenheitToCelsius(day17TempF), + day18TempC, + fahrenheitToCelsius(day19TempF), + day20TempC, + fahrenheitToCelsius(day21TempF), + day22TempC, + fahrenheitToCelsius(day23TempF), + day24TempC, + fahrenheitToCelsius(day25TempF), + day26TempC, + fahrenheitToCelsius(day27TempF), + day28TempC, + fahrenheitToCelsius(day29TempF), + day30TempC +]; + +const allTempsFahrenheit = [ + day1TempF, // Already in F + celsiusToFahrenheit(day2TempC), // Convert C to F + day3TempF, + celsiusToFahrenheit(day4TempC), + day5TempF, + celsiusToFahrenheit(day6TempC), + day7TempF, + celsiusToFahrenheit(day8TempC), + day9TempF, + celsiusToFahrenheit(day10TempC), + day11TempF, + celsiusToFahrenheit(day12TempC), + day13TempF, + celsiusToFahrenheit(day14TempC), + day15TempF, + celsiusToFahrenheit(day16TempC), + day17TempF, + celsiusToFahrenheit(day18TempC), + day19TempF, + celsiusToFahrenheit(day20TempC), + day21TempF, + celsiusToFahrenheit(day22TempC), + day23TempF, + celsiusToFahrenheit(day24TempC), + day25TempF, + celsiusToFahrenheit(day26TempC), + day27TempF, + celsiusToFahrenheit(day28TempC), + day29TempF, + celsiusToFahrenheit(day30TempC) +]; + +// Calculate totals +const tot_temperature_in_celsius = allTempsCelsius.reduce((sum, temp) => sum + temp, 0); +const tot_temperature_in_fahrenheit = allTempsFahrenheit.reduce((sum, temp) => sum + temp, 0); + +// Calculate averages +const avg_temperature_in_celsius = tot_temperature_in_celsius / allTempsCelsius.length; +const avg_temperature_in_fahrenheit = tot_temperature_in_fahrenheit / allTempsFahrenheit.length; + +// Console logs for inspection +console.log('Total Celsius:', tot_temperature_in_celsius); +console.log('Total Fahrenheit:', tot_temperature_in_fahrenheit); +console.log('Average Celsius:', avg_temperature_in_celsius); +console.log('Average Fahrenheit:', avg_temperature_in_fahrenheit); + +// Export for tests +module.exports = { + tot_temperature_in_fahrenheit, + tot_temperature_in_celsius, + avg_temperature_in_fahrenheit, + avg_temperature_in_celsius +};