Страницы

Поиск по вопросам

вторник, 31 марта 2020 г.

Помогите исправить ошибку: use of undeclared identifier 'n'

#cpp #c #cs50


Помогите исправить ошибку в программе по подсчету кол. монет. Когда начинаю компилировать
вылетает ошибка: 
use of undeclared identifier 'n'
В программировании я полный новичок, поэтому не исключено, что весь мой код одна
сплошная ошибка, но насколько я понял компилятор не видит где описывается n, хотя я
описал ее в 15 строке

#include
#include
#include
float GetMyFloat();
int main(void)
{
    printf("Сдача: ");
    float i = GetMyFloat();

    float a = 0.25;
    float b = 0.10;
    float c = 0.05;
    float d = 0.01;

    for (float n = 0; n>0.0; n=n+1)
    {
      if (i>=a)
      {
        i = i-a;
      }
      else if(i>=b)
      {
        i = i-b;
      }
      else if (i>=c)
      {
        i = i-c;
      }
      else if (i>=d)
      {
        i = i-d;
      }

    }
    printf("\n");
    printf("%i\n", n);

}

float GetMyFloat(void)
{
    float i;
    do
    {

      i = get_float();
      while (i<1)
      {
          printf ("Число должно быть больше 0!\n");
          printf("Сдача: ");
          i = get_float();
      }
    }
      while (i<1);
      return i;
}

    


Ответы

Ответ 1



Вы пытаетесь вывести n все зоны ее существования, обьявите переменную выше попробуйте данный код (код написан без компилятора могут быть ошибки) :) почитайте еще про область видимости #include #include #include using namespace std; float GetMyFloat(); int main(void) { cout << "Сдача: "; float i = GetMyFloat(); float a = 0.25; float b = 0.10; float c = 0.05; float d = 0.01; float n = 0; for (n>=0.0; n++) { if (i>=a) { i = i-a; } else if(i>=b) { i = i-b; } else if (i>=c) { i = i-c; } else if (i>=d) { i = i-d; } } cout << "\n" << "%i\n" << n; } float GetMyFloat(void) { float i; do { i = get_float(); while (i<1) { printf ("Число должно быть больше 0!\n"); printf("Сдача: "); i = get_float(); } } while (i<1); return i; }

Комментариев нет:

Отправить комментарий