0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
1

цикл в графику с++

02.06.2010, 14:24. Показов 896. Ответов 7
Метки нет (Все метки)

ребят, помогите, никак не могу сообразить(. вот фрагмент программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int i;
 
            for (i = 0; (lc = letbase[i]) != '\0'; i++) {
 
                                                
                putchar(lc);
 
                if (lc != c)
                {
 
 
                    sleep(1);
 
                    putchar('\b');
                }
 
                if (lc == c)
                    break;
 
            }
работает как надо, только вся проблема в том, что вывод символов нужно сделать графически. я пытаю outtextxy(), но у меня ничего не выходит, а нужно сделать именно так, как работает и без графики.

Добавлено через 4 минуты
letbase[] это изначально заданная строка, откуда происходит считывание символов. "с" у меня равно cod[] искомой строке. если что
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2010, 14:24
Ответы с готовыми решениями:

Придумать задачу на графику (цикл for)
Придумать задачу на графику и решить ее с помощью цикла for

Придумать задачу на графику (цикл while)
Придумать задачу на графику и решить ее с помощью цикла while

Задача на графику и решение ее, используя цикл repeat
Придумать задачу на графику и решить ее с помощью цикла repeat

Используя цикл с параметром, для функции Y=f(X) по данному графику вывести значение Y
используя цикл с параметром, для функции Y=f(X) по данному графику вывести значение Y если...

7
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
04.06.2010, 01:35  [ТС] 2
ребят, неужели никто не поможет?(((
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
04.06.2010, 05:26 3
если в turbo c++, то нужно сначала подключить графику)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
 
void main()
{
       int gdriver = DETECT, gmode, errorcode;
       initgraph(&gdriver, &gmode, "");
       errorcode = graphresult();
       if (errorcode != grOk)
       {
               cprintf("Graphics error: %s\n", grapherrormsg(errorcode));
               cprintf("Press any key to halt:");
               getch();
               exit(1);
       }
       
       //теперь можно использовать outtextxy(int, int, char*);
       //ваша программа
 
       closegraph();
}
0
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
04.06.2010, 10:50  [ТС] 4
у меня borland c++. я знаю что надо подключать графику. дело в том что мне нужно сделать именно этот кусок, который я выложил. у меня не получается
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
04.06.2010, 20:45 5
так пусть вместо putchar() будет outtextxy()
и вообще можно и без lc обойтись и использовать letbase[i]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int i = 0;
int x, y;
x = y = 1;
while(letbase[i] != '\0') {      
      if (letbase[i] != c){
            sleep(1);
            outtextxy(x, y, '\b');
      }
 
      if (letbase[i] == c)
            break;
      else outtextxy(x, y, letbase[i]);
      i++;
}
не проверял, но сначала нужно проверить элемент массива, а потом уже выводить на экран или еще что-то с ним делать
0
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
04.06.2010, 23:07  [ТС] 6
так я и не понимаю как реализовать этот вывод с помощью outtextxy()

Добавлено через 25 секунд
я по разному пробывал, у меня не выводится то, что надо

Добавлено через 2 часа 19 минут
не работает потому что, outtextxy() не может конвертировать из... в... там на вывод нужен именно указатель массива. а так выдает ошибку(((
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
05.06.2010, 04:34 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
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
 
void main(){
        clrscr();
 
    int gdriver = DETECT, gmode, errorcode;
    initgraph(&gdriver, &gmode, "");
    errorcode = graphresult();
 
    if (errorcode != grOk){
        cprintf("Graphics error: %s\n", grapherrormsg(errorcode));
        cprintf("Press any key to halt:");
        getch();
        exit(1);
    }
 
    int x, y;
    x = y = 1;
 
    char *letbase = "World";
    char c = 'r', *lc = " ";
 
    int i = 0;
    while ((*lc = letbase[i]) != '\0') {
        outtextxy(x, y, lc);
 
        if (*lc != c){
            sleep(1);
            cleardevice();
        }
 
        if (*lc == c)
            break;
 
            i++;
    }
 
    getch();
    closegraph();
}
0
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
05.06.2010, 12:24  [ТС] 8
Да! Это то что мне необходимо)))). Буду пробывать, отпишусь что получится

Добавлено через 30 минут
не выходит, а проблема в '\b' его нужно как то задействовать. Давай я кину тебе целую программу, чтобы ты понял как она работает? Может сможешь сразу на моем примере исправить

Добавлено через 1 час 37 минут
ой, извени, если я пол перепутал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2010, 12:24
Помогаю со студенческими работами здесь

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include&lt;stdio.h&gt; ...

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru