Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
1

Run-Time Check Failure #2 - Stack around the variable 'c' was corrupted

05.05.2019, 15:13. Показов 1511. Ответов 13
Метки c# (Все метки)

Добрый день, уважаемые представители форума.
При решении простейшей задачи возникла такая ошибка: Run-Time Check Failure #2 - Stack around the variable 'c' was corrupted.
Что делать?
Сама задача: Написать программу вычисления площади площади треугольника, если известны длины всех его сторон. Ввести соответствующие переменные, проинициализировать переменные некоторыми значениями, исходные данные и результат расчета вывести на экран. Предусмотреть тестовый пример, который легко решается в уме.

В чем моя ошибка? Помогите, пожалуйста.

Код программы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "pch.h"
#include <iostream>
 
 
int main()
{
    setlocale(0, "rus");
    char a, b, c, p, S;
    p = 0;
    S = 0;
    printf("Введите первую сторону треугольника:\n");
    scanf_s("%d", &a);
    printf("Введите вторую сторону треугольника:\n");
    scanf_s("%d", &b);
    printf("Введите третью сторону треугольника:\n");
    scanf_s("%d", &c);
    p = ((a + b + c) / 2);
    S = sqrt(p * (p - a) * (p - b) * (p - c));
    printf("В результате вычисления площадь треугольника = %d", S);
    return(0);
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2019, 15:13
Ответы с готовыми решениями:

Run-Time Check Failure #2 - Stack around the variable 'n' was corrupted
При вводе значение более трёх символов (это значение конечно можно регулировать) появляется...

Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted
Определить класс вектор (одномерный числовой массив). В класс включить конструктор для определения...

Run-Time Check Failure #2 - Stack around the variable '.' was corrupted
Сделал &quot;меню&quot; для работы со своим стеком. При вводе &quot;0&quot; выходит ошибка &quot;Run-Time Check Failure #2 -...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.
Здравствуйте. Пишу две функции: ввод и вывод целочисленного массива, в конце программы вылетает...

13
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
05.05.2019, 17:00 2
Цитата Сообщение от ExortSS Посмотреть сообщение
C++
1
char a, b, c, p, S;
В типе переменных.
1
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
05.05.2019, 18:46  [ТС] 3
Благодарю за ответ.
Я сделал вот так
C#
1
2
int a, b, c;
char p, S;
но в результате программа выдает неверный ответ, что-нибудь еще может нужно исправить?
0
4333 / 2391 / 995
Регистрация: 07.02.2019
Сообщений: 6,272
05.05.2019, 18:51 4
Цитата Сообщение от ExortSS Посмотреть сообщение
что-нибудь еще может нужно исправить?
тип всех переменных на double
1
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
05.05.2019, 19:19  [ТС] 5
Спасибо, исправил, но всё равно выдаёт что-то кривое в ответ. Почему так?
https://i.ibb.co/bzhG65W/45445.png
0
С чаем беда...
Эксперт CЭксперт С++
9137 / 4656 / 1267
Регистрация: 18.10.2014
Сообщений: 10,493
05.05.2019, 19:21 6
Цитата Сообщение от ExortSS Посмотреть сообщение
Благодарю за ответ.
Я сделал вот так
C++
1
2
int a, b, c;
char p, S;
но в результате программа выдает неверный ответ, что-нибудь еще может нужно исправить?
Вы наугад что-ли код меняете? Какой логикой вы руководствовались, поменяв тип a, b, c, но не поменяв типов p, S?

Цитата Сообщение от ExortSS Посмотреть сообщение
Спасибо, исправил,
Но в scanf у вас все равно осталось %d, так?
1
4333 / 2391 / 995
Регистрация: 07.02.2019
Сообщений: 6,272
05.05.2019, 19:22 7
ExortSS,
C++
1
scanf_s("%lf", &a);
и т.д.
0
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
05.05.2019, 19:36  [ТС] 8
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Какой логикой вы руководствовались, поменяв тип a, b, c, но не поменяв типов p, S?
Руководствовался тем, что стороны треугольника целые числа(без точки), а полупериметр и площадь числа с плавающей точкой, тк там есть корень
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Но в scanf у вас все равно осталось %d, так?
Поменял на %lf в 3 случаях, но все равно выдаёт какое-то паранормальное число
0
4333 / 2391 / 995
Регистрация: 07.02.2019
Сообщений: 6,272
05.05.2019, 19:37 9
Лучший ответ Сообщение было отмечено ExortSS как решение

Решение

Цитата Сообщение от ExortSS Посмотреть сообщение
Поменял на %lf в 3 случаях,
А в четвертом религия не позволяет?
0
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
05.05.2019, 19:44  [ТС] 10
Цитата Сообщение от zayats80888 Посмотреть сообщение
А в четвертом религия не позволяет?
Хах, извиняюсь, увы невнимательность берёт верх.
Спасибо большое за ответы, всё получилось
Всего хорошего вам, господин программист
1
С чаем беда...
Эксперт CЭксперт С++
9137 / 4656 / 1267
Регистрация: 18.10.2014
Сообщений: 10,493
05.05.2019, 20:07 11
Цитата Сообщение от ExortSS Посмотреть сообщение
Руководствовался тем, что стороны треугольника целые числа(без точки), а полупериметр и площадь числа с плавающей точкой, тк там есть корень
И после этого вы объявили последние две с типом char?
0
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
05.05.2019, 23:12  [ТС] 12
Ну да, как преподаватель в универе объяснил, так и сделал. Только на эти знания могу опереться.
Разве нужно как-то подругому выбирать типы переменной?
Если не трудно, объясните новичку, был бы очень признателен.
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
05.05.2019, 23:28 13
Цитата Сообщение от ExortSS Посмотреть сообщение
Если не трудно, объясните новичку, был бы очень признателен.
ExortSS, https://metanit.com/cpp/tutorial/2.3.php
0
1 / 1 / 0
Регистрация: 05.05.2019
Сообщений: 37
06.05.2019, 09:20  [ТС] 14
Благодарю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2019, 09:20

Run-Time Check Failure #2 - Stack around the variable 'C' was corrupted
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { const int n=10;...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Всем привет, начал недавно писать на с++, делаю программу по заполнению и сортировке элементов...

Run time check failure #2 stack around the variable was corrupted
Помогите пожалуйста найти ошибку, только начала писать код и уже не могу найти ошибку void main()...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Добрый день подскажите что это означает и как исправить данное сообщение Run-Time Check Failure #2...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.