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

Прокомментировать код - C++

Восстановить пароль Регистрация
 
alexboy
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 5
03.11.2010, 13:42     Прокомментировать код #1
Добрый день.
Для тех у кого времени хватает и нечем заняться, просьба прокомментировать след. код :
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
// A simple computerized telephone directory.
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int i;
char str[80];
char numbers[10][80] = {
"Tom", "555-3322",
"Mary", "555-8976",
"Jon", "555-1037",
"Rachel", "555-1400",
"Sherry", "555-8873"
};
cout << "Enter name: ";
cin >> str;
for(i=0; i < 10; i += 2)
if(!strcmp(str, numbers[i])) {
cout << "Number is " << numbers[i+1] << "\n";
break;
}
if(i == 10) cout << "Not found.\n";
return 0;
}
Выглядит смешно, но надо курсач сдавать... а времени нету на его(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2010, 13:42     Прокомментировать код
Посмотрите здесь:

C++ Прокомментировать код
C++ Прокомментировать код
C++ Прокомментировать код
C++ Прокомментировать код
C++ Прокомментировать код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.11.2010, 14:18     Прокомментировать код #2
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
#include <iostream>//Ввод-вывод
#include <cstdio>//Ввод-вывод. На кой?
using namespace std;//Подключение пространства имен
int main()
{
int i;
char str[80];
//Двумерный массив имен и номеров
char numbers[10][80] = {
"Tom", "555-3322",
"Mary", "555-8976",
"Jon", "555-1037",
"Rachel", "555-1400",
"Sherry", "555-8873"
};
cout << "Enter name: ";
cin >> str;
for(i=0; i < 10; i += 2)
//Если строки равны
if(!strcmp(str, numbers[i])) {
//Выводим  номер.
cout << "Number is " << numbers[i+1] << "\n";
//Выходим из цикла
break;
}
//Если i=10 имя не найдено
if(i == 10) cout << "Not found.\n";
return 0;
}
Как-то так. Елы-палы. Юзайте map
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
03.11.2010, 14:21     Прокомментировать код #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
#include <iostream> //директивы препроцессора
#include <cstdio>
using namespace std;//объявляем пространство имен std
int main()// начало главной ф-ции
{
    //объявление переменной и массивов
int i;
char str[80];
char numbers[10][80] = {
"Tom", "555-3322",
"Mary", "555-8976",
"Jon", "555-1037",
"Rachel", "555-1400",
"Sherry", "555-8873"
};
cout << "Enter name: ";//Вывод на экран фразы Enter name:
cin >> str;//считывание с клавиатуры символов в массив str
for(i=0; i < 10; i += 2)//цикл
if(!strcmp(str, numbers[i])) {//ф-ция strcmp сравнивает две строки и возвращает целое значение, 
//если str<numbers[i], возвращает значение <0, если str>numbers[i], больше 0, 
//если str=numbers[i], возвращает 0
cout << "Number is " << numbers[i+1] << "\n";
break;
}
if(i == 10) cout << "Not found.\n";
return 0;
}

Не по теме:

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

alexboy
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 5
03.11.2010, 16:12  [ТС]     Прокомментировать код #4
Опоп, красавчики. И будет шикарно если еще и с этим подсобите.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// A simple example using an object pointer.
#include <iostream>
 
using namespace std;
 
class P_example {
 
int num;
 
public:
void set_num(int val) { num = val; }
void show_num(){ cout << num << "\n"; }
};
int main()
{
P_example ob, *p; // declare an object and pointer to it
ob.set_num(1); // call functions directly on ob
ob.show_num();
p = &ob; // assign p the address of ob
p->set_num(20); // call functions through a pointer to ob
p->show_num();
return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.11.2010, 16:24     Прокомментировать код #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
#include <iostream>//Ввод-вывод
 
using namespace std;//std
//Класс
class P_example {
 
int num;
 
public:
//Установка значения
void set_num(int val) { num = val; }
//Вывод значения
void show_num(){ cout << num << "\n"; }
};
int main()
{
//Создание указателя и переменной
P_example ob, *p; // declare an object and pointer to it
//Устанавливаем значение для Объекта Ob
ob.set_num(1); // call functions directly on ob
//Выводим его
ob.show_num();
//Устаналиваем значение для указателя, адрес переменной Ob
p = &ob; // assign p the address of ob
//Ставим значение для p
p->set_num(20); // call functions through a pointer to ob
//Выводим
p->show_num();
return 0;
}
alexboy
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 5
03.11.2010, 18:21  [ТС]     Прокомментировать код #6
Нуу блин, ForEveR, огромное спасибо! А может экстра задание еше ? но уже, ты меня спас, курсач будет завтро сдан (whew)

// A multilevel hierarchy.
#include <iostream>
#include <cstring>
using namespace std;
// A class for two-dimensional objects.
class TwoDShape {
// these are private
double width;
double height;
public:
// Default constructor.
TwoDShape() {
width = height = 0.0;
}
// Constructor for TwoDShape.
TwoDShape(double w, double h) {
width = w;
height = h;
}
// Construct object with equal width and height.
TwoDShape(double x) {
width = height = x;
}
void showDim() {
cout << "Width and height are " <<
width << " and " << height << "\n";
}
// accessor functions
double getWidth() { return width; }
double getHeight() { return height; }
void setWidth(double w) { width = w; }
void setHeight(double h) { height = h; }
};
// Triangle is derived from TwoDShape.
class Triangle : public TwoDShape {
char style[20]; // now private
public:
/* A default constructor. This automatically invokes
the default constructor of TwoDShape. */
Triangle() {
strcpy(style, "unknown");
}
// Constructor with three parameters.
Triangle(char *str, double w,
double h) : TwoDShape(w, h) {
strcpy(style, str);
}
// Construct an isosceles triangle.
Triangle(double x) : TwoDShape(x) {
strcpy(style, "isosceles");
}
double area() {
return getWidth() * getHeight() / 2;
}
void showStyle() {
cout << "Triangle is " << style << "\n";
}
};
// Extend Triangle.
class ColorTriangle : public Triangle {
char color[20];
public:
ColorTriangle(char *clr, char *style, double w,
double h) : Triangle(style, w, h) {
strcpy(color, clr);
}
// Display the color.
void showColor() {
cout << "Color is " << color << "\n";
}
};
int main() {
ColorTriangle t1("Blue", "right", 8.0, 12.0);
ColorTriangle t2("Red", "isosceles", 2.0, 2.0);
cout << "Info for t1:\n";
t1.showStyle();
t1.showDim();
t1.showColor();
cout << "Area is " << t1.area() << "\n";
cout << "\n";
cout << "Info for t2:\n";
t2.showStyle();
t2.showDim();
t2.showColor();
cout << "Area is " << t2.area() << "\n";
return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.11.2010, 18:32     Прокомментировать код #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
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
// A multilevel hierarchy.
#include <iostream>//Ввод-вывод
#include <cstring>//C-строки
using namespace std;//std
// A class for two-dimensional objects.
//Класс фигуры
class TwoDShape {
// these are private
//Ширина
double width;
//Высота
double height;
public:
// Конструктор без параметров
TwoDShape() {
width = height = 0.0;
}
// Конструктор с двумя параметрами. 
//Высота становится равна второму параметру, ширина - первому
TwoDShape(double w, double h) {
width = w;
height = h;
}
// Конструктор, который делает высоту и ширину равными x.
//Не вижу смысла, ИМХО лучше сделать конструктор с двумя параметрами
//один параметр в нем по умолчанию
TwoDShape(double x) {
width = height = x;
}
//Выводит ширину в стандартный поток вывода
void showDim() {
cout << "Width and height are " <<
width << " and " << height << "\n";
}
// accessor functions
//Возвращает ширину
double getWidth() { return width; }
//Возвращает высоту
double getHeight() { return height; }
//Устанавливает ширину
void setWidth(double w) { width = w; }
//Устанавливает высоту
void setHeight(double h) { height = h; }
};
// Треугольник, наследуется от класса фигуры
class Triangle : public TwoDShape {
//Строка стиль
char style[20]; // now private
public:
//Конструктор по умолчанию без параметров. Копирует строку в style
Triangle() {
strcpy(style, "unknown");
}
// Конструктор с тремя параметрами.
//Первый строка, остальные высота и ширина
//который передаются в конструктор класса фигура
Triangle(char *str, double w,
double h) : TwoDShape(w, h) {
strcpy(style, str);
}
//Конструктор с одним параметром.
//Высота и ширина будут одинаковые
Triangle(double x) : TwoDShape(x) {
strcpy(style, "isosceles");
}
//Функция вычисления площади
double area() {
//Умножаем ширину на высоту, делим на 2 и возвращаем значение
return getWidth() * getHeight() / 2;
}
//Вывод стиля треугольника в ст. поток вывода
void showStyle() {
cout << "Triangle is " << style << "\n";
}
};
// Цветной треугольник (?), производный от треугольника
class ColorTriangle : public Triangle {
//Строка цвет
char color[20];
public:
//Конструктор с четырьмя параметрами.
//Первый устанавливает строку цвет.
//Остальные посылаются в конструктор базового треугольника
ColorTriangle(char *clr, char *style, double w,
double h) : Triangle(style, w, h) {
strcpy(color, clr);
}
// Вывод цвета в стандартный поток вывода
void showColor() {
cout << "Color is " << color << "\n";
}
};
int main() {
//Создание правильного треугольника синего цвета
//С шириной 8 и высотой 12
ColorTriangle t1("Blue", "right", 8.0, 12.0);
//Создание равного (?) треугольника красного цвета
//С шириной и высотой равным двум
ColorTriangle t2("Red", "isosceles", 2.0, 2.0);
//Вывод инфы по 1 тр. в стандартный поток вывода
cout << "Info for t1:\n";
//Вызов функции вывода стиля
t1.showStyle();
//Вызов функции вывода ширины, высоты
t1.showDim();
//Вызов функции вывода цвета
t1.showColor();
//Вывод площади через функцию area
cout << "Area is " << t1.area() << "\n";
cout << "\n";
//По второму все точно так же
cout << "Info for t2:\n";
t2.showStyle();
t2.showDim();
t2.showColor();
cout << "Area is " << t2.area() << "\n";
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2010, 18:34     Прокомментировать код
Еще ссылки по теме:

Прокомментировать код C++
Прокомментировать код C++
Прокомментировать код C++

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

Или воспользуйтесь поиском по форуму:
alexboy
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 5
03.11.2010, 18:34  [ТС]     Прокомментировать код #8
Огромное спасибо!!!!111
Yandex
Объявления
03.11.2010, 18:34     Прокомментировать код
Ответ Создать тему
Опции темы

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