Can you use "あげる", "くれる" and "もらう" properly?
"あげる" and "くれる" mean "give" and they are used when someone does something beneficial to a peer.
"あげる" is used to describe the situation from the GIVER's point of view. It may give the impression that the favor is being forcefully imposed and it can sound condescending depending on their relationship or the context.
"くれる" is used to describe the situation from the RECEIVER's point of view. The receiver is close to you, such as one of your family members, colleagues etc and you show appreciation for the person who helps him/her.
"もらう" means "get" and it is used when someone gets someone else to do something beneficial. It is similar to "くれる" but the receiver doesn't have to be close to you. And the subject is different.
- Tom: If you cook for me every night, I'll take the garbage out every morning.
[NG](メグが)毎晩ご飯を作ってあげたら、(僕が)毎朝ゴミを出してくれる。
[OK](メグが)毎晩ご飯を作ってくれたら、(僕が)毎朝ゴミを出してあげる。 - Meg: No way! If I cook for you every night, you can clean the bathroom every night. OK?
[OK]ありえない(不公平だよ)! (私が)毎晩ご飯を作ってあげたら、(トムは)浴室を掃除してくれる?
[NG]ありえない(不公平だよ)! (私が)毎晩ご飯を作ってくれたら、(トムは)浴室を掃除してあげる?
- Ken: My brother gave a gift to his girlfriend.
[OK]弟は彼女にプレゼントをあげた。
[NG]弟は彼女にプレゼントをくれた。
-->Ken can't use "くれる" because the RECEIVER is his brother's girlfriend and she isn't close to him.
[OK]彼女は弟にプレゼントをもらった。 - Ken: My brother's girlfriend made a cake for him.
[OK]彼女は弟にケーキを作ってあげた。
[OK]彼女は弟にケーキを作ってくれた。
-->Ken can use "くれる" because the RECEIVER is his brother.
[OK]弟は彼女にケーキを作ってもらった。
- Leo: Would you like me to show you how to solve the question?
[OK]問題の解き方を教えてあげようか?
-->If they're not close or Ken thinks that he is better at math than Leo, Ken may feel uncomfortable. It depends on their relationship or the context.
[NG]問題の解き方を教えてくれようか? - Ken: Yeah. That would be great! Thanks a lot!
[OK]宿題を手伝ってくれるとありがたい。
[NG]宿題を手伝ってもらうとありがたい。
-->Leo hasn't helped Ken yet so "もらう" can't be used. "もらえる" can be used and it indicates the possibility that Leo helps Ken.
[OK]宿題を手伝ってもらえるとありがたい。