Вы находитесь на странице: 1из 7

334/5000

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

Задание 2 - упражнение 5.23 текста. Это описано на странице 206 текста. ОБЯЗАТЕЛЬНО
ПРОЧИТАЙТЕ ЕГО !!!
В этот файл Assign02_Start.zip также включен выпуск .exe, созданный из моего
решения. Ваш вывод должен выглядеть как IDENTICAL для вывода, отображаемого в .exe
с эквивалентными данными теста. Проверьте мой .exe с действительными и
недействительными данными. Под этим я подразумеваю действительные и
недействительные времена. Во всех случаях вводимые данные должны быть
действительными int data - см. Следующий параграф.
Я предоставил исходный файл .c, который вы должны использовать. Вы не можете
изменять какой-либо код, который я предоставил, только добавлять к нему. Обратите
внимание, что я предоставил прототип 2-й функции, которую вы должны использовать в
своем решении. Вам нужно будет предоставить реализацию для этой 2-й функции.
ОБРАТИТЕ ВНИМАНИЕ: Реализация функций должна следовать после функции main ().

ОБРАТИТЕ ВНИМАНИЕ: Избегайте использования неконстантных глобальных переменных в


вашем решении.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Мое решение работает правильно, только если
пользователь вводит допустимые значения int. Поэтому ваше решение должно работать
правильно только для правильных данных int. Другими словами, он не должен
обрабатывать ввод мусора, такой как символы или значения с плавающей запятой вместо
значений int.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: ваш тестовый вывод, который вы отправляете вместе с
решением, должен использовать идентичные данные, которые я использовал при создании
файла «Test output.txt», включенного в папку Assign02_Start.zip.

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: ВЫ ДОЛЖНЫ СЛЕДУЕТ СЛЕДОВАТЬ ИНСТРУКЦИЯМ НИЖЕ ДЛЯ


