<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=16721&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-06T19:01:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16721&amp;mode</id>
<entry>
<author><name><![CDATA[lukasz94w]]></name></author>
<updated>2016-11-06T19:01:41+01:00</updated>
<published>2016-11-06T19:01:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173965#p173965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173965#p173965"/>
<title type="html"><![CDATA[Re: Rodzielenie zmiennych w funkcji scanf]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173965#p173965"><![CDATA[
Rzeczywiście tak też można zrobić, dzięki za kawałek kodu. Na zasobach mi akurat tak bardzo nie zależy ponieważ używam dość szybkiej (i zasobnej) XMEGI(256A3U). Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13539">lukasz94w</a> — 6 lis 2016, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-11-05T15:45:53+01:00</updated>
<published>2016-11-05T15:45:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173821#p173821</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173821#p173821"/>
<title type="html"><![CDATA[Re: Rodzielenie zmiennych w funkcji scanf]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173821#p173821"><![CDATA[
A nie lepiej to zrobić tak:<br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />int main(int argc, char * argv&#91;&#93;){<br />  int year = 0;<br /><br />  printf(&quot;Enter Year: &quot;);<br />  if (scanf(&quot;%d&quot;, &amp;year) != 1) {<br />    printf(&quot;Error: wrong input!\n&quot;);<br />    exit(EXIT_FAILURE);<br />  }<br /><br />  int year_l = year % 100;<br />  int year_h = year / 100;<br /><br />  printf(&quot;Year: %d, %d%02d&quot;, year, year_h, year_l);<br /><br />  return EXIT_SUCCESS;<br />}[/syntax]Zauważ, że w tym przypadku potrzebne są tylko dwie operacje do uzyskania wartości. I nie potrzeba też deklarować tablicy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 5 lis 2016, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lukasz94w]]></name></author>
<updated>2016-11-04T14:53:27+01:00</updated>
<published>2016-11-04T14:53:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173726#p173726</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173726#p173726"/>
<title type="html"><![CDATA[Rodzielenie zmiennych w funkcji scanf]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16721&amp;p=173726#p173726"><![CDATA[
Witam pisze z dość specyficznym problemem jednak ważne jest dla mnie jego rozwiązanie. Mam następującą sytuację: chcę zrobić zapisywanie roku do RTC (PCF8563). Układ ten niestety przechowuje zakres (dla roku) od 0 do 99. Chcę podawać jego pełny zakres (2010, a nie np 10) i podzielić go na dwie części: jedną do zapisu danych do RTC (część dziesiętna i jedności), oraz drugą do poprawnego wyświetlania czasu (za pomocą funkcji printf). Moja koncepcja wygląda w ten sposób, że podaję rok i zapisuję go za pomocą funkcji:<br />[syntax=c]scanf(&quot;%u:%u&quot;, &amp;xxROK, &amp;rok) //odzielnie tysiące/setki(xxROK) odzielnie dziesiątki/jednosci(rok)[/syntax]<br />poźniej wyświetlam go za pomocą funkcji:<br />[syntax=c]printf(&quot;%u%u&quot;, xxROK, rok)[/syntax]<br />Problem w tym, że przeszkadza mi tryb wprowadzania danych. Chciałbym zrobić to bez konieczności rozdzielania obu części składowych: tzn podawać w ciągu wartość roku (<strong>bez rodzielania ich znakiem&quot;:&quot;</strong> i przepisywać: dwie pierwsze cyfry do zmiennej xxROK, dwie kolejne do zmiennej rok). Czy ktoś widzi rozwiązanie jak to zrobić? Czytałem coś o tokenach jednak nie wiem czy jest to pójście w dobrą stronę. Probowałem też kombinować coś na tablicach jednak bez zadowalającego efektu. Liczę na odpowiedzi i pozdrawiam.<br /><br />EDIT: Rozwiązałem już problem. Zamieszczam kod, gdyby ktoś w przyszłości szukał rozwiązania:<br />[syntax=c]printf(&quot;podaj liczbe&quot;);<br />scanf(&quot;%s&quot;, &amp;tekst);<br />xxROK = (10*(tekst&#91;0&#93;-48)+(tekst&#91;1&#93;-48));<br />rok = (10*(tekst&#91;2&#93;-48)+(tekst&#91;3&#93;-48));<br />printf(&quot;podales liczbe: %d%d\n&quot;, xxROK, rok);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13539">lukasz94w</a> — 4 lis 2016, o 14:53</p><hr />
]]></content>
</entry>
</feed>