0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 22

Решение из книги Дейтла, не пойму где ошибка.

07.07.2011, 00:41. Показов 1036. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создание нескольких объектов класса GradeBook и использование конструктора GradeBook для спецификации названия курса при создании каждого из объектов GradeBook.
В результате выполнения программы должно получиться:

gradeBook1 created for: CS101 Introduction to C++ Programming
gradeBook2 created for: CS102 Data Structures in C++


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
// 3.7 page 159.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
class GradeBook
{
public:
GradeBook(string name)
{
    setCourseName(name);
}
void setCourseName (string name)
{
    courseName=name;
}
string getCourseName()
{
    return courseName;
}
void displayMessage()
{
    cout<<"Welcome to the GradeBook for\n"<<getCourseName()<<"!"<<endl;
}
private:
    string CourseName;
};
int main()
{
GradeBook1 gradeBook1("CS101 Introduction to C++ Programming");
GradeBook2 gradeBook2("CS102 Data Structures in C++");
cout<<"gradeBook1 created for:"<<gradeBook1.getCourseName()
<<"\ngradeBook2 created for:"<<gradeBook2.getCourseName()
<<endl;
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2011, 00:41
Ответы с готовыми решениями:

Не пойму где ошибка
Всем привет, вот решил написать простенький класс для работы с интернетом и выскакивают какие-то ошибки, не пойму в чем дело, вот эти...

не пойму где ошибка
У меня в архиве программа. Я не пойму почему маткад жалуется на переменную омега. Помогите плиз

Не пойму, где ошибка
Здравствуйте, что-то никак не разберусь в этом куске кода, и почему компилятор нашел там narrowing conversion во второй фигурной скобке...

7
Заблокирован
07.07.2011, 00:43
что говорит компилятор?
0
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 22
07.07.2011, 00:44  [ТС]
1>------ Build started: Project: 3.7 page 159, Configuration: Debug Win32 ------
1>Compiling...
1>3.7 page 159.cpp
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(19) : error C2065: 'courseName' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(23) : error C2065: 'courseName' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(34) : error C2065: 'GradeBook1' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(34) : error C2146: syntax error : missing ';' before identifier 'gradeBook1'
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(34) : error C3861: 'gradeBook1': identifier not found
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(35) : error C2065: 'GradeBook2' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(35) : error C2146: syntax error : missing ';' before identifier 'gradeBook2'
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(35) : error C3861: 'gradeBook2': identifier not found
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(36) : error C2065: 'gradeBook1' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(36) : error C2228: left of '.getCourseName' must have class/struct/union
1> type is ''unknown-type''
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(37) : error C2065: 'gradeBook2' : undeclared identifier
1>c:\documents and settings\администратор\мои документы\visual studio 2008\projects\3.7 page 159\3.7 page 159\3.7 page 159.cpp(37) : error C2228: left of '.getCourseName' must have class/struct/union
1> type is ''unknown-type''
1>Build log was saved at "file://c:\Documents and Settings\Администратор\Мои документы\Visual Studio 2008\Projects\3.7 page 159\3.7 page 159\Debug\BuildLog.htm"
1>3.7 page 159 - 12 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
0
Заблокирован
07.07.2011, 00:46
если компилятор говорит вам вот такие вот страшные вещи:

error C2065: courseName: необъявленный идентификатор
error C2065: courseName: необъявленный идентификатор
error C2065: GradeBook1: необъявленный идентификатор
error C3861: gradeBook1: идентификатор не найден
error C2065: GradeBook2: необъявленный идентификатор
error C3861: gradeBook2: идентификатор не найден


и тп, то я могу сделать предположение, что вы чертовски невнимательное существо.
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
07.07.2011, 00:49
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
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
class GradeBook
{
public:
GradeBook(string name)
{
        setCourseName(name);
}
void setCourseName (string name)
{
        CourseName=name;
}
string getCourseName()
{
        return CourseName;
}
void displayMessage()
{
        cout<<"Welcome to the GradeBook for\n"<<getCourseName()<<"!"<<endl;
}
private:
        string CourseName;
};
 
int main()
{
GradeBook gradeBook1("CS101 Introduction to C++ Programming");
GradeBook gradeBook2("CS102 Data Structures in C++");
cout<<"gradeBook1 created for:"<<gradeBook1.getCourseName()
<<"\ngradeBook2 created for:"<<gradeBook2.getCourseName()
<<endl;
return 0;
}
так хоть компилируеться.

Добавлено через 1 минуту
С++ чувствителен к регистру символов, так что будьте внимательней.
1
Заблокирован
07.07.2011, 00:54
В строке 19:
C++
1
2
3
4
   void setCourseName (string name)
    {
        courseName=name;
    }
А в строке 30:

string CourseName;

Видите? Вы объявили в классе переменную CourseName
А присваивать пытаетесь courseName

С++ разлечает регистры символов.

CourseName написанная с большой буквы и courseName с маленькой - это уже две разных переменных. Вы объявили одну, а присваивать пытаетесь другой.

Добавлено через 3 минуты
ваш класс называется GradeBook

А объекты класса вы создаёте GradeBook1 и GradeBook2

Ну и тп.

Подучите тему "Что такое переменные, и с чем их едят".
И тему "что такое классы, объекты классов. И чем классы отличаются от объектов классов"
0
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 22
07.07.2011, 01:00  [ТС]
Спасибо за ответы. О том, что большие и маленькие буквы в С++ различаются я знаю). Я просто недавно учу программирование, для этого я купила книгу Дейтлов и наивно предполагала, что в ней не должно быть ошибок), теперь буду более внимательной.
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
07.07.2011, 11:17
человеческий фактор будет присутствовать всегда. нужно хотя бы пытаться запоминать имена переменных и функций, а не полагаться только на книгу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2011, 11:17
Помогаю со студенческими работами здесь

Не пойму, где ошибка
Есть проект. При окончании работы программы(запуск из среды VS Express 2008), отладчик выводит ошибку: Код главного файла: ...

не пойму где ошибка
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...

не пойму где ошибка
program laba4; var A:array of integer; i,j,m,n,k,p,max:integer; Begin write('число строк: '); readln(n); ...

Не пойму где ошибка
#include &lt;iostream&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); double a, b; char f; a = 0; f = &quot;+&quot;; ...

Не пойму где ошибка
Помогите исправить код, ошибок он не выдает, но программа почему то не работает, после вводы данных ничего не происходит, ниже условие и...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru