Перейти к содержимому

Фото
- - - - -

Здрасти, очень нужна помощь по C#!


  • Закрытая тема Тема закрыта
7 ответов в этой теме

#1 GeNeTiK

GeNeTiK
  • Пользователь
  • 36 сообщений

Отправлено 05 Декабрь 2009 - 00:47

Сдесь выложу задания, если кто то сможет что то решить, то буду оочень благодарен...
Я понимаю, что ищу халявы, но у меня больше нет выхода.... :(

1-е задание


Для хранения данных о цветных планшетных сканерах описать структуру с именем scan_info, содержащую поля
- наименование модели
- цена
- горизонтальный размер области сканирования (double)
- вертикальный размер области сканирования (double)
- оптическое разрешение (int)
- число градаций серого
-
Запросить количество сканеров, информация о которых будет вводиться.
Выделить память под массив структур соответствующего размера и заполнить его данными в режиме диалога (с клавиатуры).

Информация о сканерах печатается на экране, причем сначала пишутся данные о всех сканерах, имя которых начинается с заглавной буквы, а затем - с прописной.

Написать функцию, которая сортирует записи по одной из следующих характеристик:
цена либо число градаций серого. Обязательный параметр – признак, задающий критерий сортировки.

2-е задание


Напишите программу «Студенческая группа».

Программа работает с находящимся на диске файлом «iati.dat».

Программа предусматривает следующую функциональность:
1. «Добавление в список»
2. «Поиск по фамилии»
3. «Редактирование записи»
3. «Удалить из списка по фамилии»
4. «Отображение содержимого файла»
5. «Создать файл со списком группы»
6. «Печать списка именинников в заданном месяце»

7. «Завершение работы»

Все пункты меню должны быть оформлены виде отдельных методов.

Описать структуру с именем STUDENT, содержащую следующие поля:
Фамилия;
Имя;
Номер группы;
Личный код (isikukood).

Имя и фамилия хранятся в файле в следующем виде:
первая буква заглавная, остальные прописные.

«Добавление в список» - ввод с клавиатуры данных;
При добавлении новой записи - не допускать добавления повторной записи.
Записи добавляются в порядке сортировки по номеру группы и внутри по фамилиям.

Сделать метод, который проверяет корректность личного кода (isikukood)
– длина 11 символов.

Должна выполняться «контрольная сумма», например





3-е задание



1. Описать структуру card – библиотечная карточка.
Поля структуры:
- заглавие книги;
- имя автора;
- количество экземпляров книг.
Методы:
- store() – заносит информацию о книге в поля класса;
- show() – печатает информацию о книге.
2. Создать класс Lib - библиотека
Поля класса:
- ссылка на массив карточек card;
- int indexCard; - отражает текущее количество заполненных карточек.
Методы:
- конструктор с параметром. Параметр - количество книг, которое будет заноситься в каталог библиотеки. Конструктор будет выделять нужное количество памяти под массив карточек.
- заносит данные в массив карточек. (Используя метод store())
- печатает содержимое массива;
- поиск нужной книги по названию;
- поиск всех книг, которые соответствуют введенному фрагменту названия;
- поиск всех книг заданного автора.
Примечание: Предусмотреть, контроль, чтобы не выйти за границы массива.
Предусмотреть запись/чтение в файл.
3. Создать класс Library – библиотека.
По своим возможностям класс Library является аналогом класса Lib, но работает с динамическим массивом, то есть с объектом класса ArrayList.
Предусмотреть запись/чтение в файл.

Поля класса:
- ссылка на объект класса ArrayList;
Свойство класса (доступ - только чтение):
- int CountCard; - отражает текущее количество заполненных карточек.
Методы:
- конструктор без параметров. Конструктор создает объект класса ArrayList.
- заносит данные в динамический массив. Элемент массива – объект структуры card.
- печатает содержимое динамического массива;
- поиск нужной книги по названию;
- поиск всех книг, которые соответствуют введенному фрагменту названия;
- поиск всех книг заданного автора.
Примечание:
Для пунктов задания 1, 2, 3** разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.
4. Написать тестовую программу:
Для создания экземпляров класса выполнить проверку всех разработанных методов.
Создать меню:
- добавит карточку в каталог
- печать каталога;
- поиск нужной книги по названию;
- поиск по фрагменту названия;
- поиск книг автора.




4-е задание




Пример на наследование классов. Числовая прогрессия – это последовательность значений. Значение каждого элемента прогрессии зависит от одного или более предыдущих членов. В прогрессии должен существовать способ определения первого члена прогрессии, а также способ определения значения текущего (следующего) члена прогрессии.

1. Описать базовый класс Progression.
В этом классе будут описаны «общие» поля и методы числовой прогрессии.
Поля класса:
protected long first; - значение первого члена прогрессии;
protected long cur; - значение текущего члена прогрессии;
Методы класса:
Progression(); - инициализирует переменные класса нулевым значением;
protected long firstValue(); - определяет первый член прогрессии как текущий (cur= first), возвращает значение первого члена прогрессии (текущего);
protected long nextValue(); - переходит к следующему члену прогрессии и
возвращает его значение; (каждый следующий член прогрессии: ++cur;)
public void printProgression(int n); - вычисляет прогрессию и выводит значения первых n членов прогрессии; (n - число членов прогрессии, выводимых на печать)
Замечание: printProgression(int n)
1) определяет первый член прогрессии и его печатает - firstValue()
2) вычисляет следующие n-1 члены прогрессии и печатает их - nextValue()

