Код: ideone . com / ZsPakL (уберите пробелы)
Хочу, чтобы в функции main() вводилось число возраста, а функция papa() определяла это введенное число и делала cout, если число подошло под какую-то конструкцию if(...){...}
Другие языки программирования и технологии
Помогите с решением вопроса (указатели C++)
По указателям можно почитать тут (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 << "пожилой";
}
}
Они нужны:
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 << "пожилой";
}
}
Вообще не понял, зачем там указатели?
Кто мешает передавать возраст как параметр функции?
Кто мешает сделать переменную глобальной?
Кто мешает передавать возраст как параметр функции?
Кто мешает сделать переменную глобальной?
ideone.com/RjZH2u
Могу только порекомендовать решать много интересных задач и читать предупреждения компилятора (настрой его так, чтобы он выдавал все предупреждения, обычно это опция -Wall). Пытайся понять, где ошибся, исправляй и опять читай.. . Только так, через практику. Сейчас мне смешно вспоминать, что я когда-то не понимал указателей. Теперь я вообще не представляю, как без них можно писать.
Могу только порекомендовать решать много интересных задач и читать предупреждения компилятора (настрой его так, чтобы он выдавал все предупреждения, обычно это опция -Wall). Пытайся понять, где ошибся, исправляй и опять читай.. . Только так, через практику. Сейчас мне смешно вспоминать, что я когда-то не понимал указателей. Теперь я вообще не представляю, как без них можно писать.
в данной задаче тебе указатели не нужны
cout << "Вы " << papa(age);
и функцию void papa() поправь на void papa(int age)
cout << "Вы " << papa(age);
и функцию void papa() поправь на void papa(int age)
Почитать про указатели: в интернете часто рекомендуют Архангельского
http ://www.builder-c.narod.ru/Obuchenie.html(удалить пробелы после http)
http ://www.builder-c.narod.ru/Obuchenie.html(удалить пробелы после http)
во-первых - в функцию передавай свой параметр age (или объяви его глобально, но за это руки надо обрывать)
во-вторых - функцию свою вызывай вместо параметра age1 в cout в main
во-вторых - функцию свою вызывай вместо параметра age1 в cout в main
Похожие вопросы
- Помогите с решением задачи на C++
- Когда стоит использовать указатели c++
- да зачем нужны эти указатели ?? C++. Зачем нужны указатели? почему не обойтись без простой переменной??
- Помогите исправить ошибку в программе (c++).
- Ещё тупой вопрос по C++ :)
- Помогите новичку, объясните разницу между C, C++ И C#. и Посоветуйте книгу/видеоуроки или т. п для обучения основ
- Пожалуйста помогите разобраться с даним кодом C++. Тема : Односвязание списки
- Помоги те решить эту задачу C++
- Помогите пожалуйста решить на языке C++
- Вопрос по c++ )