mọi người cho em hỏi, em có làm một chương trình về kiểm tra các số ở trong C, code của em phục vụ việc kiểm tra các dạng số như là
//kiemtrasochanle
//kiem tra so nguyen
//kiem tra so nguyen to
// Kiem tra so am duong
//Kiem tra so chinh phuong
//Kiem tra so hoan hao
//Kiem tra so doi xung
//Tim so dao nguoc trong C
// Xoa co hieu
Các hàm xử lý sẽ trả về kết quả là 1 và 0 để kiểm tra, sau mỗi lần xử lý em sẽ dùng hàm XoaCoHieu() nhằmđể đưa cờ hiệu về 0. Nhưng hiện tại đang bị một cái lỗi như sau
[Error] variable or field ‘XoaCoHieu’ declared void. Mn có kinh nghiệm kiểm tra giúp em với ạ.
Sau đây là code của em.
#include<stdio.h>
#include<ctype.h>
#include<math.h>
//kiemtrasochanle
//kiem tra so nguyen
//kiem tra so nguyen to
// Kiem tra so am duong
//Kiem tra so chinh phuong
//Kiem tra so hoan hao
//Kiem tra so doi xung
//Tim so dao nguoc trong C
// Xoa co hieu
int flag = 0;
void NhapSo(int &a)
{
scanf("%d",&a);
}
int KiemTraSoNguyen(int a)
{
if(isdigit(a))
{
flag =1;
}
return flag;
}
int KiemTraSoChanLe(int a)
{
if(a & 1 == 1)
{
flag = 1;
}
return flag;
}
int KiemTraSoNguyenTo(int a)
{
for(int i = 1 ; i <= sqrt(a) ; ++i)
{
if(a%i == 0)
{
flag = 1;
break;
}
}
}
int KiemTraSoAmDuong(int a)
{
if(a>0)
{
flag = 1 ;
return flag;
}
else if(a<0)
{
flag = -1;
return flag;
}
}
int KiemTraSoChinhPhuong(int a)
{
float b;
b = sqrt(a);
if(ceil(b)==floor(b))
{
flag = 1;
}
return flag;
}
int KiemTraSoHoanHao(int a)
{
int tong;
for(int i=1;i<=a;i++)
{
if(a%i==0)
{
tong+=i;
}
}
if(tong==a) flag = 1;
return flag;
}
int KiemTraSoDoiXung(int a)
{
int daoNguoc;
if(a>10)
{
while(a>=1)
{
daoNguoc = daoNguoc * 10 + a % 10;
a/=10;
}
}
if(daoNguoc==a)
{
flag = 1;
}
}
int TimSoDaoNguoc(int a)
{
int daoNguoc;
if(a>10)
{
while(a>=1)
{
daoNguoc = daoNguoc * 10 + a % 10;
a/=10;
}
}
return daoNguoc;
}
void XoaCoHieu(&flag)
{
flag = 0;
}
int main()
{
int a;
int daoNguoc;
do
{
printf("\n Nhap so vao day: ");
NhapSo(a);
}while(a<0);
if(flag==1)
{
printf("\n So %d la so le",a);
XoaCoHieu(flag);
printf("\n So %d so nguyen to",a);
XoaCoHieu(flag);
printf("\n So %d la so nguyen",a);
XoaCoHieu(flag);
printf("\n So %d la so duong",a);
XoaCoHieu(flag);
printf("\n So %d la so chinh phuong",a);
XoaCoHieu(flag);
printf("\n So %d la so hoan hao",a);
XoaCoHieu(flag);
printf("\n So %d la so doi xung",a);
XoaCoHieu(flag);
}
else
{
printf("\n So %d la so chan",a);
XoaCoHieu(flag);
printf("\n So %d không là so nguyen to",a);
XoaCoHieu(flag);
printf("\n So %d không la so nguyen",a);
XoaCoHieu(flag);
printf("\n So %d la so âm",a);
XoaCoHieu(flag);
printf("\n So %d không la so chinh phuong",a);
XoaCoHieu(flag);
printf("\n So %d không la so hoan hao",a);
XoaCoHieu(flag);
printf("\n So %d không la so doi xung",a);
XoaCoHieu(flag);
}
printf("\n So Dao Nguoc cua so a = % d là %d",a,daoNguoc);
return 0;
}