2. Описать производный от Progression класс арифметической прогрессии ArithProgression.
Класс описывает прогрессию, в которой значение каждого последующего члена
определяется путем прибавления к предыдущему значению приращения inc.
Класс наследует поля first и cur, и методы firstValue() и printProgression(n).
Поля класса:
long inc; - содержит значение приращения.
Методы класса:
- конструктор без параметров – по умолчанию устанавливает приращение =1;
- конструктор, принимающий в качестве параметра значение приращения;
- переопределяется метод nextValue() в соответствии со способом получения
следующего члена арифметической прогрессии.

3. Описать производный от Progression класс геометрической прогрессии GeomProgression.
Класс описывает прогрессию, в которой значение каждого последующего члена
определяется путем умножения значения предыдущего члена на постоянный
множитель (знаменатель геометрической прогрессии).
Класс наследует поля first и cur, методы firstValue() и printProgression(n).
Методы класса:
- конструктор без параметров – устанавливает значение знаменателя =2;
- конструктор, принимающий в качестве параметра значение знаменателя;
(first присваивается значение знаменателя)
- переопределяется метод nextValue() в соответствии со способом получения
значения следующего члена геометрической прогрессии.
Примечание. Если знаменатель геометрической прогрессии >128, то при обращении к методу nextValue() возникает ошибка превышения диапазона чисел типа long .

4. Написать тестовую программу. Получить значения:
- арифметическая прогрессия с заданным по умолчанию значением приращения;
- арифметическая прогрессия со значением приращения 5;
- геометрическая прогрессия с заданным по умолчанию значением знаменателя;
- геометрическая прогрессия со значением знаменателя 3;
геометрическая прогрессия со значением знаменателя 150;




5-е задание




Создать класс ArrayVector
Поля класса:
private Object[] a; // Array storing the elements of the vector
private int capacity = 16; // Length of array a
private int size = 0; // Number of elements stored in the vector

Абстрактный тип данных поддерживает методы
public ArrayVector() { a = new Object[capacity]; } // Constructor

Object elemAtRank(int r) – возвращает элемент массива a с индексом r. Если r<0 или r>size-1 – выдает сообщение об ошибке и возвращает null.
Object replaceAtRank(int r, Object e) – замещает объектом e элемент с индексом r и возвращает заменяемый элемет. Если r<0 или r>size-1 – выдает сообщение об ошибке и возвращает null.
bool insertAtRank(int r, Object e) : r – позиция куда вставляем элемент.
Если r<0 или r>size – выдает сообщение об ошибке.
Если (size+1) больше максимального числа элементов вектора, то происходит реализация на основе расширяемого массива: создается новый массив b длиной 2N (N=capacity), копируется a[i] в b[i], i=0,...,N-1. Присваивается a=b.
Object removeAtRank(int r) Если r<0 или r>size-1 – выдает сообщение об ошибке. Метод возвращает значение, которое было удалено.
int size()
bool isEmpty()

Создать производный класс ArraySet,являющийся расширением класса ArrayVector.
Добавить методы:
bool add(Object o) – элементы добавляются в конец списка и только в том случае, если такого нет в списке, возвращает true, если элемент добавлен , в противном случае – false;

bool insertAtRank(int r, Object e) - элементы добавляются в список только в том случае, если таких нет в списке. r – позиция куда вставляем элемент.
void clear() – очищает весь список; (size = 0 )

Object [] toArray()
  • 0

#2 Warvick

Warvick
  • Пользователь
  • 411 сообщений
  • Откуда:Tallinn

Отправлено 05 Декабрь 2009 - 11:48

за полъящика ящик пива народ поможетъ.
а что за универ такой в котором С# предподаютъ?

Сообщение изменено: Warvick (05 Декабрь 2009 - 11:51 )

  • 0
Да, я такой!

#3 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 05 Декабрь 2009 - 12:31

Это из IATI =) ... Но там не все такие ... Есть и исключения !!!
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#4 ParadoxL

ParadoxL
  • Постоялец
  • 4 756 сообщений
  • Откуда:Edinburg

Отправлено 06 Декабрь 2009 - 01:38

How much is the fish?
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#5 GeNeTiK

GeNeTiK
  • Пользователь
  • 36 сообщений

Отправлено 06 Декабрь 2009 - 16:15

Народ, до 10 декабря мне над это сдать, кто поможет, пол ящика пивасика гарантирую!

Сообщение изменено: GeNeTiK (06 Декабрь 2009 - 16:15 )

  • 0

#6 Mastahh

Mastahh
  • Пользователь
  • 448 сообщений
  • Откуда:Tallinn

Отправлено 07 Декабрь 2009 - 21:43

Это у Шварцман такие задания?
  • 0

#7 Ken0-

Ken0-
  • Пользователь
  • 53 сообщений

Отправлено 07 Декабрь 2009 - 21:49

Ага )) ... просто люди леняться и не хотят учиться ...а потом начинают клянчить ... я сам этого не понимаю.. Зачем тода ваще идти дальше учиться?!
  • 0
Если в слове ХЛЕБ сделать 4 ошибки получиться ПИВО, а если сделать 5 ошибок ... получиться ВОДКА.!!!

#8 GeNeTiK

GeNeTiK
  • Пользователь
  • 36 сообщений

Отправлено 08 Декабрь 2009 - 12:30

Ага )) ... просто люди леняться и не хотят учиться ...а потом начинают клянчить ... я сам этого не понимаю.. Зачем тода ваще идти дальше учиться?!

пля, мы с тобой же на одном курсе учились а потом мя забрали в армию, препод сменился и ты думаешь что я что то помню с явы? и во вторых я не клянчую а покупаю эти задания а в третих ненад куйню не по теме писать!
  • 0