/* Bài 68/10/SBT Thầy NTTMK:Tính S(x,n)=-x^2+x^4+...+(-1^n)*(x^2n) . 198.cpp */
/*
Tác giả: Nguyễn Việt Nam Sơn
Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com
Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé.
Mong giúp đỡ được Bạn trên con đường Học Lập Trình.
TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN
*/
#include<stdio.h>
#include<conio.h>
#include<math.h> //ở đây ta có thể dùng thư viện là #include<cmath> cũng như nhau (chỉ có đối với C++).
void xulydulieu(float &x,int &n)
{
float s=0;
double pow(double y,double z); // dòng này phải khai báo hàm mũ (pow) để sử dụng ở dưới,điều này là bắt buộc đối với C++ còn C chuẩn thì không cần.
printf("Nhap vao x=");
scanf("%f",&x);
do{
printf("\nNhap vao n(n>=1):n=");
scanf("%d",&n);
if(n<1)
printf("So ban nhap vao khong hop le!Xin vui long nhap lai!\n");
else
break;
}while(n<1);
for(int i=1;i<=n;i++)
{
s+=pow(-1,i)*pow(x,2*i); // ở đây s đang ở kiểu số thực và pow cũng đang ở kiểu số thực nên kết quả luôn đúng,nếu s ở số thực mà vế sau nó ở dạng số nguyên thì ta phải nhân thêm 1.0 vào mới đúng được.
}
printf("\nKet qua la:%f",s);
}
void main()
{
int n,tieptuc;
float x;
quaylai:xulydulieu(x,n);
printf("\nBan co muon tiep tuc chay chuong trinh khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc\n");
tieptuc=getch();
if(tieptuc=='c'||tieptuc=='C')
goto quaylai;
}