Hello everyone! This is my 1st post here, in fact I just stumbled across these forums as I attempted to solve a problem I have come across. I am a novice programmer trying to teach myself C using IvorHorton's Beginning C 3rd ed.
I'm only at the end of chapter 3 and although I've been enjoying things I'm stumped. One of the exercises in Chapter 3 is to write a simple fahrenheit to celsius converter program. I made what I though was a pretty good fist of it but I can't get it to compile using either Visual C++.Net 2003 or Dev C++. Interestingly, both compilers seem to be complaining not necessarily about my code, but about some lines in the #included stdio header file.
Specifically, VC++ reports error C2059: syntax error : 'type' and the offending line it flags up in stdio.h is:
"typedef _W64 unsigned int size_t;"
Does this have anything to do with the fact that my PC is an Athlon64? Is there perhaps updated header fils I should download, or is my code just borked?![]()
Anyway, here's my source code:
Code:/************************************** * * * Solution to Exercise 3.1, page 140 * * Temperature converter program * * By Steven MacDiarmid. 16/2/05 * * * ************************************/* #include <stdio.h> #include <stdlib.h> int main(void) { int choice; double temp = 0.0, fahr = 0.0, celsius = 0.0; printf("\n*******************************************************"); printf("\nTemperature Converter\n"); printf("\n(C) 2005 SGM Systems"); printf("\n\n1. Convert temperature from degrees Celsius to Fahrenheit."); printf("\n2. Convert temperature from degrees Fahenheit to Celsius."); scanf("%d", &choice); switch(choice) { case 1: printf("\n\nPlease enter a temperature in Celsius: "); scanf("%lf", temp); fahr = temp * 1.8 + 32.0; printf("\n\n%lf degrees F = %lf degrees C", temp, celsius); break; case 2: printf("\n\nPlease enter a temperature in Fahrenheit: "); scanf("%lf", temp); celsius = (temp - 32.0) * 5.0 / 9.0; printf("\n\n%lf degrees C = %lf degrees F", temp, fahr); break; default: printf("\n\nInvalid selection, enter 1 or 2."); break; } system("pause"); return 0; }
I'm sure it's a pretty ham-fisted attempt but given my limited knowledge I think this should compile. If anyone can spot something amiss I'd be very grateful.
Many thanks, Steve



LinkBack URL
About LinkBacks




Thanks. Now to get he damn thing to stop crashing! Thanks for all your patience!