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

Помогите описать программу ежестрочно!!!!! - C++

Восстановить пароль Регистрация
 
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
03.10.2009, 10:04     Помогите описать программу ежестрочно!!!!! #1
Помогите описать программу ежестрочно!!!!!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
03.10.2009, 10:09  [ТС]     Помогите описать программу ежестрочно!!!!! #2
Цитата Сообщение от gorin Посмотреть сообщение
Помогите описать программу ежестрочно!!!!!
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
#include<iostream.h>
#include<conio.h>
#include<string.h>
class vikno{
private:
int hirina,visota;
float tovhina;
char *name;
public:
    vikno(){hirina=150,visota=75,tovhina=4.5;
    cout<<"Pracue konstruktor za zamovchennyam";}
    vikno(int h,int v,float t){
    hirina=h;visota=v;tovhina=t;name=0;
    cout<<"Pracue konstruktor parametrom tipu int i float";}
    vikno(char *nam);
    int get_hirina(){return hirina;}
    int get_visota(){return visota;}
    float get_tovhina(){return tovhina;}
    vikno::~vikno(){
    delete name;}};
vikno::vikno(char *nam){
    name=new char [strlen(nam)+1];
    strcpy(name,nam);
    cout <<"\nConstruktor Vikno(char *nam)\n";
    cout <<"\n char *name=\""<<name<<"\"\n\n";}
int main(){
    clrscr();
    cout<<"-----------------static_ob'ekt-----------------\n\n";
    vikno Standart(100,58,7.1);
    cout<<"\n Hirina="<<Standart.get_hirina()<<" Sm";
    cout<<"\n Visota="<<Standart.get_visota()<<" Sm";
    cout<<"\n Tovhina="<<Standart.get_tovhina()<<" Sm\n";
    vikno O("string1");
    cout<<"-----------------------------------------------\n\n";
    cout<<"\n\n--------------dinamiheskiy_ob'ekt--------------\n\n";
    vikno *Na_zakaz=new vikno();
    cout<<"\n Hirina="<<Na_zakaz->get_hirina()<<" Sm";
    cout<<"\n Visota="<<Na_zakaz->get_visota()<<" Sm";
    cout<<"\n Tovhina="<<Na_zakaz->get_tovhina()<<" Sm\n";
    vikno *m=new vikno("string2");
    cout<<"----------------------------------------------\n\n";
    delete m;
    delete Na_zakaz;
getch();
return 0;
}
Добавлено через 1 минуту
Кроме Вывода на экран COUT

Добавлено через 2 минуты
Пацаны мне всё программу описывать не нужно мне только две строки
name=new char [strlen(nam)+1];
strcpy(name,nam);
R0mm
Псевдо программист
 Аватар для R0mm
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
03.10.2009, 10:18     Помогите описать программу ежестрочно!!!!! #3
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
#include<iostream.h>//подключаем библиотеку иостреам для cout и cin
#include<conio.h>//подключаем библиотеку конио.х для getch
#include<string.h>//подключаем библиотеку стринг.х для работы со строками
class vikno{//класс Викно
private://приват
int hirina,visota;// ширина, высота
float tovhina;//толщина? оО
char *name;//имя
public://паблик
    vikno(){hirina=150,visota=75,tovhina=4.5;//конструктор без параметров
    cout<<"Pracue konstruktor za zamovchennyam";}//выводим букавик на консоль
    vikno(int h,int v,float t){//конструктор с параметрами
    hirina=h;visota=v;tovhina=t;name=0;//устанавливаем значения
    cout<<"Pracue konstruktor parametrom tipu int i float";}//опять букавки
    vikno(char *nam);//конструктор с параметром - имя
    int get_hirina(){return hirina;}//вернуть ширину
    int get_visota(){return visota;}//вернуть высоту
    float get_tovhina(){return tovhina;}//вернуть толщину? оО
    vikno::~vikno(){//деструктор
    delete name;}};//удаляем все по адресу name
