Hej, czy można napisać w C++ program który zmieni mi wszystkie słowa cout >>, cout >> format() na println()?
Samo println() działa dopiero od gcc 14 i gcc 14.1, na llvm to nie wiem czy już dodali ten standard.
Można już pisać nowoczesne programy w C++26 z println() czy lepiej siedzieć na cout >> format()?
#include <format>
#include <iostream>
using namespace std;
void showBalance(double balance);
double deposit();
double withdraw(double balance);
int main() {
// banking practice program
double balance = 0;
int choice = 0;
do {
cout << "******************\n";
cout << "Enter your choice:\n";
cout << "******************\n";
cout << "1. Show Balance\n";
cout << "2. Deposit Money\n";
cout << "3. Withdraw Money\n";
cout << "4. Exit\n";
cin >> choice;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
switch (choice) {
case 1:
showBalance(balance);
break;
case 2:
balance += deposit();
showBalance(balance);
break;
case 3:
balance -= withdraw(balance);
showBalance(balance);
break;
case 4:
cout << "Thanks for visiting!\n";
break;
default:
cout << "Invalid choice\n";
}
} while (choice != 4);
}
void showBalance(double balance) {
cout << format("Your balance is: ${:.2f}\n", balance);
}
double deposit() {
double amount = 0;
cout << "Enter amount to be deposited: ";
cin >> amount;
if (amount > 0) {
return amount;
} else {
cout << "That's not a valid amount:\n";
return 0;
}
}
double withdraw(double balance) {
double amount = 0;
cout << "Enter amount to be withdrawn: ";
cin >> amount;
if (amount > balance) {
cout << "insufficient funds\n";
return 0;
} else if (amount < 0) {
cout << "That's not a valid amount\n";
return 0;
} else {
return amount;
}
}
#include <print>
#include <iostream>
using namespace std;
void showBalance(double balance);
double deposit();
double withdraw(double balance);
int main() {
// banking practice program
double balance = 0;
int choice = 0;
do {
println("******************");
println("Enter your choice:");
println("******************");
println("1. Show Balance\n");
println("2. Deposit Money\n");
println("3. Withdraw Money\n");
println("4. Exit\n");
cin >> choice;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
switch (choice) {
case 1:
showBalance(balance);
break;
case 2:
balance += deposit();
showBalance(balance);
break;
case 3:
balance -= withdraw(balance);
showBalance(balance);
break;
case 4:
println("Thanks for visiting!\n");
break;
default:
println("Invalid choice\n");
}
} while (choice != 4);
}
void showBalance(double balance) {
println("Your balance is: ${:.2f}\n", balance);
}
double deposit() {
double amount = 0;
println("Enter amount to be deposited: ");
cin >> amount;
if (amount > 0) {
return amount;
} else {
println("That's not a valid amount:\n");
return 0;
}
}
double withdraw(double balance) {
double amount = 0;
println("Enter amount to be withdrawn: ");
cin >> amount;
if (amount > balance) {
println("insufficient funds\n");
return 0;
} else if (amount < 0) {
println("That's not a valid amount\n");
return 0;
} else {
return amount;
}
}