Программа в C++
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Программа в C++ - 2011-05-07 12:57:27.130000
|
|
|
germes92
Сообщений: 15
Оценки: 0
Присоединился: 2010-02-15 16:28:45.810000
|
Подскажите в чем ошибка не компилируется,программа для определения типа видеоконтролера, даты BIOS и на исправность НМД! #include <iostream.h> #include<conio.h> void main() { clrscr(); char far b, *b1, *b2; int B, B1; outportb(0x70,0xE0); b = intportb(0x70); B = (int) *b&8; if (B == 0) cout<<"HMD ispraven"; else cout<<"HMD ne ispraven"; cout<<"\n\n"; b1 = ( char far * ) 0x00400010; cout<<*b1; B1 = (int) *b&48; switch (B1) { case 0: cout<<"Ne ispol'zuetsa ili EGA"; break; case 16: cout<<"CGA, EGA, VGA v rejime 40x25";break; case 32: cout<<"CGA, EGA, VGA v rejime 80x25";break; case 48: cout<<"Monohromniy kontroler"; break; } cout<<"\n\n"; b2 = ( char far * ) 0xF000FFF5; cout<<"Data sozdaniya BOIS:\n"; for(int i = 0;i<8; i++) cout<<*(b2++); getch(); }
|
|
|
RE: Программа в C++ - 2011-05-07 15:02:37.960000
|
|
|
KwanzaBot
Сообщений: 129
Оценки: 0
Присоединился: 2011-04-18 19:45:33.773333
|
Что компилятор выводит?
|
|
|
RE: Программа в C++ - 2011-05-07 16:51:57.183333
|
|
|
ShyRka
Сообщений: 235
Оценки: 0
Присоединился: 2010-07-09 10:55:56.626666
|
Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру: char far b, *b1, *b2; что это??? должно быть так: char far, b, *b1, *b2; и т.д. учись и внимательно переписывай примеры!!!
|
|
|
RE: Программа в C++ - 2011-05-07 17:03:12.393333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: ShyRka Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру: char far b, *b1, *b2; что это??? должно быть так: char far, b, *b1, *b2; и т.д. учись и внимательно переписывай примеры!!! far – это ключевое слово, указывающее на то, что указатель содержит адрес с указанием сегмента. Так что запятая там точно лишняя. Другое дело, что если мне не изменяет интуиция объявлять с модификатором far не-указатель – это ошибка. То есть переменная b тоже должна быть указателем. И, кстати, судя по тому как b используется, интуиция мне не изменяет, эта строчка должна выглядеть так: char far *b, *b1, *b2;
|
|
|
RE: Программа в C++ - 2011-05-07 20:18:16.060000
|
|
|
ShyRka
Сообщений: 235
Оценки: 0
Присоединился: 2010-07-09 10:55:56.626666
|
quote:
ORIGINAL: rgo quote:
ORIGINAL: ShyRka Да это не код а хрень какая то.. сначала выправи синтаксические ошибки.. к примеру: char far b, *b1, *b2; что это??? должно быть так: char far, b, *b1, *b2; и т.д. учись и внимательно переписывай примеры!!! far – это ключевое слово, указывающее на то, что указатель содержит адрес с указанием сегмента. Так что запятая там точно лишняя. Другое дело, что если мне не изменяет интуиция объявлять с модификатором far не-указатель – это ошибка. То есть переменная b тоже должна быть указателем. И, кстати, судя по тому как b используется, интуиция мне не изменяет, эта строчка должна выглядеть так: char far *b, *b1, *b2; Сорри действительно прозевал :) ну ошибок там много …
|
|
|
RE: Программа в C++ - 2011-05-08 00:28:01.216666
|
|
|
Klofelin
Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666
|
И мои 3 копейки, не особо углубляясь, замеченные странности: quote:
b = intportb(0x70); буква 't' здесь явно лишняя quote:
clrscr(); это вроде из делфи для функций in/outport нужен заголовок <dos.h> Вся эта байда под что-то древнее, чего там было до x86, лично я уже и не помню.
|
|
|
|
|