Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 02.05.2017
Сообщений: 92
1

Некорректно работает программа на С/С++

06.10.2017, 11:44. Показов 561. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Запускается программа вот её код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <locale.h>  
#include <stdio.h>
//#include <conio.h>  
#include <math.h>
void main(void)
{
    setlocale(LC_CTYPE, "Russian");
    int x, y;
    int F = 1, S = 0, c = 1, k = 1;
    printf("Введите x и эпсилон\n");
    scanf("%lf", &x);
    scanf("%lf", &y);
    while (fabs(c / F)>y)
    {
        S = S + c / F;
        k += 1;
        c = c*x / 2;
        F = F*k;
    }
    printf("%d\n", S);
    system("pause");
    //getch();
}
Но возникает ошибка которая изображена на рисунке. Устал я уже мучится с этим визуал студио, 2 часа трачу на отладку программы и в итоге прошу помощь на форуме. Просто руки опустились, даны действительные числа x, ε (x ≠ 0,
ε > 0). Вычислить сумму с точностью ε: формула на скриншоте, блок схема алгоритма программы там же.
Миниатюры
Некорректно работает программа на С/С++   Некорректно работает программа на С/С++  
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2017, 11:44
Ответы с готовыми решениями:

Некорректно работает программа на С
Все примеры из учебника используют переменные типа int но мне приходится использовать переменные...

Некорректно работает программа на С/С++
Программа написанная на С++ должна вычислять факториал числа а в итоге не делает ничего кроме как...

Программа, удаляющая повторяющиеся пробелы и табуляции (работает некорректно)
Прошу помощи и детального ( по возможности разбора полетов ) Программа выводит строки где больше...

Определить, сколько времени студент решал задачи (программа работает некорректно)
Данная программа дожна считать минуту и часы. Начиная от заданых минут и часов и заканчивая...

6
3882 / 2480 / 418
Регистрация: 09.09.2017
Сообщений: 10,891
06.10.2017, 11:53 2
C
1
2
3
4
    int x, y;
    int F = 1, S = 0, c = 1, k = 1;
    scanf("%lf", &x);
    scanf("%lf", &y);
Так %lf или int? Я бы предложил оставить %lf, но заменить тип переменных на double
1
2 / 2 / 0
Регистрация: 02.05.2017
Сообщений: 92
06.10.2017, 11:55  [ТС] 3
Да заработала программа. Видать позабыл что написано в начале учебника про типы данных
0
3882 / 2480 / 418
Регистрация: 09.09.2017
Сообщений: 10,891
06.10.2017, 12:44 4
Между прочим, компилятор об этом пытался предупредить:
$ g++ main.cpp -Wall
main.cpp:6:15: error: ‘::main’ must return ‘int’
void main(void)
^
main.cpp: In function ‘int main()’:
main.cpp:12:20: warning: format ‘%lf’ expects argument of type ‘double*’, but argument 2 has type ‘int*’ [-Wformat=]
scanf("%lf", &x);
^
main.cpp:13:20: warning: format ‘%lf’ expects argument of type ‘double*’, but argument 2 has type ‘int*’ [-Wformat=]
scanf("%lf", &y);

номера строк сдвинуты, потому что я выкинул лишние
C
1
2
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
Так что рекомендую выкрутить параноидальность компилятора на максимум. То есть вывод предупреждений и даже трактовку предупреждений как ошибки (в 99% это так и есть).
Ну и исправить объявление main() тоже не помешает
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
06.10.2017, 13:18 5
Цитата Сообщение от viral Посмотреть сообщение
C
1
2
int x;
scanf("%lf"
Вот вы и получаете проблему записи. Именно поэтому в С++ считывание данных сделали безопасным, без указания типа.
0
3882 / 2480 / 418
Регистрация: 09.09.2017
Сообщений: 10,891
06.10.2017, 14:09 6
Но-но, вот не надо в ветке Си агитировать за С++.
Такие мелочи ловятся самим компилятором.
А форматирование std::cout ненамного нагляднее.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
06.10.2017, 14:23 7
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А форматирование std::cout ненамного нагляднее.
я бы даже сказал, что по сравнению с printf форматирование cout вообще никакое. К счастью, С++ позволяет использовать и cout, и printf...
0
06.10.2017, 14:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2017, 14:23
Помогаю со студенческими работами здесь

Некорректно работает программа
Здравствуйте, прошу помощи в выполнении следующего задания: &quot;Дана последовательность содержащая от...

Некорректно работает программа
Добрый вечер ! мне нужно найти произведение всех нечетных элементов массива , но почему то...

Программа работает некорректно
Здравствуйте! Возникла проблема с программой, она работает не так как надо. Нужно из одного...

Некорректно работает программа
Есть программа с использованием множеств. Задание: напечатайте все целые числа, лежащие в диапазоне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru