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

Учебное расписание: Unresolved externals - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание и вывод двумерного массива http://www.cyberforum.ru/cpp-beginners/thread17082.html
Здравствуйте, помогите пожалуйста написать программку на С++. Необходимо ввести с клавиатуры размеры матрицы, затем рандомно сгенерировать элементы этой матрицы и вывести ее на экран. Значения от 0...
C++ Определить находятся ли данные прямые в общем положении Просьба решить или хотя бы подсказать как можно начать решать такую "простенькую"задачу: Прямая на плоскости может быть задана уравнением ax+by+c=0,где a и b одновременно не равны нулю. Пусть... http://www.cyberforum.ru/cpp-beginners/thread17074.html
C++ Vector
Помогите пожалуйста решить задачу при помощи STL. Дан вектор. Нужно найти максимальное количество подряд идущих нулей. без использования циклов.
C++ Проверить, являются ли данные числа С и D соответственно квадратом и кубом числа А
Составить алгоритм, печатающий значение "Истина" если указанное высказывание является истинным, и "Ложь" в противном случае: данные числа С и D являются соответственно квадратом и кубом числа А. ...
C++ Шифрование содержимого текстового файла http://www.cyberforum.ru/cpp-beginners/thread17047.html
Нужно составить функцию, которая шифрует содержимое заданного текстового файла (например предложение в файле: "Текст из файла"). Нужно заменить каждый символ текста порядковым но*мером первого...
C++ Задача на строки Не знаю как подступиться к задаче,а надо сделать очень срочно,помогите!!! Задана запись из букв,количество букв кратно N.Всего в записи M слов.Длинна слова N.Составить структурированную программу... подробнее

Показать сообщение отдельно
Artyom
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 10

Учебное расписание: Unresolved externals - C++

30.11.2008, 17:10. Просмотров 1361. Ответов 10
Метки (Все метки)

Добрый день!
Мне нужно создать программу в Microsoft Visual Studio 2005 для введения данных, их вывода на экран и проверкой правильности введенных данных. Причем необходимо создать класс с полями, методами, конструкторами инициализации и копирования. Обьявление класса оформить в заголовковом файле *.cpp, реализацию методов в отдельном файле, функцию main в отдельном файле *.cpp, объединить модули в проекте. Одно из полей должно быть динамическим массивом.
Структура данных такова:
Элемент расписания учебы -
номер занятия на неделе(?)(число >=1 и <=30)
день недели(проверка на соответствие строковым константам sun, mon, tue, wed, thu, fri, sat)
номер пары(число >=1 и <=5)
название предмета(без проверки, это поле и должно быть динамическим массивом)

Вот мой код:
файл с методами:
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
// lab2.cpp : Defines the entry point for the console application.
//
#include "lab3.h"
//#include <stdio.h>
#include <iostream>
using namespace std;
 
 
Cstudies::Cstudies(int cnumber_w, char cday[4], int cnumber_s,char *cname)
{       int n = 256;
        Cstudies *cn;
        cn = new Cstudies[n];
        //name=(char *) new(256);
        //Cstudies *cn = NULL;
        cout<<"Constructor...\n";
        number_w = cnumber_w;
        strcpy_s(day,cday);//day=cday;
        number_s = cnumber_s;
        strncpy_s(cname,256,Cstudies::name,256);
        //*name=*cn;
}
Cstudies::Cstudies(const Cstudies &r) { cout<<"\nConstructor of copying...\n";*this=r; }
 
Cstudies::~Cstudies()
{       
    delete[] cn;
}
void Cstudies::Changenumber(void){
    //char *cname=name;
        do
    {
        printf("Input correct week number of studies: ");
        cin>>number_w;
        
    } while ((number_w>30)||(number_w<1));
        do
    {
        printf("Input correct day of studies (sun/mon/tue/wed/thu/fri/sat): ");
        cin>>day;
        
    } while ((strcmp(day,"sun")!=0)&&(strcmp(day,"mon")!=0)&&(strcmp(day,"tue")!=0)&&(strcmp(day,"wed")!=0)&&(strcmp(day,"thu")!=0)&&(strcmp(day,"fri")!=0)&&(strcmp(day,"sat")!=0));
    do
    {
        printf("Input correct day number of studies: ");
        cin>>number_s;
    } while ((number_s<1)||(number_s>6));
    do  
    {
        printf("Input correct name of studies: ");
        cin>>name;
 
            
    } while (1 == 0);
    //strcpy(name,cname);
    //name = (char *) malloc(strlen(cname));
    //name = cname;
    
 
};
 
void Cstudies::Show(void){
    
    cout<<'\n';
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",0xc9,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
       ,0xcb,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcb,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcb,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xbb);
printf("%c   Number   %c       Day       %c   Day Number  %c     Name      %c\n",0xba,0xba,0xba,0xba,0xba,0xba);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",0xcc,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
       ,0xce,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xce,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xce,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xb9);
printf("%c%12d%c%17s%c%15d%c%15s%c\n",0xba,number_w,0xba,day,0xba,number_s,0xba,name,0xba);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",0xc8,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
       ,0xca,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xca,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xca,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xbc);
cout<<'\n';
//  return 0;
};
файл с процедурой main
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
#include "lab3.h"
#include <iostream>
using namespace std;
int main()
{  char c;
        
 
    
    Cstudies studies(1,"mon",1,"oop");
    studies.Show();
    Cstudies CopyStudies(studies);
    CopyStudies.Show();
    studies.Changenumber();
    studies.Show();
            
        for (;;) {
            cout<<"Do you want to change the entries? (y/n)\n";
            cin>>c;
            if (c == 'y')
                {
                    studies.Changenumber();
                    studies.Show();
                    //break;
                } 
            if (c == 'n') break;
            //cout<<"\nError...\nOnly 'y' or 'n'\n";
            
            }
    
    return 0;
}
заголовковый файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Cstudies{
        int number_w;
        char day[4]; //day of week (sun,mon,tue,wed,thu,sat)
        int number_s;
        char *name;
 
        Cstudies *cn;
 
        
 
    public:
    Cstudies(int cnumber_w, char cday[4],int cnumber_s, char *cname);//конструктор (объявление функции конструктора класса)
    Cstudies(const Cstudies &r);
    Cstudies();
    ~Cstudies();
    void Changenumber(void);
    void Show(void);
    void Change(void);
    
};
Вообщем, проблема в том, что при компиляции выдается абсолютно непонятные для меня ошибки:

lab_3_proc.obj : error LNK2019: unresolved external symbol "public: __thiscall Cstudies::Cstudies(void)" (??0Cstudies@@QAE@XZ) referenced in function "public: __thiscall Cstudies::Cstudies(int,char * const,int,char *)" (??0Cstudies@@QAE@HQADHPAD@Z)

C:\Documents and Settings\Администратор\Рабочий стол\lab3\Debug\lab3.exe : fatal error LNK1120: 1 unresolved externals

Искал решение проблемы, в одном из форумов наткнулся на мысль, что проблема в библиотеках. Я подключил все возможные библиотеки, но программа так и не заработала. Все, у кого похожие задания, работали с памятью с помощью malloc и free... Я почитал литературу по C++ и решил сделать, как полагается, с помощью new и delete, но возникли проблемы. Подскажите, пожалуйста, в чем здесь дело.
0
Вложения
Тип файла: zip lab3.zip (1.84 Мб, 24 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru