Не видна переменная, объявленная в main - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пишет, что переменная numOne не объявлена, хотя я ее объявил в main.
#include <stdio.h>
 
void plus(void);
void minus(void);
void mult(void);
void div(void);
int main(void)
{
    char operation;
    double numOne,numTwo;
    
    printf("Âûáåðèòå æåëГ*åìóþ îïåðГ*öèþ:\nc. ñëîæåГ*ГЁГҐ        Гў. âû÷èòГ*Г*ГЁГҐ\nГі. ГіГ¬Г*îæåГ*ГЁГҐ       Г¤. äåëåГ*ГЁГҐ\nГЄ. âûõîä ГЁГ§ ïðîãðГ*ììû\n");
    while((operation=getchar())=='Г±' || operation=='Гў' || operation=='Гі' || operation=='Г¤')
    {
                                     switch(operation)
                                     {
                                                     case'Г±':
                                                             plus();
                                                             break;
                                                     case'Гў':
                                                             minus();
                                                             break;
                                                     case'Гі':
                                                             mult();
                                                             break;
                                                     case'Г¤':
                                                             div();
                                                             break;
                                                     default:
                                                             printf("ïðîãðГ*ììГ*Г*Гї îøèáêГ*, operation = %c\n",operation);
                                                             break;
                                     }
                                     printf("Âûáåðèòå æåëГ*åìóþ îïåðГ*öèþ:\nc. ñëîæåГ*ГЁГҐ        Гў. âû÷èòГ*Г*ГЁГҐ\nГі. ГіГ¬Г*îæåГ*ГЁГҐ       Г¤. äåëåГ*ГЁГҐ\nГЄ. âûõîä ГЁГ§ ïðîãðГ*ììû\n");
    }                     
    getchar();
    return 0;
}
void plus(void)
{
     printf("\t**ÑÓÌÌÈÐÎÂÀÍÈÅ**\n\n");
     printf("Ââåäèòå ïåðâåîå ÷èñëî\n");
     scanf("%lf",numOne);
     printf("Ââåäèòå âòîðîå ÷èñëî\n");
     scanf("%lf",numTwo);
     printf("%.4lf + %.4lf = %.4lf",numOne,numTwo,numOne+numTwo);
}
void minus(void)
{
     printf("\t**ÂÛ×ÈÒÀÍÈÅ**\n\n");
     printf("Ââåäèòå óìåГ*ГјГёГ*åìîå\n");
     scanf("%lf",numOne);
     printf("Ââåäèòå âû÷èòГ*åìîå\n");
     scanf("%lf",numTwo);
     printf("%.4lf - %.4lf = %.4lf",numOne,numTwo,numOne-numTwo);
}
void mult(void)
{
     printf("\t**ÓìГ*îæåГ*ГЁГҐ**\n\n");
     printf("Ââåäèòå ïåðâûé Г¬Г*îæèòåëü\n");
     scanf("%lf",numOne);
     printf("Ââåäèòå âòîðîé Г¬Г*îæèòåëü\n");
     scanf("%lf",numTwo);
     printf("%.4lf * %.4lf = %.4lf",numOne,numTwo,numOne*numTwo);
}
void div(void)
{
     printf("\t**ÄÅËÅÍÈÅ**\n\n");
     printf("Ââåäèòå äåëèìîå\n");
     scanf("%lf",numOne);
     printf("Ââåäèòå äåëèòåëü\n");
     scanf("%lf",numTwo);
     if (numTwo==0)
        printf("ÄåëåГ*ГЁГҐ Г*Г* Г*îëü Г*åâîçìîæГ*Г®!Ââåäèòå äåëèòåëü ïîâòîðГ*Г®:\n"); 
     printf("%.4lf / %.4lf = %.4lf",numOne,numTwo,numOne/numTwo);
}
Что насчет проверки корректности ввода, то она будет, решил построить каркас, а тут

Решение задачи: «Не видна переменная, объявленная в main»

textual
Листинг программы
case 'Q': 
    printf("Exit\n");
break;

Объяснение кода листинга программы

  1. В данном коде представлен фрагмент программы на языке C, который обрабатывает некоторое действие, связанное с нажатием определенной клавиши.
  2. Условие if (c == 'Q') проверяет, была ли нажата клавиша 'Q'. Если это так, то выполняется следующий блок кода.
  3. Команда printf(Exit\n); выводит на экран сообщение Exit, если была нажата клавиша 'Q'.
  4. Оператор break; немедленно завершает выполнение текущего блока кода и возвращает управление в основную программу.
  5. В данном коде не объявлены переменные, поэтому нельзя говорить о видимости или невидимости какой-либо переменной.
  6. Ошибки в коде могут быть связаны с неправильным использованием кавычек или синтаксическими ошибками в команде вывода.
  7. Данный фрагмент кода не представляет полноценную программу, поскольку не содержит объявления переменных, функций и основного цикла программы.
  8. Код может быть использован в качестве части более крупной программы, где выполняется обработка ввода пользователя и реализация других функций.
  9. Важно убедиться, что код соответствует стандартам и рекомендациям языка C для обеспечения его корректной работы.
  10. При необходимости, можно добавить дополнительные комментарии к коду для лучшего понимания его работы и целей.
  11. Для более точной диагностики проблемы необходимо знать больше информации о контексте, в котором возникает ошибка.
  12. Код может быть оптимизирован для улучшения производительности или устранения возможных уязвимостей безопасности.
  13. Важно следовать принципам хорошего программирования, таким как читаемость, понятность и поддерживаемость кода.
  14. Для отладки кода можно использовать инструменты и методы, такие как добавление операторов отладки, проверка значений переменных и использование шаговой отладки.
  15. Код может быть проверен на соответствие стандартам безопасности, таким как проверка входных данных и обработка ошибок.
  16. Важно учитывать контекст, в котором возникает проблема, чтобы предложить наиболее подходящее решение.
  17. Код может быть проверен на соответствие стандартам производительности, таким как оптимизация алгоритмов и использование эффективных структур данных.
  18. Для улучшения читаемости кода можно использовать понятные и осмысленные имена переменных, функций и структур данных.
  19. Важно обеспечить правильную передачу контекста и деталей проблемы, чтобы получить наиболее точный и полезный совет.
  20. Код может быть проверен на соответствие стандартам совместимости, таким как совместимость с различными компиляторами и платформами.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы