Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2017, 23:42   #1
alexboliam
Пользователь
 
Регистрация: 10.10.2017
Сообщений: 44
По умолчанию Укажите на ошибки в коде - C++

Здравствуйте, здесь я пытался сделать программу, которая подсчитывала бы значение T, где a,b,c вводит пользователь, сделать надо было это всё используя подпрограммы. Сначала я сделал её с глобальными переменными, но мне сказали переделать её с использованием указателей. При запуске программы, она выдает первую строку мейна и больше ничего, скажите, что здесь не так.
Код:
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;

float Formula(float, float, float);
void Input(float*,float*,float*);
void Solution(float*, float*, float*, float*);
void Browse(float*);

int _tmain(int argc, _TCHAR* argv[]) {
	cout << "Calculate the value of T" << endl;
	void Input(float*, float*, float*);
	void Solution(float*, float*, float*, float*);
	void Browse(float*);
	system("pause");
}
float Formula(float x, float y, float z) {
	return (fmax(x, x+y) + fmax(x, y + z)) / (1 + fmax(x + y*z,1.15));
}
void Input(float* a, float* b, float* c) {
	cout << "enter values of a, b, c : " << endl;
	cin >> *a >> *b >> *c;
}
void Solution(float* T, float* a, float* b, float* c) {
	*T = Formula(*a, *b, *c);
}
void Browse(float* T) {
	cout << "T = " << *T << endl;
}
alexboliam вне форума Ответить с цитированием
Старый 10.12.2017, 23:55   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
При запуске программы, она выдает первую строку мейна и больше ничего
А что она еще должна выдавать? Вы ж больше ничего не написали. Иди читайте, как вызываются функции, что такое параметры и т.д.
p51x вне форума Ответить с цитированием
Старый 11.12.2017, 00:08   #3
alexboliam
Пользователь
 
Регистрация: 10.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А что она еще должна выдавать? Вы ж больше ничего не написали. Иди читайте, как вызываются функции, что такое параметры и т.д.
Выдавать должна значение переменной T. Да, я тут намудрил с указателями и поэтому прошу помочь.
alexboliam вне форума Ответить с цитированием
Старый 11.12.2017, 00:10   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
	
void Input(float*, float*, float*);
void Solution(float*, float*, float*, float*);
void Browse(float*);
Вы серьёзно думаете, что если функции ещё раз написать типы параметров вместо самих параметров - она поймёт, откуда её значения брать?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 11.12.2017, 00:12   #5
alexboliam
Пользователь
 
Регистрация: 10.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А что она еще должна выдавать? Вы ж больше ничего не написали. Иди читайте, как вызываются функции, что такое параметры и т.д.
Вначале код имел такой вид:
Код:
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;

float a,b,c;
float T;
float Formula(float, float, float);
void Input();
void Solution();
void Browse();

int _tmain(int argc, _TCHAR* argv[]) {
	cout << "Calculate the value of T" << endl;
	void Input();
	void Solution();
	void Browse();
	system("pause");
}
float Formula(float x, float y, float z) {
	return (fmax(x, x+y) + fmax(x, y + z)) / (1 + fmax(x + y*z,1.15));
}
void Input() {
	cout << "enter values of a, b, c : " << endl;
	cin >> a >> b >> c;
}
void Solution() {
	T = Formula(a, b, c);
}
void Browse() {
	cout << "T = " << T << endl;
}
alexboliam вне форума Ответить с цитированием
Старый 11.12.2017, 00:12   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Выдавать должна значение переменной T.
Вы ее об этом не просили.

Цитата:
Да, я тут намудрил с указателями и поэтому прошу помочь.
Указатели тут пока непричем. Вы не умеете работать с функциями. Вы не знаете, чем определение отличается от вызова. Прочитайте хотя бы начало главы про функции.

Еще раз:
Код:
void Input();
Это не вызов функции.
p51x вне форума Ответить с цитированием
Старый 11.12.2017, 00:14   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Вначале код имел такой вид:
А зачем Вы его сломали? Нормальный же код был...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 11.12.2017, 00:14   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Нормальный же код был...
Который так же не работал.
p51x вне форума Ответить с цитированием
Старый 11.12.2017, 00:17   #9
alexboliam
Пользователь
 
Регистрация: 10.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Который так же не работал.
До этого он работал, но мне сказали избавиться от глобальных переменных.
alexboliam вне форума Ответить с цитированием
Старый 11.12.2017, 00:19   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Значит он был написан по другому. Код в посте 5 сделает то же, что и ваш из начала темы.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Укажите на ошибки в верстке Bumsta HTML и CSS 0 23.02.2017 12:22
Ошибки в коде.. arh42kem Windows Forms 10 10.04.2013 18:42
Укажите ошибки в программе не давно пишу на си++ zloymag Общие вопросы C/C++ 5 19.12.2009 15:59
Укажите ошибку в коде. DeamoniC Помощь студентам 2 09.06.2009 15:32