You must call your function. This:
cpp
/* evaluate richter number by goingt to richter_d if function */
richter;
Doesn't do anything. Because you've declared a variable named richter it compiles, but when it gets to this line nothing will happend.
You want something like this
cpp
scanf("lf%",&richter_info);
/* evaluate richter number by goingt to richter_d if function */
richter_d(richter_info); // now you're calling the richter_d function and passing it a parameter.
For your function, an FYI.
You can simplify richter_d, demonstrating two principals. First principal is never do anything more than once if you can help it. Since every single one of your responses has the same preamble, we can use that.
Second, and more importantly, avoid redundant logic. When you seen something like this:
cpp
f (richter_info < 5.0) /* First Range*/
else if (richter_info >= 5.0 && richter_info < 5.5) /* Second Range*/
it's helpful to realize that if it gets to the second statement, then it must be >= 5.0. In which case, you can ignore it and make shorter code.
Here's an example:
cpp
void richter_display(double richter_info) {
printf ("A richter number of that magnitude will cause ");
if (richter_info < 5.0) {
printf ("little or no damage.");
} else if (richter_info < 5.5) {
printf ("some damage.");
} else if (richter_info < 6.5) {
printf ("Serious Damage: Walls may crack and fall.");
} else if (richter_info < 7.5) {
printf ("a Disaster: Houses and buildings may collapse");
} else {
printf ("a Catastrophe: Most buildings destroyed.");
}
printf ("\n");
}