Tính x^n (với x,n là số nguyên bất kỳ) bằng đệ quy

Mã:
#include <iostream.h>
#include <conio.h>
void nhap(int &x, int &n);
long tinh(int x,int n);
void xuat(int x, int n);

void main(){
	int x,n;
	nhap(x,n);
	xuat(x,n);
}
void nhap(int &x, int &n){
	clrscr();
	cout<<"Nhap x (so nguyen): ";
	cin>>x;
	cout<<"Nhap n (so nguyen): ";
	cin>>n;
}
void xuat(int x, int n){
	if ((x==0)&&(n<=0))
		cout<<"Math error!!!...";
	else
		if (n<0)
			cout<<x<<"^("<<n<<") = "<<1/float(tinh(x,-n));
		else
			cout<<x<<"^"<<n<<" = "<<tinh(x,n);
	getch();
}
long tinh(int x, int n){
	if (n==0)
		return 1;
	else
		return x*tinh(x,n-1);
}
Có sai thầy sửa dùm em nha thầy!

----------------------
Admin: Bài này thì tốt không có vấn đề gì, nhưng chú ý cách đặt tên hàm cho dễ nhìn và hợp với phong cách lập trình.