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

193
10 сентября 2018, 20:10

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

#include<cs50.h>
#include<stdio.h>
#include<math.h>
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;
}
Answer 1

Вы пытаетесь вывести n все зоны ее существования, обьявите переменную выше попробуйте данный код (код написан без компилятора могут быть ошибки) :) почитайте еще про область видимости

#include<cs50.h>
#include<stdio.h>
#include<math.h>
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;
}
READ ALSO
Exception at 0x7fff0ce8e878, code: 0xc0000005: read access violation at: 0xffffffffffffffff, flags=0x0 (first chance)

Exception at 0x7fff0ce8e878, code: 0xc0000005: read access violation at: 0xffffffffffffffff, flags=0x0 (first chance)

У меня стала возникать ошибка : Exception at 0x7fff0ce8e878, code: 0xc0000005: read access violation at: 0xffffffffffffffff, flags=0x0 (first chance)

331
Проблемы с созданием итератора

Проблемы с созданием итератора

Выполняю вот это заданиеНеобходимо написать итератор на лист векторов

221
бинарное дерево с негативными числами

бинарное дерево с негативными числами

Как написать код для binary tree с негативными числами ? Может есть примеры ?

213