mirror of
https://github.com/Ladebeze66/cpp-partie-2.git
synced 2026-11-09 13:47:14 +01:00
cpp09
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
/* By: fgras-ca <fgras-ca@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/04 14:56:17 by fgras-ca #+# #+# */
|
||||
/* Updated: 2024/03/04 16:52:42 by fgras-ca ### ########.fr */
|
||||
/* Updated: 2024/03/16 13:28:08 by fgras-ca ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -45,7 +45,7 @@ bool BitcoinExchange::loadPriceData(const std::string& filename)
|
||||
std::cerr << "Error: could not open price data file." << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
std::string line;
|
||||
// Ignorer la première ligne (en-têtes)
|
||||
std::getline(file, line);
|
||||
@@ -64,10 +64,10 @@ bool BitcoinExchange::loadPriceData(const std::string& filename)
|
||||
std::cerr << "Warning: Malformed line skipped -> " << line << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
file.close();
|
||||
// Optionnel: afficher les données chargées pour vérification
|
||||
|
||||
|
||||
/*for (std::map<std::string, float>::const_iterator it = dataBase.begin(); it != dataBase.end(); ++it)
|
||||
{
|
||||
std::cout << "Date: " << it->first << ", Exchange Rate: " << it->second << std::endl;
|
||||
@@ -80,7 +80,7 @@ bool BitcoinExchange::parseLine(const std::string& line, std::string& date, floa
|
||||
std::istringstream iss(line);
|
||||
std::string valueStr;
|
||||
std::getline(iss, date, '|'); // Extrait la date jusqu'au délimiteur '|'.
|
||||
|
||||
|
||||
// Supprime les espaces en début et en fin de 'date'.
|
||||
date.erase(0, date.find_first_not_of(" \t"));
|
||||
date.erase(date.find_last_not_of(" \t") + 1);
|
||||
@@ -93,7 +93,7 @@ bool BitcoinExchange::parseLine(const std::string& line, std::string& date, floa
|
||||
{ // Vérifie la conversion et s'assure qu'il n'y a pas de caractères supplémentaires.
|
||||
return (false);
|
||||
}
|
||||
|
||||
|
||||
return (true);
|
||||
}
|
||||
//Calcule la valeur d'échange du Bitcoin pour un montant donné à une date spécifique
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/* By: fgras-ca <fgras-ca@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/04 14:09:27 by fgras-ca #+# #+# */
|
||||
/* Updated: 2024/03/04 17:31:07 by fgras-ca ### ########.fr */
|
||||
/* Updated: 2024/03/16 13:37:43 by fgras-ca ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -27,6 +27,11 @@ int main(int argc, char **argv)
|
||||
std::cerr << RED << "Error: could not open " << RESET << inputFile << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Ignorer la première ligne
|
||||
std::string header;
|
||||
getline(input, header);
|
||||
|
||||
BitcoinExchange exchange;
|
||||
std::string priceDataFile = "data.csv";
|
||||
if (!exchange.loadPriceData(priceDataFile))
|
||||
@@ -43,9 +48,14 @@ int main(int argc, char **argv)
|
||||
if (exchange.parseLine(line, date, amount))
|
||||
{
|
||||
// Vérifie que la valeur est dans la plage [0, 1000]
|
||||
if (amount < 0 || amount > 1000)
|
||||
if (amount < 0)
|
||||
{
|
||||
std::cout << RED << "Error: Value out of range [0, 1000]." << RESET << std::endl;
|
||||
std::cout << RED << "Error: not a positive number." << RESET << std::endl;
|
||||
continue; // Passe à la ligne suivante si la valeur est hors plage
|
||||
}
|
||||
else if (amount > 1000)
|
||||
{
|
||||
std::cout << RED << "Error: too large a number." << RESET << std::endl;
|
||||
continue; // Passe à la ligne suivante si la valeur est hors plage
|
||||
}
|
||||
// Calcule la valeur d'échange du Bitcoin pour la date et le montant donnés
|
||||
@@ -66,5 +76,3 @@ int main(int argc, char **argv)
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user