_ALL_ НАЗНАЧЕНИЙ НА ЭТОМ КУРСЕ
1) Отправьте свое решение в выпадающий список D2L до истечения срока. Решение
должно включать мягкую копию результатов теста, созданного вашим решением.
Пожалуйста, внимательно изучите документ «Как отправить в D2L.txt». Если ваше
решение не компилируется или не компилируется, предоставьте мягкую копию сообщений
об ошибках вместо результатов теста. Я приведу отдельные инструкции о том, как
создать электронную копию тестового вывода - «Как сохранить электронную копию
содержимого консоли Window.txt». Если я не предоставлю вам тестовые данные для
задания, вы должны создать свои собственные тестовые данные, которые подтвердят,
что ваше решение работает в соответствии с планом. Это может потребовать, чтобы вы
выполнили свое решение несколько раз, каждый раз сохраняя вывод, который ваше
решение производит, в файл «Test Output.txt», который вы передадите вместе со своим
решением. Если вы не отправите свое решение в выпадающий список D2l до истечения
срока, вы получите отметку 0 в задании. Без исключений!
2) Вы должны сдать твердую копию (распечатка на бумаге, другими словами) кода,
который вы написали или изменили (файлы .h и .c). Вы также должны включить печатную
копию результатов теста. Если ваше решение не компилируется или не компилируется,
предоставьте печатную копию сообщений об ошибках вместо результатов теста. Они
должны быть сданы в начале урока.
3) ЖЕСТКИЕ КОПИРОВАННЫЕ ФАЙЛЫ, КОТОРЫЕ ВЫ СДЕЛАЕТЕ В НАЧАЛЕ КЛАССА, ДОЛЖНЫ
СОГЛАСОВАТЬСЯ ТОЛЬКО С ФАЙЛАМИ, КОТОРЫМИ ВЫ ПОДПИСАЛИ DROPBOX D2L ПЕРЕД КРЕМНИЕМ.
ЕСЛИ Я ЧУВСТВУЮ, ЧТО ВЫ ПОЛУЧИЛИ В РАБОТЕ СДЕЛАНО ПОСЛЕ ДЕЙСТВИЯ D2L, ВЫ ПОЛУЧИТЕ
МАРКУ 0 НА НАЗНАЧЕНИИ.
4) Вы рискуете потерять оценки, если ваш вывод не отформатирован идентично примеру
вывода или .exe, который я предоставляю для назначения. Не обращайте внимания на
это предупреждение на свой страх и риск.
5) Стандарт кодирования, который вы будете использовать для этого и будущих
заданий, находится в ShareOut. Он находится в файле "Comp 2511 Coding
Standard.doc".
6) Общая схема маркировки, которая будет использоваться, также есть в ShareOut -
это файл с названием «Generic Assign Marking Scheme.doc». Я предоставлю конкретную
схему маркировки, которую я использовал, чтобы отметить назначение, когда я верну
вам отмеченное назначение.
Если у вас есть какие-либо вопросы, отправьте их на доску обсуждений D2L или
отправьте мне электронное письмо.
Zadaniye 2 - uprazhneniye 5.23 teksta. Eto opisano na stranitse 206 teksta.
OBYAZATEL'NO PROCHITAYTE YEGO !!!
V etot fayl Assign02_Start.zip takzhe vklyuchen vypusk .exe, sozdannyy iz moyego
resheniya. Vash vyvod dolzhen vyglyadet' kak IDENTICAL dlya vyvoda, otobrazhayemogo
v .exe s ekvivalentnymi dannymi testa. Prover'te moy .exe s deystvitel'nymi i
nedeystvitel'nymi dannymi. Pod etim ya podrazumevayu deystvitel'nyye i
nedeystvitel'nyye vremena. Vo vsekh sluchayakh vvodimyye dannyye dolzhny byt'
deystvitel'nymi int data - sm. Sleduyushchiy paragraf.
YA predostavil iskhodnyy fayl .c, kotoryy vy dolzhny ispol'zovat'. Vy ne mozhete
izmenyat' kakoy-libo kod, kotoryy ya predostavil, tol'ko dobavlyat' k nemu.
Obratite vnimaniye, chto ya predostavil prototip 2-y funktsii, kotoruyu vy dolzhny
ispol'zovat' v svoyem reshenii. Vam nuzhno budet predostavit' realizatsiyu dlya
etoy 2-y funktsii.
OBRATITE VNIMANIYe: Realizatsiya funktsiy dolzhna sledovat' posle funktsii main ().

OBRATITE VNIMANIYe: Izbegayte ispol'zovaniya nekonstantnykh global'nykh peremennykh


v vashem reshenii.
POZHALUYSTA, OBRATITE VNIMANIYe: Moye resheniye rabotayet pravil'no, tol'ko yesli
pol'zovatel' vvodit dopustimyye znacheniya int. Poetomu vashe resheniye dolzhno
rabotat' pravil'no tol'ko dlya pravil'nykh dannykh int. Drugimi slovami, on ne
dolzhen obrabatyvat' vvod musora, takoy kak simvoly ili znacheniya s plavayushchey
zapyatoy vmesto znacheniy int.
POZHALUYSTA, OBRATITE VNIMANIYe: vash testovyy vyvod, kotoryy vy otpravlyayete
vmeste s resheniyem, dolzhen ispol'zovat' identichnyye dannyye, kotoryye ya
ispol'zoval pri sozdanii fayla «Test output.txt», vklyuchennogo v papku
Assign02_Start.zip.

POZHALUYSTA, OBRATITE VNIMANIYe: VY DOLZHNY SLEDUYET SLEDOVAT' INSTRUKTSIYAM NIZHE