vikno::vikno(char *nam){//описывается конструктор с параметром - имя
    name=new char [strlen(nam)+1];//выделяем память
    strcpy(name,nam);//копируем
    cout <<"\nConstruktor Vikno(char *nam)\n";//выводим в консоль
    cout <<"\n char *name=\""<<name<<"\"\n\n";}//тоже выводим
int main(){//главная функция
    clrscr();//чистим экран
    cout<<"-----------------static_ob'ekt-----------------\n\n";//выводим на консоль
    vikno Standart(100,58,7.1);//создаем экземпляр класса
    cout<<"\n Hirina="<<Standart.get_hirina()<<" Sm";//выводим на консоль ширину
    cout<<"\n Visota="<<Standart.get_visota()<<" Sm";// -//- высоту
    cout<<"\n Tovhina="<<Standart.get_tovhina()<<" Sm\n";// -//- толщину? оО
    vikno O("string1");//еще 1 экземпляр
    cout<<"-----------------------------------------------\n\n";//на консоль - черточки
    cout<<"\n\n--------------dinamiheskiy_ob'ekt--------------\n\n";//теперь букавки
    vikno *Na_zakaz=new vikno();// создаем указатель, и еще 1 экземпляр
    cout<<"\n Hirina="<<Na_zakaz->get_hirina()<<" Sm";//ширину печатает
    cout<<"\n Visota="<<Na_zakaz->get_visota()<<" Sm";//высоту
    cout<<"\n Tovhina="<<Na_zakaz->get_tovhina()<<" Sm\n";//толщину? оО
    vikno *m=new vikno("string2");//еще 1 указатель и экземпляр
    cout<<"----------------------------------------------\n\n";//черточки
    delete m;//чистим память
    delete Na_zakaz;//и еще
getch();//ждем нажатия клавиши на клаве
return 0;//возвращаем нолик
}//скобочка
ничего не пропустил?

Добавлено через 1 минуту
Цитата Сообщение от gorin Посмотреть сообщение
мне только две строки
где были твои мысли 74 секунды назад?
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
03.10.2009, 10:22  [ТС]     Помогите описать программу ежестрочно!!!!! #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
R0mm, Мне нужно

1) name=new char [strlen(nam)+1];
2) strcpy(name,nam)
У меня преподаватель задалбал спрашивает для чего нужен +1
R0mm
Псевдо программист
 Аватар для R0mm
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
03.10.2009, 10:36     Помогите описать программу ежестрочно!!!!! #5
Цитата Сообщение от gorin Посмотреть сообщение
У меня преподаватель задалбал спрашивает для чего нужен +1
дык и правда, зачем там +1 ?
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
03.10.2009, 10:38  [ТС]     Помогите описать программу ежестрочно!!!!! #6
R0mm, Ну так што ти знаеш, чтото +1 добавляет, или обнуляет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2009, 10:50     Помогите описать программу ежестрочно!!!!!
Еще ссылки по теме:

помогите подправить программу C++
Помогите описать функцию, определяющую, упорядочены ли строго по возрастанию элементы в целочисленном массиве C++
C++ Как правильно описать программу для курсовой?
C++ Описать структуру с именем ZNAK и написать программу, работающую с ней.
C++ Описать структуру с именем «Поезд» и написать программу, работающую с ней.

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

Или воспользуйтесь поиском по форуму:
R0mm
Псевдо программист
 Аватар для R0mm
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
03.10.2009, 10:50     Помогите описать программу ежестрочно!!!!! #7
в name[strlen(nam)] пишется признак конца строки ( '\0' ).
Если выделить места new char [strlen(nam)];
То '\0' запишется в name[strlen(nam)] , т.е. за границу массива, но работать будет, пока ты не перетрешь это место чем нибудь еще.

Добавлено через 2 минуты
Пример
nam = "123";
strlen(name) = 3
если создать name = new char[strlen(name)];
то в name хватит места под "123", а вот '\0' запишется в name[3], т.е. за границы массива.

т.о. +1 служит для выделения места под признак конца строки '\0'
Yandex
Объявления
03.10.2009, 10:50     Помогите описать программу ежестрочно!!!!!
Ответ Создать тему
Опции темы

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