Другие языки программирования и технологии

Помогите с решением вопроса (указатели C++)

Код: ideone . com / ZsPakL (уберите пробелы)
Хочу, чтобы в функции main() вводилось число возраста, а функция papa() определяла это введенное число и делала cout, если число подошло под какую-то конструкцию if(...){...}
По указателям можно почитать тут (https://code-live.ru/post/cpp-pointers/). А вообще-то, в этой статье немного запутано про указатели. Может тут лучше (http://www.youtube.com/watch?v=n8xNIRyj7SQ&list=UUu8GWtWppaY2FSB4RigaO9g).
Они нужны:
1. Что бы получать доступ к значениям других переменных;
2. Что бы менять аргументы функций;
3. Что бы создавать динамические массивы.
-------------------
В этих указателях хранятся адреса. Адреса ячеек памяти = адреса переменных. А не конкретные значения переменных.
-------------------
Могу и ошибаться.
=================================
#include <iostream>
#include <conio.h>
using namespace std;

//объявляем функцию (т. е. говорим, что она существует)
void papa(int age); //тут параметр функции

int main()
{
setlocale(0, "");
cout << "Введите ваш возраст: " << endl; //выводим на сообщение
unsigned short int age, age1; // объявляем переменные

cin >> age; // считываем значение переменной

// запускаем функцию.
papa(age); // В функцию нужно ввести аргумент. В данном случае это возрост.
// Если у тебя функция типа void, то она не возвращает значение, значит
// нужна конструкция не age1 = papa(age), a papa(age). Т. е. мы просто вызываем функцию.

//cout << "Вы " << age1; Это не нужно.

_getch();
return 0;
}
//определяем функцию (т. е. описываем, что она будет делать)
void papa(int age) // и тут параметр функции указываем
{

if (age > 3 && age <= 7)
{
cout << "дошколёнок";
}
if (age >= 8 && age <= 12)
{
cout << "младший школьник";
}
if (age >= 13 && age <= 17)
{
cout << "подросток";
}
if (age >= 18 && age <= 21)
{
cout << "юноша";
}
if (age >= 22 && age <= 35)
{
cout << "зрелый";
}
if (age >= 36 && age <= 60)
{
cout << "старозрелый";
}
if (age >= 61 && age <= 75)
{
cout << "пожилой";
}
}
Сергей Жуковский
Сергей Жуковский
5 430
Лучший ответ
Вообще не понял, зачем там указатели?
Кто мешает передавать возраст как параметр функции?
Кто мешает сделать переменную глобальной?
ideone.com/RjZH2u

Могу только порекомендовать решать много интересных задач и читать предупреждения компилятора (настрой его так, чтобы он выдавал все предупреждения, обычно это опция -Wall). Пытайся понять, где ошибся, исправляй и опять читай.. . Только так, через практику. Сейчас мне смешно вспоминать, что я когда-то не понимал указателей. Теперь я вообще не представляю, как без них можно писать.
J#
Jonn ##
15 444
в данной задаче тебе указатели не нужны
cout << "Вы " << papa(age);

и функцию void papa() поправь на void papa(int age)
В)
Вован )))
4 543
Почитать про указатели: в интернете часто рекомендуют Архангельского
http ://www.builder-c.narod.ru/Obuchenie.html(удалить пробелы после http)
во-первых - в функцию передавай свой параметр age (или объяви его глобально, но за это руки надо обрывать)
во-вторых - функцию свою вызывай вместо параметра age1 в cout в main