What is %.2f? Why is it not just %f? Is there some additional calculation happening? The half function already does all the calculations including splitting the bill, so I'm not sure what %.2f is.
(Btw why is this code not formatting correctly in lemmy?)
#include
#include
float half(float bill, float tax, int tip);
int main(void)
{
float bill_amount = get_float("Bill before tax and tip: ");
float tax_percent = get_float("Sale Tax Percent: ");
int tip_percent = get_int("Tip percent: ");
printf("You will owe $%.2f each!\n", half(bill_amount, tax_percent, tip_percent));
}
// TODO: Complete the function
float half(float bill, float tax, int tip)
{
bill += (bill * (tax / 100.0));
bill += (bill * (tip / 100.0));
bill /= 2;
return bill;
}
This answer makes me so angry like revisiting trauma from learning programming. I just remember asking questions early on and getting answers more confusing that are even harder to parse
This answer makes me so angry like revisiting trauma from learning programming.
If you bothered to read the documentation, which exists in abundance on the web, in many books, in the built-in manuals of various operating systems and dev tools, and which I also linked in my answer, you would see a full explanation with clear examples.
But you can't be bothered with any of that, and instead expect other people to spend their time writing custom tutorials just for you?
Your anger is misplaced. Please consider taking a walk.
I just remember asking questions early on and getting answers more confusing that are even harder to parse
When you ask people questions about their field of knowledge, and they don't know you, it's reasonable for their answers to assume you know the rudimentary basics. (Just as it would be reasonable for a fourth-year group to assume a that a stranger asking them questions has at least taken the first-year class.) Asking beyond your level of experience is not necessarily bad, but you should be ready to describe what you don't understand about the answer, so that people can either elaborate with a helpful level of detail or send you to a forum more appropriate for your needs. For example:
This is the kind of thing that writing a unit test or a simple console app to try it yourself would be a lot more educational than posting a question online.
If you want multi-line code, you need to put it like this:
For these kinds of questions, your best friend is the documentation. In particular, a man 'printf(3)' yields:
Format of the format string
The format string is a character string, beginning and ending in its initial shift state, if any. The format string is composed of zero or more directives: ordinary characters (not %), which are copied unchanged to the output stream; and conversion
specifications, each of which results in fetching zero or more subsequent arguments. Each conversion specification is introduced by the character %, and ends with a conversion specifier. In between there may be (in this order) zero or more flags, an
optional minimum field width, an optional precision and an optional length modifier.
The overall syntax of a conversion specification is:
If anyone else is wondering why the 3 is there, it's because usually you won't find just one printf. You have the printf user command, the printf function from the standard C library, and POSIX manual entries for both the printf user command and C function. The id number is then an identifier for the corresponding section of the printf entry, and you can list all of them by doing a man -f printf.