DLYA _ALL_ NAZNACHENIY NA ETOM KURSE
1) Otprav'te svoye resheniye v vypadayushchiy spisok D2L do istecheniya sroka.
Resheniye dolzhno vklyuchat' myagkuyu kopiyu rezul'tatov testa, sozdannogo vashim
resheniyem. Pozhaluysta, vnimatel'no izuchite dokument «Kak otpravit' v D2L.txt».
Yesli vashe resheniye ne kompiliruyetsya ili ne kompiliruyetsya, predostav'te
myagkuyu kopiyu soobshcheniy ob oshibkakh vmesto rezul'tatov testa. YA privedu
otdel'nyye instruktsii o tom, kak sozdat' elektronnuyu kopiyu testovogo vyvoda -
«Kak sokhranit' elektronnuyu kopiyu soderzhimogo konsoli Window.txt». Yesli ya ne
predostavlyu vam testovyye dannyye dlya zadaniya, vy dolzhny sozdat' svoi
sobstvennyye testovyye dannyye, kotoryye podtverdyat, chto vashe resheniye
rabotayet v sootvetstvii s planom. Eto mozhet potrebovat', chtoby vy vypolnili
svoye resheniye neskol'ko raz, kazhdyy raz sokhranyaya vyvod, kotoryy vashe
resheniye proizvodit, v fayl «Test Output.txt», kotoryy vy peredadite vmeste so
svoim resheniyem. Yesli vy ne otpravite svoye resheniye v vypadayushchiy spisok D2l
do istecheniya sroka, vy poluchite otmetku 0 v zadanii. Bez isklyucheniy!
2) Vy dolzhny sdat' tverduyu kopiyu (raspechatka na bumage, drugimi slovami) koda,
kotoryy vy napisali ili izmenili (fayly .h i .c). Vy takzhe dolzhny vklyuchit'
pechatnuyu kopiyu rezul'tatov testa. Yesli vashe resheniye ne kompiliruyetsya ili
ne kompiliruyetsya, predostav'te pechatnuyu kopiyu soobshcheniy ob oshibkakh vmesto
rezul'tatov testa. Oni dolzhny byt' sdany v nachale uroka.
3) ZHESTKIYe KOPIROVANNYYe FAYLY, KOTORYYe VY SDELAYETE V NACHALE KLASSA, DOLZHNY
SOGLASOVAT'SYA TOL'KO S FAYLAMI, KOTORYMI VY PODPISALI DROPBOX D2L PERED KREMNIYEM.
YESLI YA CHUVSTVUYU, CHTO VY POLUCHILI V RABOTE SDELANO POSLE DEYSTVIYA D2L, VY
POLUCHITE MARKU 0 NA NAZNACHENII.
4) Vy riskuyete poteryat' otsenki, yesli vash vyvod ne otformatirovan identichno
primeru vyvoda ili .exe, kotoryy ya predostavlyayu dlya naznacheniya. Ne
obrashchayte vnimaniya na eto preduprezhdeniye na svoy strakh i risk.
5) Standart kodirovaniya, kotoryy vy budete ispol'zovat' dlya etogo i budushchikh
zadaniy, nakhoditsya v ShareOut. On nakhoditsya v fayle "Comp 2511 Coding
Standard.doc".
6) Obshchaya skhema markirovki, kotoraya budet ispol'zovat'sya, takzhe yest' v
ShareOut - eto fayl s nazvaniyem «Generic Assign Marking Scheme.doc». YA
predostavlyu konkretnuyu skhemu markirovki, kotoruyu ya ispol'zoval, chtoby
otmetit' naznacheniye, kogda ya vernu vam otmechennoye naznacheniye.
Yesli u vas yest' kakiye-libo voprosy, otprav'te ikh na dosku obsuzhdeniy D2L ili
otprav'te mne elektronnoye pis'mo.
Показати більше
Надіслати відгук
Історія
Збережено
Спільнота

В прошлом студенты спрашивали меня, как создать электронную копию вывода,


отображаемого в окне консоли (где выводится вывод вашей программы). Вот один из
способов сделать это:

