Ошибки "... was not declared in this scope" - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите пожалуйста разобраться с ошибками.
1. In function 'int main(int, char**)':
2. 'nn' was not declared in this scope
3. 'nk' was not declared in this scope
4. 'S' was not declared in this scope
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <cmath> int main (int argc, char *argv[]) { double k, s; do { printf ("\nEnter k "); scanf ("%f",&k); if (k<=0) { printf ("\nWrong input,please try again"); } } while (k<=0); for(k = nn; k <= nk; k++) s += (k*k - pow(-1.0, k-1)*2*k -1)/(k*k +8); printf ("\nS= "); printf("%f", S); system("pause"); return 0; }
Решение задачи: «Ошибки "... was not declared in this scope"»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <cmath> int main (int argc, char *argv[]) { int s, nn, nk, k; do { printf ("\nEnter nn "); scanf ("%f",&nn); if (nn<=0) printf ("\nWrong input,please try again "); } while (nn<=0); do { printf ("\nEnter nk "); scanf ("%f",&nk); if (nk<=0) printf ("\nWrong input,please try again "); } while (nk<=nn); { s=0; for(k = nn; k <= nk; k++) s += (k*k - pow(-1.0, k-1)*2*k -1)/(k*k +8); } printf ("\ns= "); printf("%f", s); system("pause"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с вводом/выводом и математическими функциями
- Объявляем переменные
s
,nn
,nk
,k
для хранения целочисленных значений - Запускаем цикл
do-while
, который будет выполняться до тех пор, пока пользователь не введет корректное значение дляnn
(больше 0) - Внутри цикла
do-while
выводим приглашение для ввода значенияnn
- С помощью функции
scanf
считываем введенное значение и сохраняем его в переменнуюnn
- Проверяем, что введенное значение больше или равно 0. Если это не так, выводим сообщение об ошибке и просим пользователя повторить ввод
- Запускаем второй цикл
do-while
, который будет выполняться до тех пор, пока пользователь не введет корректное значение дляnk
(больше или равноnn
) - Внутри цикла
do-while
выводим приглашение для ввода значенияnk
- С помощью функции
scanf
считываем введенное значение и сохраняем его в переменнуюnk
- Проверяем, что введенное значение больше или равно 0. Если это не так, выводим сообщение об ошибке и просим пользователя повторить ввод
- Переходим к следующему блоку кода, где объявляем переменную
s
и инициализируем ее значением 0 - Запускаем цикл
for
, который будет выполняться отnn
доnk
(включительно) - Внутри цикла
for
вычисляем значениеs
с помощью формулы(k*k - pow(-1.0, k-1)*2*k -1)/(k*k +8)
и добавляем его к текущему значению переменнойs
- После завершения цикла
for
выводим значение переменнойs
- Запускаем функцию
system(
pause`), чтобы программа ожидала нажатия клавиши пользователя перед завершением - Возвращаем 0, чтобы указать, что программа успешно завершилась
- Код не содержит ошибок компиляции, поэтому программа будет успешно выполнена без каких-либо сообщений об ошибках.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д