If a student is used to getting As in high school and gets Bs or Cs in their early math or engineering course, they shouldn't consider that a reason to change majors.
There's one problem with that, which I faced. I was getting the B or C in classes like college chemistry and organic chemistry. I told the instructors I was thinking of dropping the class and trying again later, but they told me that A.) my grade was typical, and that it meant I was actually doing decently well in the class; and B.) if I do drop the class, I shouldn't bother trying to take it again, because based on their experience I would end up with the same grade. It was impossible for students to absorb all the material taught, they told me, and if I got a C this time, the next time I took the class I would just forget the other half of the material and get a C again.
This not only seemed to me to be a totally ridiculous way to teach a class -- you actually admit that students can't learn what you're teaching?? -- but this was also a junior college, where anyone who wanted to get a four-year degree would need to transfer to a four-year university. The department prided itself on teaching classes that "prepared you for Berkeley, Stanford, MIT, or any university in the country." The catch, however, was that they handed out grades that made it impossible for their students to transfer to any of those schools. They'd pat you on the back for passing their class, then reward you with the kiss of death that basically ended your education ambitions right there.