Р. А. Юсупов, С. Н. Искандарова, Ш. Мирзанова C/C++ тилида топшириқ ва масалалар Самарқанд – 2013 йил
Download 1.35 Mb.
|
CPP masalalari1
Часть II. Решения 201 void diagr() { int x,y; // координаты левого нижнего угла // столбика диаграммы int 1; // индекс массива // цвет столбиков int color[4] = {YELLOW, BLUE, GREEN, RED}; char buf[10]; outtextxy(40,50,"Результаты контрольной работы\0"); rectangle(40,80,170,310); X = 50; у = 300; // левый нижний угол первого столбика // столбики диаграммы for (i = 3; i >= 0; i—) { setfillstyle(SOLID_FILL, color[i]); bar(x,y,x+10,y-h[i]); // столбик sprintf(buf,"%2.If",p[i]); outtextxy(x,y-h[i]-10,buf); X += 20; } // численные значения X = 50; for (i = 3; 1 >= 0; i—) { setfillstyle(SOLID_FILL,color[i]); //bar(x,y,x+10,y-h[i]); // столбик //OutTextXY(x,y-h[i]-10,RealToStr(p[i],5,l)+»%\n"); X = x+20; } // легенда X = 200;y = 100; for (i = 3; i >= 0; i—) { setfillstyle(SOLID_FILL,color[i]); bar(x,y,x+20,y+10); // столбик outtextxy(x+25,у,mes[i]); у += 20; } 202 С/С-^"*- в задачах и примерах void main О { int gdriver = DETECT; // драйвер int gmode; // режим int errorcode; // код ошибки obrO; // ввод и обработка результатов initgraph(&gdriver, &gmode, PATHTODRIVER); errorcode = graphresult(); if (errorcode == grOk) diagrO; // вывод диаграммы else { printf("Ошибка: %d\n", errorcode); puts("Для завершения программы нажмите } getch(); } Задача 231 // круговая диаграмма #include #include #include #include #define PATHTODRIVER "c: WborlandcWbgiW" #define N 4 // количество категорий void krdiagr(char* *name, float* dol) { int al,a2; // угол начала и конца сектора int color[4] = {BLUE, YELLOW, GREEN, RED}; int x,y; // координаты вьшода легенды char St[25]; // изображение числа int i; Чисть II. Решения 203 // строим диаграмму al = 0; // от оси ОХ X = 350; у = 100; // левый верхний угол области легенды for (i =0; i < N; i++) { // сектор a2 = al + 3.6 * dol[i]; // 1% - 3.6 градуса if (i == N-1) a2 = 360; // последний, no счету, сектор setfillstyle(SOLID_FILL, color[i]); sector(200,200,al,a2,100,100); // pieslice(200,200,al,a2,100); al = a2; // следующий сектор - от конца текущего // легенда Ьаг(х,у,х+30,у+10); rectangle(х,у,х+30,у+10); sprintf(st, "%s - %2.1f%\0", name[i], dol[i]); outtextxy(x+50,y,st); у +== 20; } } void main (void) { char *name[N] = {"Книги\0","Журналы\0", "Канцтовары\0","Прочее\0"}; float kol[N]; // количество для категории float dol[N]; // доля категории в общем количестве float sum =0; // общее кол-во по всем категориям int i; int gdriver = DETECT; // драйвер int gmode; // режим int errorcode; // код ошибки // ввод исходных данных puts("Введите количество по каждой категории"); for (1 = 0; i < N; i+-f) { printf("%s -> ", name[i3); scanf("%f", &kol[i]); 204 C/C++ в задачах и примерах sum += kol[i]; } // вычислим долю каждой категории в общей сумме for (i = 0; i < N; i+4-) dol[i] = kol[i]/sum*100; // инициализация графического режима initgraph(&gdriver, &gmode, PATHTODRIVER); errorcode = graphresult(); if (errorcode == grOk) { krdiagr(name, dol);// строим диаграмму getch(); closegraphO; // выход из графического режима } else { printf("Ошибка: %d\n", errorcode); puts("Дня завершения нажмите getch(); } Задача 232 // Светофор #include #include #include #include #define PATHTODRIVER "c: WborlandcWbgiW" // рисует круг заданного цвета void krug(int x,int у, int r, int fc, int be) { // x, y, r - координаты центра и радиус // fc, be - цвет круга и окантовки setfillstyle(SOLID_FILL,fс); setcolor(fc); Download 1.35 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling