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

ошибка при компиляции программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ LNK2019 и LNK1120 http://www.cyberforum.ru/cpp-beginners/thread645754.html
Программа состоит из 3ех файлов: names.h #ifndef NAMES_H_ #define NAMES_H_ namespace SALES { const int QUARTERS = 4; struct Sales { double sales;
C++ как исправить Ошибка 8 error C2259: Tabl: невозможно создать экземпляр абстрактного класса имеется абстрактный класс, у нее есть 4 виртуальных функций: запись и чтение с помощью С и С++ имеется класс Tabl производный от абстрактного класса там у меня происходит реализация этих 4-х... http://www.cyberforum.ru/cpp-beginners/thread645749.html
C++ Разноцветная консоль
Всем доброго времени суток. Возник вопрос - как сделать так, чтоб в консоли текст был разноцветным (ну к примеру чтоб "hello" печатолась зеленым, а "world" красным). Есть команда color, но это...
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()
C++ Ввод данных в вектор http://www.cyberforum.ru/cpp-beginners/thread645695.html
Я хочу,чтобы пользователь вводил номер и он сразу записывался в вектор,а не записывать числа в массив и только потом заполнять вектор,но у меня ввод данных прекращается только при вводе конца...
C++ невидимый курсор Помогите реализовать невидимый курсор в консоли (он постоянно мигает и мешает). В интернете порылся, но так ничего нормально, работающего не нашели подробнее

Показать сообщение отдельно
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627

ошибка при компиляции программы - C++

02.09.2012, 14:55. Просмотров 1188. Ответов 13
Метки (Все метки)

доброго времени суток.
задали задание.
составить программу показывающую содержимое загрузочной записи для указанного логического диска.
Нашел в интернете решение уже готовый код но он не компилируется выдает ошибки подскажите что не так? Как исправить?
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
#pragma argsused
#include <stdio.h>
#include <malloc.h>
#include <dos.h>
#include "sysp.h"
 
void main(void) {
 
  BOOT _far *BOOT_rec;// на этой строчке выдает ошибку [BCC32 Error] File5.cpp(17): E2108 Improper use of typedef 'BOOT'
  int i, status;
  char drive;
  printf("n"
                        "nЧтение загрузочной записи"
                        "nлогического диска"
                        "n");
// Заказываем буфер для чтения BOOT-записи.
  boot_rec = _fmalloc(sizeof(*boot_rec));
 
// Запрашиваем диск, для которого необходимо
// выполнить чтение загрузочной записи.
  printf("n"
                        "nВведите обозначение диска, для просмотра"
                        "nзагрузочной записи (A, B, ...):");
 
  drive = getche();
 
// Вычисляем номер дисковода
 drive = toupper(drive) - 'A';
 
// Читаем загрузочную запись в буфер
 status = getboot((BOOT _far*)boot_rec, drive);
 
// Если произошла ошибка (например, неправильно указано
// обозначение диска), завершаем работу программы
  if(status) {
                printf("nОшибка при чтении BOOT-сектора");
                exit(-1);
  }
 printf("nСодержимое BOOT-сектора для диска %c",drive+'A');
  printf("n"
                        "nOEM - название фирмы и версия DOS - ");
 
 for(i=0;i<8;i++) printf("%c",boot_rec->oem[i]);
 
  printf("nНомер диска                       - %x"
                        "nПризнак расширенной BOOT-записи   - %c"
                        "nСерийный номер диска              - %04X-%04X"
                        "nМетка диска                       - ",
                        (unsigned char)boot_rec->drive,
                        boot_rec->signature,
                        boot_rec->volser_hi,
                        boot_rec->volser_lo);
 
  for(i=0;i<11;i++) printf("%c",boot_rec->label[i]);
 
  printf("nФормат FAT                        - ");
  for(i=0;i<8;i++) printf("%c",boot_rec->fat_format[i]);
 
  printf("nnИнформация из BPB:n");
 
  printf("nКоличество байтов в секторе       - %d"
                "nКоличество секторов в кластере    - %d"
                "nЗарезервировано секторов          - %d"
                "nКоличество копий FAT              - %d"
                "nМакс. количество файлов в корневом каталоге - %d"
                "nОбщее количество секторов на диске          - %d"
                "nБайт-описатель среды              - %x"
                "nКоличество секторов в FAT         - %d",
                boot_rec->bpb.sectsize,
                boot_rec->bpb.clustsize,
                boot_rec->bpb.ressecs,
                boot_rec->bpb.fatcnt,
                boot_rec->bpb.rootsize,
                boot_rec->bpb.totsecs,
                (unsigned char)boot_rec->bpb.media,
                boot_rec->bpb.fatsize);
 
  printf("nnИнформация из расширения BPB:n");
 
  printf("nСекторов на дорожке               - %d"
                "nКоличество головок                - %d"
                "nСкрытых секторов для диска < 32M  - %d"
                "nСкрытых секторов для диска >= 32M - %d"
                "nВсего секторов на диске           - %u",
                boot_rec->bpb.seccnt,
                boot_rec->bpb.headcnt,
                boot_rec->bpb.hiddensec_low,
                boot_rec->bpb.hiddensec_hi,
                boot_rec->bpb.totsecs);
 
// Освобождаем буфер
  _ffree(boot_rec);
-------------------
//содержание заголовчного файла sysp.h
#pragma pack(1)
 
typedef struct _EBPB_ {
        unsigned sectsize;
        char clustsize;
        unsigned ressecs;
        char fatcnt;
        unsigned rootsize;
        unsigned totsecs;
        char media;
        unsigned fatsize;
        unsigned seccnt;
        unsigned headcnt;
        unsigned hiddensec_low;
        unsigned hiddensec_hi;
        unsigned long drvsecs;
} EBPB;
 
 
 
 
typedef struct BOOT_ {
        char jmp[3];
        char oem[8];
        EBPB bpb;
        char drive;
        char reserved;
        char signature;
        unsigned volser_lo;
        unsigned volser_hi;
        char label[11];
        char fat_format[8];
        char boot_code[450];
} BOOT;
#pragma pack()
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru