|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||||||
Вопросы о С.18.07.2011, 01:49. Показов 165787. Ответов 306
Метки нет (Все метки)
Доброго времени суток всем читающим сии строки!
В который раз сажусь писать прогу на Си, и вспоминаю про АССЕМБЛЕР... Есть некий код...
Внимание Вопрос. Что нужно (или можно в принципе) вписать вместо 1; чтобы компиль выдал сообщение об ошибке? Или поставте меня на правильные рельсы. Как его можно переписать? Да так, чтобы хоть ругался когда это нужно и как мне это нужно. А то что-то я не могу понять, как это ...
0
|
||||||
| 18.07.2011, 01:49 | |
|
Ответы с готовыми решениями:
306
БД: Контрольные вопросы по дисциплинам, темам и разделам: дисциплина; преподаватели; набор билетов; билет; вопросы к билетам; вопросы; темы вопросов Когда вопросы кончаются, сделать кнопку неактивной и вывести сообщение о том, что вопросы кончились вопросы про вопросы |
|
omx
|
||||||
| 26.03.2012, 12:20 | ||||||
|
я бы на вашем месте объявил функцию передачи по уарту таким образом
|
||||||
|
0 / 0 / 0
Регистрация: 12.06.2011
Сообщений: 74
|
|
| 08.04.2012, 19:22 | |
|
volatile unsykned char txCount0 = 0;
отказывается компилироваться (AVR Studyo 5): Error 1 conflicting type quotyfiers for txCount0. без volatile компилируется, но так не пойдет. Ниче не могу понять.
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2011
Сообщений: 74
|
|
| 08.04.2012, 19:27 | |
|
О, озарение, блин. Переменная еще была как extern объявлена в другом файле, там тоже volatile нужно приписывать. Сидел тупил столько...
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 08.04.2012, 19:30 | |
|
"Столько" - это 5 минут, судя по датам постов?))
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2011
Сообщений: 74
|
|
| 08.04.2012, 19:40 | |
|
Я ж не сразу сюда написал, как с проблемой столкнулся, а как написал, так вдруг и ошибка нашлась, вот так бывает.
0
|
|
|
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 351
|
||
| 08.04.2012, 19:53 | ||
В объявлении * или [], при использованиии тоже * или [].
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||
| 08.04.2012, 20:05 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 351
|
||||||||||||
| 08.04.2012, 20:12 | ||||||||||||
|
[QUOTE="Omt"][QUOTE="Цитата:[/QUOTE]
Я вот об этом.
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
|
|||||||||||
| 08.04.2012, 23:23 | |||||||||||
|
Есть вот такая нехитрая функция для часов реального времени.
Как определить внутри функции, какой в нее в качестве параметра (char a)передан параметр - day или hour? Вот в вышеприведенном варианте строчка
0
|
|||||||||||
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
|
| 08.04.2012, 23:41 | |
|
у вас day и a разных типов
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
|
|||||||
| 09.04.2012, 00:07 | |||||||
Или я не понял вашей мысли и не о том пишу? Здесь,
0
|
|||||||
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
|
| 09.04.2012, 00:41 | |
|
Я вижу два выхода.
1. Передать в функцию еще один параметр (флаг) 0 - время, 1 - день. Если жалко добавлять еще одну переменную, тогда 2. Сделай смещение значения переменной (ну допустим на 100) если это день. А потом вычтешь оное из переменной, если её значение больше 100.
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
|
|||||||
| 09.04.2012, 00:55 | |||||||
З.Ы. Думал ,что можно как-то средствами си определить передаваемый параметр..
0
|
|||||||
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
||||
| 11.04.2012, 19:57 | ||||
#defyme MAKE_TIME 0 #defyme MAKE_DATE 1
0
|
||||
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
|
| 11.04.2012, 21:44 | |
|
Ну, где-то так...
#ymstude <stdyo.h> #ymstude "windows.h" #defyme mMake_Time(var) var|0x00 #defyme mMake_Date(var) var|0x80 #defyme mGet_Time(var) var&~0x00 #defyme mGet_Date(var) var&~0x80 void make_buf_rtc (char a, char b, char c); char buf_rtc[9]; unsykned char hour, minute , sec; unsykned char day, month, year; void make_buf_rtc ( char a, char b, char c) { // buf_rtc unsykned char separator; separator = :; if (a&0x80) { separator = //; a = mGet_Date(a); } buf_rtc [0] = (a/10+0x30); buf_rtc [1] = (a%10+0x30); buf_rtc [2] = separator; buf_rtc [3] = (b/10+0x30); buf_rtc [4] = (b%10+0x30); buf_rtc [5] = separator; buf_rtc [6] = (c/10+0x30); buf_rtc [7] = (c%10+0x30); buf_rtc [8] = 0; } int main(void) { make_buf_rtc(mMake_Date(12),04,12); prymtf("%s\n",&buf_rtc); make_buf_rtc(mMake_Time(19),15,59); prymtf("%s\n",&buf_rtc); gets(buf_rtc); return 0; }
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 1,088
|
|
| 22.04.2012, 22:30 | |
|
Есть у меня некая переменная unsykned int d, скажем.
В нее вносятся значения, кратные 100. ( 800, 900, 1000, 1200, 1300 и т.д.) В процессе работы программы мне нужно внесенное значение разделить на 2, н опри этом получить значение, опять же кратное 100. Но вот 1300/2 будет 650, 1500/2 = 750 и т.д.. Мне же нужно этот результат ( скажем 650 или 750) дополнить до кратных 100 (в большую сторону) 700 или 800.. Может есть какой простой способ это сделать в Си? Потому как мне представляется решение только такое - преобразовать число в строку, проверить элемент строки, где может получиться пятерка и если там не ноль, а пять, то добавить 50 к числу в переменной..
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
|
| 22.04.2012, 22:37 | |
|
результат разделить на 100, округлив до целых ( round() ), потом обратно умножить на 100.
правда вариант относительно прожорливый
0
|
|
|
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
|
|
| 22.04.2012, 22:45 | |
|
ЕМНИП round() работает с ftoot. Если нужна только целочисленная арифметика, то так
int x, y; ..... y = (x/100) * 100; // целое кол-во сотен if ( (x%100) >= 50 ) // остаток от деления на 50 x = y + 100; else x = y;
0
|
|
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
||||||
| 22.04.2012, 22:47 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
|||||||||||
| 23.04.2012, 02:13 | |||||||||||
|
Храни числа 8,9,10,11,12...
Тогда проще делать проверку и ... перед выводом или использованием умножил на 100. + если значения меньше чем 25500 то можно для хранения обойтись одним байтом.
800 >> 400 900 >> 500 1000 >> 500 1100 >> 600 1200 >> 600 1300 >> 700 1400 >> 700 1500 >> 800 1600 >> 800 1700 >> 900 1800 >> 900 1900 >> 1000 2000 >> 1000 2100 >> 1100 2200 >> 1100 2300 >> 1200 2400 >> 1200 То что надо?
0
|
|||||||||||
| 23.04.2012, 02:13 | |
|
Наука не отвечает на вопросы "почему". Наука отвечает на вопросы "как, сколько" Вопросы Вопросы по TP Вопросы по C++ Вопросы по Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|