Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
a1ukard
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 13
#1

Не могу понять логику, обьясните что за чем пожалуйста - C++

13.01.2014, 23:55. Просмотров 466. Ответов 10
Метки нет (Все метки)

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
26
27
28
29
30
31
32
#include <iostream>
using namespace std;
int stonetolb (int); //прототип функции
int main ()
{
    
    int stone;                                         //обьявляем переменную
    cout << "Enter the weight in stone: ";  //выводим на экран строку
    cin >> stone;                                   //вводим эту переменную
    int pounds = stonetolb (stone);           //переменной присваеваем значение
                                                         //функции с аргументом "stone" 
                                                         //тобишь нашей переменной    
    cout << stone << " stone are ";          //выводим нашу переменную в строку
         
    cout << pounds << " pounds.\n";         // начиная с этой части у меня 
                                                         //проблеммы: мы в 10й строке присвоили
                                                         //переменной "pounds" значение функции
                                                        // "stonetolb (stone)" и сразу его выводим
    cin.get();
    cin.get();
    return 0;
    
    }
    
    int stonetolb (int sts)              //функция №2 (пользовательска) 
                                                //прототип у нее тоже в 3-й строке
    {
        
        int pounds = 14 * sts;
        return pounds;                   //куда эти фунты возвращаються? 
        
        }
Так вот не могу понять:
1. Как данные идут по программе?
2. где взялась переменная "sts" если мы ее не обьявляли ?
3. как эти две функции "майн" и "функция №2" между собой работают


Не обязательно расписывать, хотяб в двух словах, а то в книге толком не написано, а я не могу логику этого всего понять.

Спасибо большое за уделенное время.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2014, 23:55     Не могу понять логику, обьясните что за чем пожалуйста
Посмотрите здесь:
Обьясните что не так не могу понять C++
Пожалуйста, не могу понять в чем ошибка C++
Ткните, пожалуйста, носом в ошибку. я не могу понять где, что не так C++
Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема C++
C++ Строки (массив char), указатели. Не могу понять логику! Help!
C++ Нашел в схожей теме не могу понять в чем ошибка. Кроме того как конкретно сделать что были високосные года?
Обьясните пожалуйста , что значат эти строки) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
Заблокирован
14.01.2014, 00:00     Не могу понять логику, обьясните что за чем пожалуйста #2
Цитата Сообщение от a1ukard Посмотреть сообщение
1. Как данные идут по программе?
сверху вниз

Цитата Сообщение от a1ukard Посмотреть сообщение
2. где взялась переменная "sts" если мы ее не обьявляли ?
это просто общее имя тех переменных, для которых вызывается эта функция.


Цитата Сообщение от a1ukard Посмотреть сообщение
3. как эти две функции "майн" и "функция №2" между собой работают
мы из main() вызываем нашу функцию:
C++
1
int pounds = stonetolb (stone);
Цитата Сообщение от a1ukard Посмотреть сообщение
return pounds; //куда эти фунты возвращаються?
туда, откуда мы вызываем функцию, т.е "заносятся" в pounds для main()

C++
1
cout << pounds << " pounds.\n";
это просто вывод значения нашей переменной
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
14.01.2014, 00:03     Не могу понять логику, обьясните что за чем пожалуйста #3
a1ukard,
1. Данные вы вводите с клавиатуры.
C++
1
cin >> stone;
2. Далее вы ваши введенные данные передаете в функцию
C++
1
int pounds = stonetolb (stone);
Возвращаемое значение(результат работы функции) записываете в переменную pounds.
sts - это формальный параметр вашей функции. При вызове функции вы подайте фактический параметр(ваши данные). Т.е инициализируете формальные параметры фактическими.
a1ukard
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 13
14.01.2014, 00:19  [ТС]     Не могу понять логику, обьясните что за чем пожалуйста #4
если "sts" это формальность, то чего когда я например меняю таким образом:
C++
1
2
3
4
5
6
7
    int stonetolb (int gps)
    {
        
        int pounds = 14 * sts; //то на этой строке компилятор выдает ошибку
        return pounds;
        
        }
я к тому что аргумент видимо связан с чемто...но я не могу понять с чем...
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:21     Не могу понять логику, обьясните что за чем пожалуйста #5
a1ukard, тогда тебе нужно поменять и в самой функции
C++
1
2
3
4
5
6
7
int stonetolb (int gps)
    {
        
        int pounds = 14 * gps; //то на этой строке компилятор выдает ошибку
        return pounds;
        
        }
ValeryS
Модератор
6537 / 5003 / 460
Регистрация: 14.02.2011
Сообщений: 16,641
14.01.2014, 00:23     Не могу понять логику, обьясните что за чем пожалуйста #6
Цитата Сообщение от a1ukard Посмотреть сообщение
я к тому что аргумент видимо связан с чемто...но я не могу понять с чем...
связан
это объявление
в теле функции аргумент будет фигурировать под этим именем
это к тому что
Цитата Сообщение от a1ukard Посмотреть сообщение
где взялась переменная "sts" если мы ее не обьявляли ?
объявили как аргумент функции
a1ukard
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 13
14.01.2014, 00:29  [ТС]     Не могу понять логику, обьясните что за чем пожалуйста #7
спасибо, я как раз это и хотел узнать, надо было чье-то подтверждение. А переменная "pounds" возвращается в строчку
C++
1
cout << pounds << " pounds.\n";
да ?
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:53     Не могу понять логику, обьясните что за чем пожалуйста #8
a1ukard, Нет. Чтобы вывести возвращаемое значение нужно
C++
1
std::cout<<stonetolb (stone);
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 392
14.01.2014, 01:00     Не могу понять логику, обьясните что за чем пожалуйста #9
Я вот смотрю тут одни школьники зависают. Си теперь обязательно для изучения в школах? Если нет, то зачем они идут на тот фак где надо учить Си, если даже не знают зачем main() в проге
Ev_Hyper
14.01.2014, 01:17
  #10

Не по теме:

Цитата Сообщение от ilja123 Посмотреть сообщение
Я вот смотрю тут одни школьники зависают. Си теперь обязательно для изучения в школах? Если нет, то зачем они идут на тот фак где надо учить Си, если даже не знают зачем main() в проге
У меня, к примеру, не было вообще в школе программирования. Но на первом курсе был С++ (учусь не на программиста). По началу было непросто, и как и у a1ukard было много всего непрнятного. Лекции и книги практически не помогали.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 01:21     Не могу понять логику, обьясните что за чем пожалуйста
Еще ссылки по теме:
Обьясните пожалуйста что делает эта программа C++
C++ Обьясните пожалуйста, что делает эта программа?
обьясните пожалуйста что делает этот кусок кода с++ C++
Не могу понять в чем ошибка?! C++
C++ Не могу понять в чем ошибка

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

Или воспользуйтесь поиском по форуму:
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 392
14.01.2014, 01:21     Не могу понять логику, обьясните что за чем пожалуйста #11
У меня и в школе и в универе был паскаль Странно Получается никакого регламента нет Все решает препод
Yandex
Объявления
14.01.2014, 01:21     Не могу понять логику, обьясните что за чем пожалуйста
Ответ Создать тему
Опции темы

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