codice:
#include <stdio.h>
#include <ctype.h>

void fartocel(double a){
	printf("\nFarenheit:%6.4f\tCelsius: %6.4f", a, (5.0/9.0)*(a-32.0));
}

void moltiplicazione(double m1, double m2){
gotoxy(1,20);
printf("SFIDA DI MOLTIPLICAZIONI");
}
void allOperator(double ao1, double ao2){
gotoxy(1,20);
printf("SFIDA DI CALCOLO");
}
void sottrazione(double s1, double s2){
gotoxy(1,20);
printf("SFIDA DI SOTTRAZIONI");
}
void divisione(double d1, double d2){
gotoxy(1,20);
printf("SFIDA DI DIVISIONI");
}
void addizione(double a1, double a2){
gotoxy(1,20);
printf("SFIDA DI ADDIZIONI");
}

void scalaConv(void){
	double i,step,min,max;
	printf("Digita i numeri in formato decimale.\n");
	printf("Scrivi il limite minimo(primi gradi farenheit):\t");
	scanf("%lf", &min);
	printf("\nScrivi il limite massimo:\t");
	scanf("%lf",&max);
	(double)min;
	(double)max;
	printf("\nOra digita il salto da fare da una conversione all'altra:\t");
	scanf("%lf", &step);
	(double)step;
	printf("\nFarenheit\tCelsius\n\n");
	for(i=min;i<max;i=i+step){
		printf("%6.4f\t%6.4f\n", i, (5.0/9.0)*(i-32));
		if(i>10000.0){
			printf("Rischi di fare un casino!");
			system("pause");
			exit(0);
		}
	}
}

main(){ 
	int whatdo=0;
init:
	printf("1) Conversioni\t2)Sfida di operazioni\t3) Exit\n");
	scanf("%d", &whatdo);
	if(whatdo==1){
	int choose;
	int choose2;
	conversione:
	printf("\n\n");
	printf("Conversioni\n");
	printf("1)Da farenheit a celsius\t 2)Scala valori farenheit/celsius\n");
	scanf("%d", &choose);
	if(choose==1){
		double fahr=0.0;
		printf("\nInserire gradi farenheit in formato decimale: ");
		scanf("%lf", & fahr);
		(double)fahr;
		fartocel(fahr);
	}
	if(choose==2){
	    scalaConv();
	}
	   
	printf("\n\n1) Rifai \t2) Inizio\t3) Esci");
	scanf("%d", &choose2);
	
	if(choose2==1){
	goto conversione;
	}
	if(choose2==2){
		goto init;
	}
	}
	else if(whatdo==3){
		exit(0);
	}
	else if(whatdo==2){
		int operando;
		printf("\nGara di operazioni.\n");
		printf("N.B.: i numeri che verranno chiesti da qui in poi dovranno essere esplicitamente in formato decimale utilizzando il segno di interpunzione '.'\n");
		printf("1)Moltiplicazione\t2)Divisione\t3)Addizione\t4)Sottrazione\t5)Tutti");
		scanf("%d", &operando);
		double mn,mn2,mn3,mn4,mn5;
		double mx,mx2,mx3,mx4,mx5;
		if(p==1){
			printf("\nScegli il limite min e max dei numeri:\t");
			mn=0.0;
			mx=0.0;
			scanf("%lf", &mn);
			printf("\nMinimo:%6.2f\t", mn);
			scanf("%lf", &mx);
			printf("Massimo:%6.2f\n\n", mx);
			moltiplicazione(mn,mx);
		}
		else if(p==2){
			printf("\nScegli il limite min e max dei numeri:\t");
			mn2=0.0;
			mx2=0.0;
			scanf("%lf", &mn2);
			printf("\nMinimo:%6.2f\t", mn2);
			scanf("%lf", &mx2);
			printf("Massimo:%6.2f\n\n", mx2);
			divisione(mn2,mx2);
		}
		else if(p==3){
			printf("\nScegli il limite min e max dei numeri:\t");
			mn3=0.0;
			mx3=0.0;
			scanf("%lf", &mn3);
			printf("\nMinimo:%6.2f\t", mn3);
			scanf("%lf", &mx3);
			printf("Massimo:%6.2f\n\n", mx3);
			addizione(mn3,mx3);
		}
		else if(p==4){
			printf("\nScegli il limite min e max dei numeri:\t");
			mn4=0.0;
			mx4=0.0;
			scanf("%lf", &mn4);
			printf("\nMinimo:%6.2f\t", mn4);
			scanf("%lf", &mx4);
			printf("Massimo:%6.2f\n\n", mx4);
			sottrazione(mn4,mx4);
		}
		else if(p==5){
			printf("\nScegli il limite min e max dei numeri:\t");
			mn5=0.0;
			mx5=0.0;
			scanf("%lf", &mn5);
			printf("\nMinimo:%6.2f\t", mn5);
			scanf("%lf", &mx5);
			printf("Massimo:%6.2f\n\n", mx5);
			allOperator(mn5,mx5);
		}
	}

	printf("\n\n");
}
Mi dà 13 errori di cui non capisco la logica...

D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 9) : warning C4013: 'gotoxy' undefined; assuming extern returning int
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 46) : warning C4013: 'system' undefined; assuming extern returning int
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 47) : warning C4013: 'exit' undefined; assuming extern returning int
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 95) : error C2143: syntax error : missing ';' before 'type'
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 96) : error C2143: syntax error : missing ';' before 'type'
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 97) : error C2065: 'p' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 99) : error C2065: 'mn' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 99) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 100) : error C2065: 'mx' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 100) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 109) : error C2065: 'mn2' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 109) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 110) : error C2065: 'mx2' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 110) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 119) : error C2065: 'mn3' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 119) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 120) : error C2065: 'mx3' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 120) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 129) : error C2065: 'mn4' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 129) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 130) : error C2065: 'mx4' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 130) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 139) : error C2065: 'mn5' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 139) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 140) : error C2065: 'mx5' : undeclared identifier
D:\Documents and Settings\home\Documenti\Roby\Programmi\C\prova2.c( 140) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data