Главная
Регистрация
Вход
Суббота
23.11.2024
01:07
Приветствую Вас, Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Кирпич, Admin  
Помогите решить задачу С++ (срочно нужна помощь!)
assassin005Дата: Четверг, 23.02.2012, 21:45 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Offline
Написать программу, которая выводит круговую диаграмму, отображающую товарооборот (в %)книжного магазина.
Исходные данные (объем продаж в рублях по категориям: книги, журналы, открытки и канцтовары) вводятся во время программы. Пример диаграммы приведен ниже.

напишите пожалуйста программу с комментариями(что, как и почему).
Пишите программу на ваше усмотрение(библиотеки и тп).
Заранее спасибо!
Пример диаграммы тут---> http://i060.radikal.ru/1202/84/16fa35c663d0.jpg


Сообщение отредактировал assassin005 - Четверг, 23.02.2012, 21:52
 
AdminДата: Четверг, 23.02.2012, 22:00 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
assassin005, прочитайте правила создания тем.
 
AdminДата: Четверг, 23.02.2012, 22:59 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
assassin005, в следующий раз тема, не соответствующая правилам, будет удалена. Сообщения под "попугая" тоже не стоит раскрашивать.

Вот код, используется компонент Chart:

Code
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
           : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    //простенькая защита от ошибки, связанной с пустым Edit
    if(Edit1->Text == "")
    Edit1->Text = 0;

    if(Edit2->Text == "")
    Edit2->Text = 0;

    if(Edit3->Text == "")
    Edit3->Text = 0;

    if(Edit4->Text == "")
    Edit4->Text = 0;

    float A1 = StrToFloat(Edit1->Text);//книги
    float A2 = StrToFloat(Edit2->Text);//журналы
    float A3 = StrToFloat(Edit3->Text);//канцтовары
    float A4 = StrToFloat(Edit4->Text);/прочее
    float summa = 0;//общая сумма
    Series1->Clear();//очистка диаграммы
    //добавление в диаграмму
    Series1->Add(A1,"Книги",clYellow);
    Series1->Add(A2,"Журналы",clBlue);
    Series1->Add(A3,"Канцтовары",clRed);
    Series1->Add(A4,"Прочее",clPurple);
    //считаем процент каждого от общей суммы
    summa = A1 + A2 + A3 + A4;
    if(A1 != 0)//тут и далее опять же простенькая защита от деления на ноль
    Label5->Caption = A1 / (summa / 100);
    if(A2 != 0)
    Label6->Caption = A2 / (summa / 100);
    if(A3 != 0)
    Label7->Caption = A3 / (summa / 100);
    if(A4 != 0)
    Label8->Caption = A4 / (summa / 100);
}
//---------------------------------------------------------------------------


Архив с проектом прикреплен.
Прикрепления: Diagramm.rar (407.8 Kb)
 
AdminДата: Четверг, 23.02.2012, 23:02 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
И скрин работы:
Прикрепления: 5025004.jpg (39.9 Kb)
 
assassin005Дата: Пятница, 24.02.2012, 00:30 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Offline
СПАСИБО ОГРОМНОЕ! БУДУ СОБЛЮДАТЬ ВСЕ ПРАВИЛА, ЕЩЁ РАЗ СПАСИБО!
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright H-L-L.RU © 2024
Сделать бесплатный сайт с uCoz