- щелкните левой кнопкой мыши значок «c: \» в левом верхнем углу окна консоли.
Должно появиться выпадающее меню. Выберите «изменить», а затем «выбрать все». Текст
в окне консоли должен стать выделенным.

- нажмите клавишу ввода на клавиатуре - это приведет к копированию текста,


выбранного на предыдущем шаге. Текст в окне консоли больше не будет выделен.

- откройте текстовый документ (.txt) и вставьте только что скопированный вывод в


документ. Вставка в документ Word вместо этого не рекомендуется, поскольку это
часто приводит к появлению лишних пустых строк.

При желании вы можете затем распечатать документ .txt, чтобы получить печатную
копию вывода.

Вам нужно будет создать папку на вашем компьютере (или лабораторный компьютер) с
именем:

A00nnnnnn_LastName_AssignXX

где A00nnnnnn - ваш студент BCIT, LastName - ваша фамилия, а XX - 01 для Assign01,
02 для Assign02 и т. д.

Вам нужно будет поместить в вашу папку A00nnnnnn__LastName_AssignXX файлы .h и .c,


созданные для вашего решения Assignment, и файл .txt под названием «Test
Output.txt», содержащий выходные данные теста, созданные вашим решением. См. Файл
«Как сохранить мягкую копию содержимого консольного окна .txt», чтобы узнать, как
создать файл «Test Output.txt». Для некоторых заданий я предоставлю вам тестовые
данные, а для других заданий вам нужно будет создать свои собственные тестовые
данные. Важно, чтобы вы НЕ помещали файлы проекта или папки в папку отправки.
Обратите внимание, что архивирование папки, такой как A00nnnnnn_LastName_Assign01,
преобразует папку в ZIP-файл. Чтобы преобразовать папку в ZIP-файл, просто щелкните
правой кнопкой мыши папку для архивирования и выберите:

Отправить в ==> Сжатая (zip) папка

Исходная папка все еще будет существовать, но файл .zip будет создан, и он должен
автоматически иметь то же имя, что и исходная папка, но с расширением .zip.

Последний шаг - перетащить файл A00nnnnnn_LastName_AssignXX.zip в папку выпадающего


