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

Классы. Перегруженные операторы ввода-вывода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++. Ввод, вывод (в консоле) http://www.cyberforum.ru/cpp-beginners/thread1549232.html
Помогите, пожалуйста... Только начал учить С++ а) Напишите программу, которая выводит на экран разным цветом контуры треугольника, квадрата и трапеции. Цвет фона для каждой фигуры выберите по собственному желанию; б) Напишите программу, которая спрашивала у Вас день, месяц и год рождения и выводит их в формате: "Студент Иванов* родился 8-го числа 12-го месяца 1987 года"; в) Выведите значение...
C++ Объявление третьей переменной в функции strtok_s Вот кусок кода: char **context; char *pch = strtok_s(str_text, " ,.", &context); //во втором параметре указаны разделители (пробел, запятая, точка) while (pch != NULL) //пока есть лексемы { cout << pch << endl; pch = strtok_s(NULL, " ,.", &context); } http://www.cyberforum.ru/cpp-beginners/thread1549231.html
Отрисовка в SFML SFML
Уже не раз пытался найти ответ на вопрос как сделать отрисовку в отдельном потоке, ответ был таков что это невозможно. У меня возникла такая проблема: Есть отрисовка фона тайлами 30х30 в основном потоке с множеством других window.draw(), они заполняют только видимую область и создаются в списке (std::list). По кол-ву их получается 1000+, при запуске все начинает дико зависать. Как решить...
"Динамический" вывод в консоль C++
Представим: у нас есть поле (5 на 5, к примеру), где 1 - наш курсор 10000 00000 00000 00000 00000 Мы нажимаем стрелку вправо, и наш "курсор" должен переместиться вправо: 01000 00000 00000
C++ Среднее арифметическое главной и побочной диагоналей матрицы http://www.cyberforum.ru/cpp-beginners/thread1549187.html
Здравствуйте, помогите пожалуйста разобраться с ошибкой :) В текстовом файле на первой строке расположены данные о размерности квадратной матрицы. Начиная со второй строки, расположена сама матрица. Не считывая матрицу в память, найти среднее арифметическое элементов главной и побочной диагонали, дописать найденные значения с пояснительной строкой в конец файла. Например, «Среднее...
C++ Вычислить значение функции заданной разложением в ряд Тейлора Рассчитать сумму членов бесконечного ряда с заданной пользователем точностью е для заданного пользователем значения x є (-1;1) : 1+x^2/2!+x^4/4!+... Подскажите где ошибка, просто только начал программировать, пока тяжело идёт. #include <iostream> #include <conio.h> #include <math.h> #include <clocale> using namespace std; int main () подробнее

Показать сообщение отдельно
L1oN
1 / 1 / 1
Регистрация: 25.03.2015
Сообщений: 59
10.10.2015, 22:56     Классы. Перегруженные операторы ввода-вывода
Есть класс book, который описывает 3 типа данных, то есть автор - char, название книги - char, год - int.
Нужно использовать перегруженный оператор ввода-вывода и вывести на экран инфу о 5 книгах в таком виде (Толстой: Война и Мир, 2015). Пытался сначала понять как сделать это без перегружённого оператора, но даже так не вышло, как только ввожу инфу 1 книги то мне сразу выводит какую-ту хрень мусорную сразу о 5 книгах, при том что ввёл я только имя автора 1 книги, то есть, кратко говоря, непонятные символы и мусор, а ошибка в компиляторе такая - Stack around the variable 't' was corrupted. Подскажите где и как исправить, и как с этого сотворить перегружённый оператор ввода-вывода.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <string.h>
#include <conio.h>
 
class book
{
private:
 char author[20];
 char title[20];
 int year;
 public:
void input(char* n, char* t, int s)
{
 strcpy(author, n);
 strcpy(title, t);
 year = s;
}
void output()
{
    cout << author << ": " << title << ", " << year;
}
};
int main ()
{
 system("cls");
 char name;
 char abook;
 int year = 0;
 
 book t[5];
 for(int i(0);i<5;i++)
 {
     cout << i+1 << " book:" << endl;
     cout << "Author - ";
     cin >> name;
     cout << "\nBook - ";
     cin >> abook;
     cout << "\nYear - ";
     cin >> year;
     t[i].input(&name,&abook,year);
 }
 system("cls");
 for(int i(0);i<5;i++)
 {
     t[i].output();
     cout << endl;
 }
 getch();
 return 0;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru