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

Использование классов в С++. Простые объекты. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритм Шимбелла http://www.cyberforum.ru/cpp-beginners/thread297487.html
Алгоритм Шимбелла позволяет находить минимальные (максимальные) пути между вершинами, состоящие из заданного количества ребер. Введем специальные операции над элементами матрицы: 1) Операция умножения двух величин а и b при возведении матрицы в степень соответствует их алгебраической сумме: 2) Операция сложения двух величин а и b заменяется выбором из этих величин минимального...
C++ Авторизация на прокси Пишу на С программу, забирающую определенное число с веб-страницы (температуру). Все работает. Добавил работу через прокси. Работает. А вот с работой с прокси через авторизацию - нефига. Помогите разобраться в генерации HTTP запросов. При работе через прокси без авторизации сначала посылаю серверу запрос: "CONNECT myxa.opsb.ru:80 HTTP/1.1\r\n\r\n" и затем забираю страницу запросом "GET... http://www.cyberforum.ru/cpp-beginners/thread297482.html
C++ Вывести в алфавитном порядке последние слова всех предложений
Помогите, пожалуйста, исправить код, а то дуб дубом((Не могу никак дойти( Дан текст, состоящий из N (2<=N<=10) строк с максимальной длиной 80 символов. Необходимо вывести в алфавитном порядке последние слова всех предложений. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам...
C++ Найти минимальный элемент массива, поставить его на первое место, остальные элементы сдвинуть
а)Дана последовательность n элементов в виде массива. Найти минимальный элемент массива,паставить его на первое место,остальные эл.сдвигаются. б)Дана матрица А размерности m*n и вектор Х размерности m. Найти произведение Х*А. Помогите решить!!!у меня не получается!!!
C++ строка с нечетной длиной слов http://www.cyberforum.ru/cpp-beginners/thread297437.html
Дана строка. Сформировать новую строку, скопировав в нее слова исходной строки, которые имеют нечетную длину, разделить слова пробелом. На Си. Очень прошу вашей помощи со строками дуб дубом
C++ Структура последовательности типа в чем смысл этой структуры...Я ничего не могу найти в интернете по этой теме... подробнее

Показать сообщение отдельно
JmBeats
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 10
17.05.2011, 08:55     Использование классов в С++. Простые объекты.
Задание:

Описать объект, включающий заданные поля и методы. Написать программу, которая создает массив объектов и список объектов и содержит процедуры, работающие с указанны-ми структурами.
Объект - некоторый товар в магазине. Параметры: наименование, количество и заку-почная цена. Методы: конструктор и процедура, определяющая стоимость товара исходя из заданного процента прибыли. Определить суммарную стоимость всех товаров в магазине. Реализовать два варианта (с массивом и списком).

Написал пока только для списка, с массивом чуть позже напишу. Я создаю класс по заданию, список реализую через структуру ( 1 поле переменная типа класса, 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
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
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <conio.h>
 
class List { 
public:
             char name; float amount,price;
 
             List(char n, float a, float p);
             float PriceGood(float profit);
};
 
 
 
List::List(char n, float a, float p)
{ 
    name = n;
    amount = a;
    price = p;
}
 
float List::PriceGood(float profit)
{
    float pr;
    pr = (price*profit*0.01)+price;
    return(pr);
};
 
struct Element 
{
    List Good;
    Element *next;
};
 
 
void main(int argc, char* argv[])
{
     setlocale(0,"russian");
Element Tovar, *first, *cur, *temp;
char tn;
float ta,tp,tprof,sum=0;
int count,i=1;
 
first = NULL;
temp = NULL;
 
puts("Введите кол-во разных товаров и процент прибыли:");
scanf("%d %f",&count,&tprof);
puts("Введите название, кол-во и закупочную стоимость товаров:");
while(i<count){
    printf("%d",i,". ");
    scanf("%s %f %f\n",&tn,&ta,&tp); 
    cur = new Element;
    cur->Good=List::List(tn,ta,tp);
    
    if (first == NULL) 
    {
        first = cur;
        temp = cur;
        cur->next = NULL;
    }
    else 
    {
        temp->next = cur;
        cur->next = NULL; 
    }
}
cur = first;
 
for(i=1;i<count;i++) 
sum+=(cur->Good=List::PriceGood(tprof))*(cur->Good=List.amount);
 
printf("Суммарная стоимость всех товаров в магазине равна : ,%f",sum);
 
puts("Нажмите любую клавишу для завершения...");
     _getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru