![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.06.2011
Сообщений: 11
|
![]()
Здравствуйте.
я составил 3 программы в компиляторе с++. завтра их нужно сдать преподавателю, но пришла новость что преподователь принимает отчет только через компилятор борланд с++ для винды. Пожалуйста помогите исправить код под этот компилятор - http://letitbit.net/download/04b2079269/cpp.rar.html Вот сами коды: Код первый //--------------------------------------------------------------------------- #include <graphics.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #include "Point.h" #include "Point.cpp" #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused const int MAXCNT=100; int main(int argc, char* argv[]) { int grDriver=DETECT; int grMode=0; int i=0; CEllipse * el; int graphdriver = DETECT, gmode, errorcode; initgraph(&graphdriver,&gmode,""); el = new CEllipse[MAXCNT]; errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { cout << errorcode << endl; getch(); return 1; } for (int k=0; k < MAXCNT; k++) { el[k].SetColor(random(128)); el[k].SetY(random(480)); el[k].SetX(random(640)); el[k].SetA(1.0f*random(20)); el[k].SetB(1.0f*random(20)); } if (kbhit()) getch(); while (!kbhit()) { for (int k=0; k < MAXCNT; k++) { el[k].Hide(); el[k].SetColor(random(128)); el[k].SetX(random(640)); el[k].SetY(random(480)); el[k].SetA(random(20)); el[k].SetB(random(20)); el[k].Show(); } } getch(); while (!kbhit()) { for (int k=0; k < MAXCNT; k++) { el[k].MoveRel(random(3)-1,random(3)-1); } } getch(); delete[] el; closegraph(); return 0; } //--------------------------------------------------------------------------- |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 25.06.2011
Сообщений: 11
|
![]()
Код второй
//--------------------------------------------------------------------------- #include "Person.h" #include <iostream.h> #include <iomanip.h> #include <fstream.h> #pragma hdrstop //--------------------------------------------------------------------------- const int MAXMNUCNT=5; const char TAB=char(9); const string menu[]= { "Create", "Show", "Sort", "Filter", "Exit" }; CPerson * arr=NULL, *newarr=NULL; int arrcnt=0,newarrcnt; int GetChoice(void) { int res; cout << "Please choice" << endl;; for (int i=0;i<MAXMNUCNT;i++) { cout << i << ". " << menu[i] << endl; } cin >> res; return res; } CPerson* Create(void) { string filename; fstream fin; CPerson* res; cout << "Please enter filename" << endl; cin >> filename; fin.open(filename.c_str(),ios_base: :in); if (fin.is_open()) { fin >> arrcnt; res = new CPerson[arrcnt]; for (int i=0; i<arrcnt; i++) { fin >> res[i].Lastname; fin >> res[i].Firstname; fin >> res[i].Secondname; fin >> res[i].Specialization; fin >> res[i].Salary; }; fin.close(); return res; }; return NULL; } void Clear(void) { if (arr!=NULL) {delete[] arr;} arrcnt = 0; } bool Test(void) { return arr!=NULL; } void Show(const CPerson * src,const int srccnt,const bool ShowSpec) { cout << setw(15) << "Lastname" <<setw(15) << "Firstname" <<setw(15) << "Secondname"; if (ShowSpec) cout << setw(15) << "Specialization"; cout << setw(7) << "Salary" << endl; for (int i=0; i < srccnt;i++) { cout << setw(15) << src[i].Lastname << setw(15) << src[i].Firstname << setw(15) << src[i].Secondname; if (ShowSpec) cout << setw(15) << src[i].Specialization; cout << setw(7) << src[i].Salary << endl; } } void Sort(CPerson* src,int srccnt) { for (int i=0; i < srccnt; i++) { for (int j=i+1; j < srccnt; j++) if (src[i].Salary>src[j].Salary) { swap(src[i],src[j]); } } } #pragma argsused CPerson* Filter(CPerson* src,const int srccnt,int& newarrcnt) { CPerson* res; int j; newarrcnt=0; for (int i=0; i < srccnt; i++) { if (src[i].Salary>500) { newarrcnt++; } }; res = new CPerson[newarrcnt]; j=0; for (int i=0; i < srccnt; i++) { if (src[i].Salary>500) { res[j++] = src[i]; } }; return res; } int main(int argc, char* argv[]) { bool cont=true; while (cont) switch (GetChoice()) { case 0: Clear(); arr = Create(); break; case 1: Show(arr,arrcnt,true); break; case 2: Sort(arr,arrcnt); Show(arr,arrcnt,true); break; case 3: if (newarr!=NULL) {delete[] arr;} newarr = Filter(arr,arrcnt,newarrcnt); Show(newarr,newarrcnt,false); delete[] newarr; newarr = NULL; break; case 4: cont = false; } Clear(); return 0; } //--------------------------------------------------------------------------- |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 25.06.2011
Сообщений: 11
|
![]()
код третий
//--------------------------------------------------------------------------- #pragma hdrstop #include "PhoCat.h" #include <malloc.h> void CPhoCat::Input(void) { // Вводим число записей cout << "Please type a number of records" << endl; cin >> count; // Очищаем память if (Names!=NULL) { delete[] Names; delete[] Numbers; }; // Выделяем память под массивы Names = new string[count]; Numbers = new string[count]; // Заполняем массивы for (int i=0;i<count;++i) { cout << "Please type a name" << endl; cin >> Names[i]; cout << "Please type a number" << endl; cin >> Numbers[i]; } } void CPhoCat::Output(void) { // Выводим число записей cout << "Number of records: " << count << endl; cout << "Name" << char(9); cout << "Number" << endl; // Выводим массивы for (int i=0;i<count;++i) { cout << Names[i] << char(9); cout << Numbers[i] << endl; } } //--------------------------------------------------------------------------- #pragma package(smart_init) string CPhoCat::FindPhone(const string &AKey) { //TODO: Add your source code here for (int i=0; i < count; i++) { if (AKey.compare(Names[i])==0) { return Numbers[i]; } } return ""; } void CPhoCat::DelPhone(string& AKey) { for (int i=0; i < count; i++) { if (AKey.compare(Names[i])==0) { string* temp1 = new string[count-1]; string* temp2 = new string[count-1]; for (int j=0,k=0; j < count; j++) { if (j!=i) { temp1[k] = Names[j]; temp2[k++] = Numbers[j]; } } count--; delete [] Names; delete [] Numbers; Names = temp1; Numbers= temp2; return ; } } } void CPhoCat::AddPhone(const string& AKey, const string& AValue) { //TODO: Add your source code here string* temp1 = new string[++count]; string* temp2 = new string[count]; for (int j=0,k=0; j < count; j++) { if ( j < count-1) { temp1[j] = Names[j]; temp2[j] = Numbers[j]; } else { temp1[j] = AKey; temp2[j] = AValue; } } delete [] Names; delete [] Numbers; Names = temp1; Numbers= temp2; } void CPhoCat::Sort(void) { //TODO: Add your source code her for (int i=0; i < count; i++) { for (int j=i+1; j < count; j++) if (Names[i].compare(Names[j])>0) { Names[i].swap(Names[j]); Numbers[i].swap(Numbers[j]); } } } Заранее спасибо |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 25.06.2011
Сообщений: 11
|
![]()
да кстати, вот задания к кодам...
Задание к третьему коду коду Описать класс «телефонный справочник», используя в качестве структуры данных массив строк. Предусмотреть в классе следующие операции: - ввод и вывод массива строк - поиск номера по заданному имени -сортировка записей в справочник по алфавиту Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню позволяющее осуществить проверку всех методов класса. Задание ко второму коду Описать класс, включающий следующую информацию о сотрудниках фирмы: - фамилия - имя - отчество - специальность - зарплата В программе предусмотреть - создание массива объектов заданного класса -вывод на экран массива объектов в виде таблицы 1 Таблица 1 Фамилия Имя Отчество Специальность зарплата -сортировку массива объектов по возрастанию зарплаты сотрудников и вывод на экран полученного массива в виде таблицы 1 - формирование нового массива объектов, содержащего сведения о тех сотрудниках, зарплата которых превышает $500 и вывод на экран полученного массива в виде таблицы 2 Фамилия Имя Отчество Зарплата - создание меню для проверки всех действий над массивом объектов заданного класса. Задание к первому коду Описать базовый класс «точка» содержащий следующие поля: - координаты точки - цвет точки и следующие методы: - конструктор - деструктор - получение значений полей - изменение значений полей - отображение точки на экране - гашение точки - перемещение точки по экрану Описать базовый класс «отрезок» включающий следующие поля: - координаты концов отрезка - цвет отрезка и следующих методов: - конструктор - деструктор - получение значений полей - изменение значений полей - отображение отрезка на экране - гашение отрезка - перемещение отрезка по экрану Используя базовые классы «точка» и «отрезок» определить класс описанный ниже. В программе предусмотреть следующие действия с объектами создаваемого класса: - создание объектов: в том числе создание массивов объектов - уничтожение объектов - изменение параметров объектов (цвет, координаты, размер и т.п.) - отображение объектов на экране - гашение объектов - перемещение объектов по экрану Производный класс: эллипс с начерченными диаметрами. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание формы + исправление кода | Meiyo | C# (си шарп) | 2 | 22.06.2011 09:30 |
нужен компилятор, работающий под ДОС (в синем окошке) на виндоус 7 | pa6kevi4 | Помощь студентам | 3 | 23.03.2010 00:59 |
Компилятор C под XP x64 | .ghost | Общие вопросы C/C++ | 1 | 28.01.2010 20:46 |
Исправление кода... | SwIm | Помощь студентам | 3 | 19.01.2010 01:43 |
Помогите в исправление кривого кода | HECTOR.A. | Помощь студентам | 2 | 02.06.2009 11:05 |