списка AssignXX до запрограммированного срока. Если вы опоздали, система D2L НЕ
примет это, и вы не получите оценку за ваше назначение ;-(

Я рекомендую вам отправить решение в Dropbox D2L, если у вас есть работающее
решение, даже если вы не полностью удовлетворены им. Вы можете отправить несколько
копий в одну папку Dropbox - другое имя файла не требуется. Таким образом, если
что-то пойдет не так, по крайней мере, вы отправили решение в Dropbox.

Большинство из вас уже делали подобные представления на других курсах. Для тех, кто
плохо знаком с этим процессом, прочитайте мои дополнительные инструкции ниже:

Чтобы отправить свое задание, вам необходимо сначала войти в систему по адресу:

https://learn.bcit.ca

Инструкции по использованию раскрывающегося списка находятся в ссылке,


расположенной в левой части веб-страницы под названием «Dropbox» (одна из ссылок
под ссылкой «Начало работы»), или вы можете просто вставить следующий URL-адрес в
браузер:

https://learn.bcit.ca/shared/documents/DropboxUserGuide-V8.3.0.pdf

Если вы хотите выполнить тренировку, вы можете отправить в выпадающий список


AssignXX файл .zip, например: A00nnnnnn_practice1.zip (где A00nnnnnn должен быть
идентификатором ВАШЕГО BCIT студента). Вы можете отправить более одного файла .zip
в раскрывающийся список, чтобы маркер мог игнорировать это представление, поскольку
вы создали его со словом «практика» в названии. Когда вы будете готовы отправить
свое НАСТОЯЩЕЕ задание, вам следует отправить ZIP-файл
A00nnnnnn_LastName_AssignXX.zip в раскрывающийся список AssignXX.

ТЕСТ № 1
=======

Введите значение первого часа (0-23): 0

Введите значение первой минуты (0-59): 0

Введите первое второе значение (0-59): 0

Введите значение второго часа (0-23): 23

Введите значение второй минуты (0-59): 59

Введите второе второе значение (0-59): 59

Первое время ввода, преобразованное в секунды: 0


Второе время ввода, преобразованное в секунды: 86399

Разница в секундах между двумя временами ввода: 86399

ТЕСТ № 2
=======

Введите значение первого часа (0-23): 1

Введите значение первой минуты (0-59): 1

Введите первое второе значение (0-59): 1

Введите значение второго часа (0-23): 0

Введите значение второй минуты (0-59): 0

Введите второе второе значение (0-59): 0

Первое время ввода, преобразованное в секунды: 3661


Второе время ввода, преобразованное в секунды: 0

Разница в секундах между двумя временами ввода: 3661

ТЕСТ № 3

Введите значение первого часа (0-23): -1


Введено неверное значение, введите действительное значение между 0 и 23: 24
Введено неверное значение, введите действительное значение между 0 и 23: 10

Введите значение первой минуты (0-59): -1


Введено неверное значение, введите действительное значение между 0 и 59: 60
Введено неверное значение, введите действительное значение между 0 и 59: 10

Введите первое второе значение (0-59): -1


Введено неверное значение, введите действительное значение между 0 и 59: 60
Введено неверное значение, введите действительное значение между 0 и 59: 10

Введите значение второго часа (0-23): 20

Введите значение второй минуты (0-59): 20

Введите второе второе значение (0-59): 20

Первое время ввода, преобразованное в секунды: 36610


Второе время ввода, преобразованное в секунды: 73220

Разница в секундах между двумя временами ввода: 36610

=======
TEST № 1
=======

Vvedite znacheniye pervogo chasa (0-23): 0

Vvedite znacheniye pervoy minuty (0-59): 0

Vvedite pervoye vtoroye znacheniye (0-59): 0

Vvedite znacheniye vtorogo chasa (0-23): 23

Vvedite znacheniye vtoroy minuty (0-59): 59

Vvedite vtoroye vtoroye znacheniye (0-59): 59

Pervoye vremya vvoda, preobrazovannoye v sekundy: 0


Vtoroye vremya vvoda, preobrazovannoye v sekundy: 86399

Raznitsa v sekundakh mezhdu dvumya vremenami vvoda: 86399

TEST № 2
=======

Vvedite znacheniye pervogo chasa (0-23): 1

Vvedite znacheniye pervoy minuty (0-59): 1

Vvedite pervoye vtoroye znacheniye (0-59): 1

Vvedite znacheniye vtorogo chasa (0-23): 0

Vvedite znacheniye vtoroy minuty (0-59): 0

Vvedite vtoroye vtoroye znacheniye (0-59): 0

Pervoye vremya vvoda, preobrazovannoye v sekundy: 3661


Vtoroye vremya vvoda, preobrazovannoye v sekundy: 0

Raznitsa v sekundakh mezhdu dvumya vremenami vvoda: 3661

TEST № 3

Vvedite znacheniye pervogo chasa (0-23): -1


Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 23: 24
Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 23: 10

Vvedite znacheniye pervoy minuty (0-59): -1


Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 59: 60
Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 59: 10

Vvedite pervoye vtoroye znacheniye (0-59): -1


Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 59: 60
Vvedeno nevernoye znacheniye, vvedite deystvitel'noye znacheniye mezhdu 0 i 59: 10

Vvedite znacheniye vtorogo chasa (0-23): 20

Vvedite znacheniye vtoroy minuty (0-59): 20

Vvedite vtoroye vtoroye znacheniye (0-59): 20

Pervoye vremya vvoda, preobrazovannoye v sekundy: 36610


Vtoroye vremya vvoda, preobrazovannoye v sekundy: 73220

Raznitsa v sekundakh mezhdu dvumya vremenami vvoda: 36610

=======
Показати більше