Chương trình tính tổng 1/n+n/(n+1) bị lỗi "identifier is undefined"

đề là viêt ct tính 1/n+n/(n+1)
sao em viết nó cứ lỗi c2065 n dậy mọi người

Int i,n; k phải dấu ; kìa bạn
S nên khai báo giá trị ban đầu nữa, với nếu chia nguyên với nguyên sao lấy giá trị dc, nên ép kiểu dữ liệu về double

bạn nói rõ hơn về phần ép kiểu được không pn, với s minh khai là double rồi mà

trong kiểu nguyên int, nếu bạn lấy i/i+1 tức là khi chia nó sẽ lấy phần nguyên nha bạn, ví dụ 1/5 =0, chứ không phải bằng 0.2. Nếu muốn chia nếu bạn khai báo kiểu int thì ép về kiểu số thực bằng cách

(double)i/(double)(i+1)

không thì bạn khai báo kiểu double ở trên luôn cũng được, và khi in ra kết quả nên giới hạn số chữ số trong phần số thực lại bằng cách thêm .1f , .2f .

vẫn lỗi pn àT.T

Đối với biến cục bộ (local variable) trước khi sử dụng thì phải được khởi tạo giá trị, nếu không kết quả sẽ sai hoặc không chạy được tuy thuộc vào IDE và compiler.
Trong chương trình của bạn biến S được dùng để tính tổng nhưng nó vẫn chưa được khởi tạo giá trị nên Visual Studio báo lỗi -> sửa lỗi bằng cách gán cho S một giá trị, ví dụ: double S = 0;

rồi tks pn
mà sao trong giáo trình mình ghi là s nếu không gán giá trị thì nó sẽ tương đương bằng không 0

Bạn đọc lại sách đi nhé, nhất là phần phạm vi của biến:

  • Biến cục bộ (local variable): được khai báo bên trong hàm hoặc khối lệnh, và không được khởi tạo bởi hệ thống (nếu chưa được khởi tạo).
  • Biến toàn cục (global variable): được khải báo bên ngoài tất cả các hàm, và được khở tạo bởi hệ thống (nếu chưa được khởi tạo).

Tất cả các biến của bạn (bao gồm cả S) đều được khai báo trong hàm main nên đều là biến cục bộ.

Tham khảo thêm ở đây:
http://www.tutorialspoint.com/cplusplus/cpp_variable_scope.htm

tks pn nhiều lắm nha

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?