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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Willy
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
#1

Ошибка или что-то.. - C++

15.12.2008, 02:26. Просмотров 559. Ответов 7
Метки нет (Все метки)

приветствую Вас... как говорится, нид хелп... завтра сдавать программу в универе , да и много чего, мозг выжат... всё, что сумел написать, но она не работает...
вот задание:
D18. Сделать класс "Skaitlu masivs" ( в проге - skmasivs), в который хранится массив (double) длиною 5.
В класе сделать такие методы:
(1) конструктор, который заполняет массив нулём
(2) деструктор, который сообщает о ликвидировании
(3) Метод "менять", который меняет один элемент массива новым элементом
(4) Метод "менять местами", который меняет местами элементы в массиве
(6) метод "Вывод", который выводит массив
(7) метод "Вывод с конца", который выводит массив с конца до начала

Это хедер.
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
#include <iostream>
using namespace std;
 
class skmasivs {
      private:
              double sm[5];
      public:
skmasivs(double a){ //Конструктор
                for (int i=0; i<5; i++) sm[i]=a; 
                };
 
void ch(int c, double b){sm[c]=b;}; // metode "Менять"
void chp(double sm2[4]){ // metode "Менять местами"
            for (int i=0; i<4; i++) sm2[i]=sm[i];
            for (int i=0; i<4; i++) {
                sm[i]=sm[i+1];
                sm[i+1]=sm2[i]; };
void print(){ // metode "Вывод"
            for (int i=0; i<5; i++) cout<<sm[i]<<endl;
            };
void printb(){ // metode "Вывод с конца"
            for (int i=5; i>0; i--) cout<<sm[i]<<endl;
            };
                }
cpp.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "d18.h"
int main(){
    double lm[4],y;
    int x;
    skmasivs n(0);
     skmasivs *des;
    des= new skmasivs(0);
    des->cout<<"Likvidets!"<<endl; // Деструктор
    delete des; 
    
            while((x<0)&&(x>4)){
            cout<<"Ievadiet elementu skaitu (0...4)"<<endl; // Введите элемент
            cin>>x;
            };
            cout<<"Ievadiet Jauno vertibu"<<endl; // Введите новое значение
            cin>>y;
    n.ch(x,y);
    n.chp(lm[4]);
    n.print();
    n.printb();
    system("pause");
    return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2008, 02:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка или что-то.. (C++):

Ошибка VC++ или не понятно что - C++
Вот такое сообщение при выполнение данной программы. Прогамма работает правильно хоть и пропускает пдчеркнутые пункты. Не знаю в чем...

Ошибка в книге или я что то не понимаю ? - C++
Задача по наследованию: Написать класс &quot;Служащие&quot; которые получают только процент от продаж и &quot;Служащие&quot; которые получают % и мин. З\п. ...

Ошибка линкера или что не так с libcurl - C++
Привет всем! Установил libcurl по этому мануалу. Но при компиляции следующая ошибка: Подскажите, что делать? Добавлено через...

Что-то не так с OpenGL или головой, ошибка в один пиксель - C++
Отрисовываю точку и прямоугольник в старой версии OpenGL через GLFW - прямоугольник получается ниже на пиксель. Вот код: В начале , я...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю - C++
Дело в том что при запуске вот этой программы: #include &lt;iostream&gt; using namespace std; int main () { for (int i=100; i&lt;=999;...

Что лучше С++ 6 или С++ 2010 Что выбрать, мое мнение - C++
Что лучше С++ 6 или С++ 2010 Что выбрать, мое мнение Вот я тут на днях думал и пришел к выводу, например если вы хотите чтобы ваша прога...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Безобидный
0 / 0 / 0
Регистрация: 05.12.2008
Сообщений: 4
15.12.2008, 03:00 #2
В header файле реализован конструктор принимающий параметр, но не реализован конструктор по умолчанию, первое что я заметил...
он должен иметь хотя бы такой вид:
Код
skmasivs(){}
О, и еще, разве после реализации каждого метода должна стоять ";"? По моему нет...

И еще меня сильно напрягают вот эти 2 строчки:
Код
    des->cout<<"Likvidets!"<<endl; // Деструктор
    delete des;
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
15.12.2008, 16:15 #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
#include "d18.h"
int main(){
    double lm[4],y;
    int x;
    skmasivs n(0);
     skmasivs *des;
    des= new skmasivs(0);
    des->cout<<"Likvidets!"<<endl; // Деструктор
    delete des; 
    
            while((x<0)&&(x>4)){
            cout<<"Ievadiet elementu skaitu (0...4)"<<endl; // Введите элемент
            cin>>x;
            };
            cout<<"Ievadiet Jauno vertibu"<<endl; // Введите новое значение
            cin>>y;
    n.ch(x,y);
    n.chp(lm[4]);
    n.print();
    n.printb();
    system("pause");
    return 0; 
}
а меня напрегло вот это все заполнение много ошибок
Willy
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
15.12.2008, 18:42  [ТС] #4
вот немного изменил...
хедер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
class skmasivs {
      private:
              double sm[5];
      public:
skmasivs(double);
~skamasivs();
void ch(int, double);
void chp(double);
void print();
void printb();
} ;
методы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "d18.h"
skmasivs::skmasivs(double a){ 
                for (int i=0; i<5; i++) sm[i]=a; 
                }
skmasivs::~skamasivs(){
                       cout<<"Objekts ir iznicinats!"<<endl;
                       }
 
void skmasivs::ch(int c, double b){sm[c]=b;}; 
void skmasivs::chp(double sm2[4]){ 
            for (int i=0; i<4; i++) sm2[i]=sm[i];
            for (int i=0; i<4; i++) {
                sm[i]=sm[i+1];
                sm[i+1]=sm2[i]; }
void skmasivs::print(){ 
            for (int i=0; i<5; i++) cout<<sm[i]<<endl;
            }
void skmasivs::printb(){ 
            for (int i=5; i>0; i--) cout<<sm[i]<<endl;
            }
мейн
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "smm.cpp"
int main(){
    double lm[4],y;
    int x;
    skmasivs n(0);
            while((x<0)&&(x>4)){
            cout<<"Ievadiet elementu skaitu (0...4)"<<endl;
            cin>>x;
            };
            cout<<"Ievadiet Jauno vertibu"<<endl;
            cin>>y;
    n.ch(x,y);
    n.chp(lm[4]);
    n.print();
    n.printb();
    system("pause");
    return 0; 
}
ошибок стало поменьше, но... всё равно не работает (
Безобидный
0 / 0 / 0
Регистрация: 05.12.2008
Сообщений: 4
15.12.2008, 19:08 #5
Аррргх... Где конструктор по умолчанию?
Попробуй так!
header
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
class skmasivs {
      private:
              double sm[5];
      public:
skmasivs(double);
skmasivs(){};
~skamasivs();
void ch(int, double);
void chp(double);
void print();
void printb();
} ;
Willy
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
15.12.2008, 21:17  [ТС] #6
Где конструктор по умолчанию?
Попробуй так!
дык это в методах же пишется... я попробовал как ты, всё равно не пашет ))
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
15.12.2008, 21:51 #7
если у тебя код не пашет и ты ищещ ошибку зделаи для начало все в одном проэкте а не роскидываеи по хидерам .
Willy
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
16.12.2008, 01:09  [ТС] #8
вот это всё у меня в проекте... вот что выдаёт, все ошибки:
Код
1 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp:1,               from main.cpp In file included from smm.cpp:1,               from main.cpp 
1 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\main.cpp                  from main.cpp 
25 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\d18.h expected class-name before '(' token 
1 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\main.cpp In file included from main.cpp 
5 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp expected class-name before '(' token 
5 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp no `skmasivs::~skmasivs()' member function declared in class `skmasivs' 
10 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp prototype for `void skmasivs::chp(double*)' does not match any in class `skmasivs' 
27 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\d18.h void skmasivs::chp(double) 
 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp In member function `void skmasivs::chp(double*)': 
15 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp expected primary-expression before "void" 
15 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp expected `;' before "void" 
18 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp expected primary-expression before "void" 
18 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\smm.cpp expected `;' before "void" 
2 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\main.cpp expected primary-expression before "int" 
2 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\main.cpp expected `;' before "int" 
19 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\main.cpp expected `}' at end of input 
 C:\Users\Willy Fogg\Documents\LU\Programmesana\Progs\LAB4(jr_d18)\Makefile.win [Build Error]  [main.o] Error 1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2008, 01:09
Привет! Вот еще темы с ответами:

Что лучше: динамические массивы, векторы, списки, map контейнеры или что-то ещё? - C++
Привет всем! Помогите правильно алгоритм выбрать. Надо получать из файлов (около 8000 файлов) значения и записать их в массивы или в...

скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? - C++
скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? //анализируем все клетки доски for(int i = 0; i &lt; 8;...

Вложенные CMap или CArray-объекты. Ошибка компилятора или неправильная работа. - C++
Имеется: struct OPER { CString name; //название CString symbol; //обозначение };

Что мне делать или что надо знать перед тем как начать изучение яз.программирования С/С++? - C++
Я пока вообще не умею программировать.Сначала хотел с бейсика или паскаля.Но многие советуют начинать сразу с С/С++.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.12.2008, 01:09
Ответ Создать тему
Опции темы

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