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

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

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

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

13.01.2014, 23:55. Просмотров 490. Ответов 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++
программа должна менять цвет bmp файла но при запуске выдает ошибку что 2 неразрешимых внешних элемента есть и все я пробовал разобраться...

Пожалуйста, не могу понять в чем ошибка - C++
Задание: Разработать функцию для вычисления площади поверхности и объема конуса Почему ошибка, не могу понять. Помогите пожалуйста ...

Ткните, пожалуйста, носом в ошибку. я не могу понять где, что не так - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;RUSSIAN&quot;); cout &lt;&lt; &quot;Сколько чисел мы будем...

Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема - C++
При х=3, y= -6 после выполнения фрагмента алгоритма 1. если y&lt;x, то y=y+x 2.если y&lt;0, то y=-y 3. если x&lt;0, то a=x*2 иначе...

Строки (массив 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
Модератор
6558 / 5024 / 464
Регистрация: 14.02.2011
Сообщений: 16,772
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 было много всего непрнятного. Лекции и книги практически не помогали.

ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 392
14.01.2014, 01:21 #11
У меня и в школе и в универе был паскаль Странно Получается никакого регламента нет Все решает препод
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 01:21
Привет! Вот еще темы с ответами:

Обьясните пожалуйста , что значат эти строки) - C++
1)#include &lt;vcl.h&gt; #pragma hdrstop USEFORM(&quot;cursach.cpp&quot;, Form1); WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try ...

Обьясните пожалуйста, что делает эта программа? - C++
#include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #define size unsigned char class Matrix{ size m,n; //Размеры...

Обьясните пожалуйста что делает эта программа - C++
#include &lt;iostream&gt; using namespace std; int main (void) { unsigned char a=(int)127; a&lt;&lt;=2; a&amp;=52; a|=3; ...

обьясните пожалуйста что делает этот кусок кода с++ - C++
/* * Beap Constructor * Beap&lt;Type&gt; :: Beap( int h = 3 ) * * The argument is the default height of the allocated heap. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.01.2014, 01:21
Ответ Создать тему
Опции темы

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