1. ## Starting Out

Hi, brand new to programming and the site so far seems to have helped a lot. Just started today and finished my first little program, which converts celsius and fahrenheit. It seems like I can learn the basic stuff to get started from this website but after that I was looking at getting a book, which one would you guys recommend?

Code:
```#include <stdio.h>
int main()
{
int  y;
printf("--------------------------------\n"
"Temperture Converter\n"
"--------------------------------\n");
while(1) {
printf("1:)Fahrenheit to celsius\n");
printf("2:)Celsius to fahrenheit \n");
scanf("%d", &y);
if(y==1 || y==2){
break;
}
else {
printf("\n%d is not 1 or 2, please try again\n", y);
continue;
}
}
if (y == 1) {
int uent, sol;
float frac;
frac = .555555556;
scanf("%d", &uent);
sol = frac*(uent-32);
printf("The temperture in celsius is: %d\n", sol);
}
else if (y == 2) {
int uent, sol;
float frac;
frac = 1.8;
scanf("%d", &uent);
sol = (frac*uent)+32;
printf("The temperture in fahrenheit is: %d\n\n", sol);
}
getchar();
return 0;
}```

2. It the C board there is a sticky titled C Book Recommendations. Look in there, you'll get a good selection.

3. I wrote a tip on this suggestion but it hasn't been posted yet. There are better ways to get numbers from the user than using scanf() but if you want to use it, you should check the return value. Scanf() returns the total number of data fields it was able to read in correctly. You should loop your program until scanf() succeeds.

Code:
```/* For example: */
int y;
do {
printf("Enter a tempurature:");
_flushall();
/* You will have to flush stdin somehow, with a function that your compiler provides.
*  _flushall() is NOT a standard C function. */
} while ( scanf("%d", &y) != 1);```
I suggest you take a look at the FAQ for tips about getting numbers from the user. That's it, really. You could do other things, but I don't want to load you down with too much while you're still learning the language.

4. Doesn't anybody read FAQ's anymore?