Форум программистов, компьютерный форум, киберфорум
Наши страницы

Определить пользовательский класс. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вектор структур, как заполнить определенное поле http://www.cyberforum.ru/cpp-beginners/thread283132.html
Есть вектор структур. В структуре несколько элементов. Заполнил вектор нужными мне элементами, теперь нужно у одного элемента изменить значение только одного поля структуры. Вот структура: struct...
C++ ТЗЛП: метод минимального элемента hi all! Мне нужна помощь в решении транспортной задачи линейного программирования методом минимального элемента в строке. Прикладываю свой вариант алгоритма, который пока "не контачит". ... http://www.cyberforum.ru/cpp-beginners/thread283127.html
C++ обработка одномерного массива
упорядочить по возрастанию только элементы больше 2, а остальные оставить на месте, т.е. их не трогать например, вводим: 1 13 17 -7 14 2 15 получаем: 1 13 14 -7 15 2 17
C++ ребят,посмотрите пожалуйста,мне очень надо решить *(
1. Написать функцию, которая cдвигает циклически столбцы матрицы так, что первый столбец переходит на место второго, второй – на место третьего и т. д., а последний столбец перемещается на место...
C++ "Простые" циклы http://www.cyberforum.ru/cpp-beginners/thread283088.html
Помогите, пожалуйста, сделать Лаб.роботу по С++. Вычислить и вывести значение функции при изменении значения аргумента от А к В с шагом С и определить минимальное и максимальное значение функции на...
C++ Статические и динамические объекты Используя объекты, классы, конструкторы и деструкторы необходимо разработать программу по следующим заданиям. Создать динамический массив объектов класса. Используя статическую переменную в... подробнее

Показать сообщение отдельно
omenufa
1 / 1 / 0
Регистрация: 23.09.2010
Сообщений: 20

Определить пользовательский класс. - C++

25.04.2011, 16:33. Просмотров 2809. Ответов 6
Метки (Все метки)

Доброго времени суток, зашел в тупик в лабораторной) вот задание:

Определить пользовательский класс СТРАНА, имеющий: название страны(char *), форму правления (char *) и площадь (float). Определить в классе конструкторы по умолчанию, с параметрами и копирования; деструктор; функции-элементы печати и установки данных элементов. Предусмотреть защиту от неправильного ввода данных. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения(какой объект был вызван и каким конструктором или дестркутором).

Наработанное:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <iostream>
#include "CTPAHA.h"
using namespace std;
 
CTPAHA::CTPAHA(){
    square=1700000;
    name=new char[255];
    strcpy(name,"Россия");
    form=new char[255];
    strcpy(form,"Федерация");
    printf("Имя: %s \n",name);
    printf("Форма правления: %s \n",form);
    printf("Площадь: %d \n",square);
    printf("Конструктор был вызван без параметров\n");
    printf("--------------------------------------\n");}
 
 
CTPAHA::CTPAHA(char* n, char* f, double s){
    name=new char[strlen(n)+1];
    strcpy(name,n);
    form=new char[strlen(f)+1];
    strcpy(form,f);
    square=s;
    printf("Имя: %s \n",name);
    printf("Форма правления: %s \n",form);
    printf("Площадь: %i \n",square);
    printf("Конструктор был вызван с параметрами\n");
    printf("--------------------------------------\n");}
 
CTPAHA::CTPAHA(CTPAHA &c){
    name=new char[strlen(c.name)+1];
    strcpy(name,c.name);
    form=new char[strlen(c.form)+1];
    strcpy(form,c.form);
    square=c.square;
    printf("Имя: %s \n",name);
    printf("Форма правления: %s \n",form);
    printf("Площадь: %i \n",square);
    printf("Объект был создан с помощью конструктора копирования\n");
    printf("--------------------------------------\n");}
 
void CTPAHA::Show(void){
    printf("Имя: %s \n",name);
    printf("Форма правления: %s \n",form);
    printf("Площадь: %i \n",square);
    printf("--------------------------------------\n");
}
CTPAHA::~CTPAHA(){
    delete [] name;
    delete [] form;
    printf("Вызван деструктор - данные уничтожены\n");
}
void main(){
    setlocale(LC_ALL,"rus_rus.1251");
    char *Name,*Form; double Square;
    CTPAHA C1;
    CTPAHA C2;
    C1.Show();
    C2.Show();
    cout<<"Введите название страны: "<<endl;
    cin>>Name;
    cout<<"Введите форму правления: "<<endl;
    cin>>Form;
    cout<<"Введите площадь: "<<endl;
    cin>>Square;
    CTPAHA C3(Name,Form,Square);
    C3.Show();
    _getch();
    return;
}
Определение класса:

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
using std::cout;
using std::endl;
 
#ifndef CTPAHA_H
#define CTPAHA_H
 
const int LNAME=255;
 
class CTPAHA{
    char *name;
    char *form;
    double square;
public:
    CTPAHA();
    CTPAHA(char*,char*,double);
    CTPAHA(CTPAHA &c);
    void Show();
    ~CTPAHA();
    void Set(char *n,char *f, double s)//установка полей данных
                {
                         name=n;
                         form=f;
                         square=s;
               }
    
};
#endif
Собственно вот в чем загвоздка: как ввести с клавиатуры сами объекты (название страны, форму и площадь) ? И почему то площадь выводится в консоли нулём, вроде спецификаторы формата все правильные, зашел в тупик, прошу помощи. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru