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

Текстовый редактор - программа выдает предупреждения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись файла в изображение http://www.cyberforum.ru/cpp-beginners/thread51449.html
Программа для записи файла в bitmap, с хидером. #include <stdio.h> #include <conio.h> char *filename, *picname; FILE *in, *out; char *infile; long size; char *hdr; int wh; struct{
C++ даны натуральные числа N и M (N>M). вычислить : N --- \ K(квадрат) ln(K!) / --- K=M даны натуральные числа N и M (N>M). вычислить : http://www.cyberforum.ru/cpp-beginners/thread51445.html
работа со string C++
Здравствуйте, такая проблема: Создаю например такой класс: #include <iostream> #include <string> using namespace std; class A { private:
C++ задача с массивами
написать программу , которая проверяет , представляют ли элементы введенного с клавиатуры массива возрастающую последовательность .
C++ Ввод/вывод в MS VS http://www.cyberforum.ru/cpp-beginners/thread51423.html
Здравствуйте! У меня похожая проблема ... только у меня Вижуал С++ (русская версия) ... - только-только установила ... При компилляции программы выдается 1 ошибка: fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory Может, кто-нибудь подскажет, что, куда и как нужно подключать ... ? Спасибо ...
C++ Создание диалогового окна в Dev-C++ Доброго времени суток! Только начал изучение C++ (хорошо знаю азы Delphi). Для лучшего понимания нового языка, хочу научиться в нём решать задачки, с которых начинал когда то изучение Delphi. Так вот, хотелось бы узнать как мне создать диалоговое окошко с двумя Edit'ами, одним DrawText'ом (это я так понимаю аналог Label'а в Delphi) и одной кнопочкой, и чтобы при нажатии на кнопку, в DrawText'е... подробнее

Показать сообщение отдельно
soadpol
0 / 0 / 0
Регистрация: 19.09.2009
Сообщений: 16

Текстовый редактор - программа выдает предупреждения - C++

19.09.2009, 05:38. Просмотров 1572. Ответов 12
Метки (Все метки)

Тут вот задали написать текстовой редактор на си,выдана программа-заготовка,она по идее якобы
тот же текст.ред.но урезанный,в общем беру эту прогу,пытаюсь компилировать,но -куча ошибок(чего
в принципе быть не должно), начинаю смотреть вид ошибок,понимаю что не подключены нек.библиотеки #include,кое-что узнаю,вношу,но остается все таки еще-

c:14: предупреждение: инициализация из несовместимого типа указателя .c:14: ошибка: элемент инциализатора является не константа .c:14: предупреждение: определение данных не имеет тип или класс памяти Выполнение завершено
вот текст проги-
w_edit.c
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*Задание: Просмотр текстовых файлов с использованием стрелок и*/
/*         клавиш Page Up,Page Down,Home,End*/
/*---------------------w_edit.c------------------*/
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
#include <dos.h>
char *rs[100];
far*p=(char far *)MK_FP(0xB800,0x0000) ;/*строка 14,здесь ошибка*/
int main(int argc,char *argv[])
{void wr_text(int xt,int yt,int xk,int yk);
 void pr_koor(int xt,int yt,int xk,int yk);
 FILE *f1;
 int i,j,c,yk,xk,xt,yt,kstr;
 if(argc!=2)
   {printf("неверные параметры"); getch();goto mret;}
   
/*Выделение памяти под указатели*/
 for(i=0;i<=100;i++)
  if((rs[i]=malloc(100))==NULL)
   {printf("Недостаточно памяти");goto mret;}
 if ((f1=fopen(argv[1],"r"))==NULL)
  {printf("Файл %s не открывается",argv[1]); goto mret;}
 for(i=0;i<=100;i++)
   for(j=0;j<=100;j++)
      *(rs[i]+j)=' ';
      
/*Формирование файла в памяти;*/
 i=0;
 while(fgets(rs[i++],100,f1)!=NULL)
  if(i==100) break;
 kstr=i-2;
 printf("kstr=%d",i);
 c=getch();
 
 gotoxy(1,1);
 
/*Вывод sr на экран*/
 xt=0;yt=0;
 for(i=yt;i<=22;i++)
   for(j=xt;j<=79;j++)
    { if((*(rs[i]+j)==' ')|(*(rs[i]+j)=='\0')|(*(rs[i]+j)=='\n'))
       putchar(' ');
     else
       putchar(*(rs[i]+j));
    }
 xk=1;yk=1;
 pr_koor(xt,yt,xk,yk);
 gotoxy(1,1);
 while(1 )
 {
  c=getch();
  if(c=='\0') c=getch();
  yk=wherey();xk=wherex();
   switch(c)
     {
      case 72:{if( yk>1)/*Стрелка вверх*/
                {yk--;gotoxy(xk,yk);
                pr_koor(xt,yt,xk,yk);
                }
               else
                if(yt>0)
                 {yt--;wr_text(xt,yt,xk,yk);
                 }
               break;
              }
      case 119:{            /*Ctrl-Home*/
                 yt=0;xt=0;yk=1;xk=1;
                 wr_text(xt,yt,xk,yk);
                 break;
               }
      case 117:{            /*Ctrl-End*/
                 yt=kstr-21;
                 if(yt<0) yt=0;yk=kstr-yt+2;xk=1;
                 wr_text(xt,yt,xk,yk);
                 break;
               }
      case 80:{if( yk<=22)          /*Стрелка вниз*/
                {yk++;gotoxy(xk,yk);
                pr_koor(xt,yt,xk,yk);
                }
               else
                if(yt<77)
                 {yt++;wr_text(xt,yt,xk,yk);
                 }
              break;
              }
 
       case 75:{if( xk>1)        /*Стрелка влево*/
                {xk--;gotoxy(xk,yk);
                 pr_koor(xt,yt,xk,yk);
                }
               else
                if(xt>0)
                 {xt--;wr_text(xt,yt,xk,yk);
                 }
 
               break;
              }
       case 77:{if( xk<80)        /*Стрелка вправо*/
                {
                 xk++;gotoxy(xk,yk);
                 pr_koor(xt,yt,xk,yk);
                }
                else
                 if(xt<20)
                  {
                   xt++;wr_text(xt,yt,xk,yk);
                  }
                break;
               }
      case 73:{if( yt>22)       /*Page Up*/
                {yt-=23;wr_text(xt,yt,xk,yk);
                }
               else
                if(yt>0)
                 {yt=0;wr_text(xt,yt,xk,yk);
                 }
                else
                {yk=1;gotoxy(xk,yk);
                pr_koor(xt,yt,xk,yk);
                }
               break;
              }
      case 81:{if( yt<=55)       /*Page Down*/
                {yt+=23;wr_text(xt,yt,xk,yk);
                }
               else
                if(yt<77)
                 {yt=77;wr_text(xt,yt,xk,yk);
                 }
                else
                {yk=23;gotoxy(xk,yk);
                pr_koor(xt,yt,xk,yk);
                }
               break;
              }
      case 71:{ xt=0;xk=1;       /*Home*/
                wr_text(xt,yt,xk,yk);
                break;
              }
      case 79:{                /*End*/
               for(j=99;j>0;j--)
                {if(!((*(rs[yt+yk-1]+j)==' ')|(*(rs[yt+yk-1]+j)=='\0')|
                   (*(rs[yt+yk-1]+j)=='\n')))
                  break;
                }
               j++; /*Позиция за последним символом строки в файле памяти*/
               if(j<=xt+79)
                {xk=j-xt+1;gotoxy(xk,yk);pr_koor(xt,yt,xk,yk);}
               break;
              }
      case 27: goto mret;
/*      case 0..255:{rs[xt+xk]+[yt+yk]
      for (i=100,i>xt+xk-1,i--)
         {rs[i]+[yt+yk]:=rs[i-1]+[yt+yk];}
          rs[xt+xk]+[yt+yk]:=c;}*/
 
 
     }
  }
 mret:;
}
void wr_text(int xt,int yt,int xk,int yk)
{
 int i,j;
 
 gotoxy(1,1);
 for(i=0;i<=22;i++)
  for(j=0;j<=79;j++)
       { if((*(rs[i+yt]+j+xt)==' ')|(*(rs[i+yt]+j+xt)=='\0')|
       (*(rs[i+yt]+j+xt)=='\n'))
       *(p+i*160+j*2)=' ';
     else
       *(p+i*160+j*2)=*(rs[i+yt]+j+xt);
    }
 gotoxy(35,25);
 printf("line %2d,pos %2d (xk=%2d,yk=%2d,xt=%2d,yt=%2d)",yk+yt,xk+xt,xk,yk,xt,yt);
 gotoxy(xk,yk);
}


хотелось бы узнать что означает far*p=(char far *)MK_FP(0xB800,0x0000)
это что-то вроде резервирует память?какая нужна #include
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru