<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Código C++ &#187; Teoría</title>
	<atom:link href="http://codigoc.org/cat/teoria/feed" rel="self" type="application/rss+xml" />
	<link>http://codigoc.org</link>
	<description>Ayuda para tu tarea en C++</description>
	<lastBuildDate>Wed, 08 Sep 2010 03:02:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Introducción a string.h</title>
		<link>http://codigoc.org/422-introduccion-a-string-h</link>
		<comments>http://codigoc.org/422-introduccion-a-string-h#comments</comments>
		<pubDate>Wed, 08 Sep 2010 03:02:36 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[cadenas]]></category>
		<category><![CDATA[string.h]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=422</guid>
		<description><![CDATA[string.h es una librería de c++ que contiene funciones que nos facilitan la vida al trabajar con cadenas o strings. Una cadena es un conjunto de caracteres almacenados en una variable. Deberíamos saber que char es un tipo de dato que almacena un caracter, por lo tanto un arreglo lineal de caracteres es una cadena: [...]]]></description>
			<content:encoded><![CDATA[<p><strong>string.h</strong> es una <strong>librería de c++</strong> que contiene funciones que nos facilitan la vida al trabajar con <em>cadenas</em> o <em>strings</em>. Una cadena es un conjunto de caracteres almacenados en una variable.</p>
<p>Deberíamos saber que <strong>char</strong> es un tipo de dato que almacena un caracter, por lo tanto un arreglo lineal de caracteres es una cadena:</p>
<p><code>char str[100];</code></p>
<p>Ahora podemos llenar nuestra cadena..</p>
<p><code>str ="Soy una cadena";</code></p>
<p>&#8230;y mostrarla</p>
<p><code>cout &lt;&lt; str;</code></p>
<p>Pero recuerden que no podemos hacer nada de esto si no tenemos incluida la <strong>librería string.h</strong>. Vamos a ver un programa de ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;string.h&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> esunacadena<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;Soy una cadena&quot;</span>, esunacopia<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>esunacopia, esunacadena<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>esunacopia, <span style="color: #FF0000;">&quot; - copia&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> esunacadena <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> esunacopia<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<ol>
<li>Primero declaramos dos cadenas (&#8216;<em>esunacadena&#8217; y &#8216;esunacopia&#8217;</em>) que pueden tener hasta 100 caracteres, &#8216;<em>esunacadena&#8217;</em> la llenamos con el texto &#8220;<em>Soy una cadena</em>&#8220;.</li>
<li>Luego con la función <strong>strcpy</strong> copiamos el contenido de &#8216;<em>esunacadena&#8217;</em> a &#8216;<em>esunacopia&#8217;</em>. Ahora las dos cadenas tienen el mismo texto.</li>
<li>Ahora con la función <strong>strcat</strong> agregamos el texto &#8221; <em>- copia</em>&#8221; al final de&#8217;<em>esunacopia&#8217;</em>.</li>
<li> Al final solo mostramos las dos cadenas.</li>
</ol>
<p>Bastante fácil ¿no? En los próximos días voy a postear otros programas muy sencillos para seguir checando las funciones mas comunes para trabajar con cadenas. </p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2010. |
<a href="http://codigoc.org/422-introduccion-a-string-h">Permalink</a> |
<a href="http://codigoc.org/422-introduccion-a-string-h#comments">Sin comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/422-introduccion-a-string-h/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obtener numeros aleatorios en C++ (rand, srand)</title>
		<link>http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand</link>
		<comments>http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand#comments</comments>
		<pubDate>Wed, 25 Nov 2009 22:45:03 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[rand]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=354</guid>
		<description><![CDATA[Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedirá que tus programas generen números aleatorios para automatizar el proceso de llenar arreglos y todo eso. Así que lo primero que tenemos que hacer es incluir la librería: #include&#60;stdlib.h&#62; Luego inicializar los números aleatorios incluyendo esto: [...]]]></description>
			<content:encoded><![CDATA[<p>Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedirá que tus programas <strong>generen números aleatorios</strong> para automatizar el proceso de llenar arreglos y todo eso.</p>
<p>Así que lo primero que tenemos que hacer es incluir la librería:<br />
<code>#include&lt;stdlib.h&gt;</code><br />
Luego inicializar los números aleatorios incluyendo esto:<br />
<code>srand(time(NULL));</code><br />
Luego guardar el número aleatorio en alguna parte:<br />
<code>num=rand();</code></p>
<p>Eso es básicamente. Para ajustar el<strong> rango de número aleatorios</strong> podemos hacer varias cosas.</p>
<p>Número aleatorios entre <strong>0 y 50</strong>:<br />
<code>num=rand()%51;</code></p>
<p>Número aleatorios entre<strong> 1 y 100</strong>:<br />
<code>num=1+rand()%(100-1);</code></p>
<p>Número aleatorios entre <strong>250 y 420</strong>:<br />
<code>num=250+rand()%(420-250);</code></p>
<p>De <strong>forma general</strong> es:<br />
<code>variable = limite_inferior + rand() % (limite_superior - limite_inferior) ;</code></p>
<p>Así que un programa que muestre 10 números aleatorios entre 1 y 10 quedaría así:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> num,c<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">srand</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">time</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>c<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>c<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>c<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        num<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #000040;">+</span><span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>num<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand">Permalink</a> |
<a href="http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand#comments">4 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cómo empezar a usar iostream</title>
		<link>http://codigoc.org/280-como-empezar-a-usar-iostream</link>
		<comments>http://codigoc.org/280-como-empezar-a-usar-iostream#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:00:36 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[iostream]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=280</guid>
		<description><![CDATA[Programar es como pensar, cada quien lo hace diferente, y el mismo lenguaje c++ nos facilita diversas formas de hacer las mismas cosas. Por ejemplo, el programa Hola Mundo que hicimos al principio podemos hacerlo utilizando la librería &#60;iostream&#62; en lugar de &#60;stdio.h&#62;: #include&#60;iostream&#62; using namespace std;  // Esta línea es necesaria cuando // utilizamos [...]]]></description>
			<content:encoded><![CDATA[<p>Programar es como pensar, cada quien lo hace diferente, y el mismo lenguaje c++ nos facilita diversas formas de hacer las mismas cosas. Por ejemplo, el programa Hola Mundo que hicimos al principio podemos hacerlo utilizando la librería &lt;iostream&gt; en lugar de &lt;stdio.h&gt;:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>  <span style="color: #666666;">// Esta línea es necesaria cuando</span>
                     <span style="color: #666666;">// utilizamos la librería iostream</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Hola Mundo!&quot;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//cout es el equivalente de printf,</span>
                         <span style="color: #666666;">//si se fijan la sintáxis es muy parecida.</span>
  <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">// cin.get es el equivalente de getch, detiene la ejecución del programa.</span>
&nbsp;
  <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>  <span style="color: #666666;">// No es necesaria para que el programa funcione,</span>
            <span style="color: #666666;">// pero es una buena costumbre indicar que nuestro programa terminó</span>
           <span style="color: #666666;">// sin errores.</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>La sintáxis de <strong>cout</strong> es:<br />
<code>cout &lt;&lt; "<strong>mensaje</strong>" ;</code><br />
Mostrando una variable:<br />
<code>cout &lt;&lt; "El promedio es:" &lt;&lt; <strong>prom</strong> ;</code><br />
El siguiente mensaje aparecerá en una línea nueva:<br />
<code>cout &lt;&lt; "<strong>mensaje</strong>" &lt;&lt; endl;</code></p>
<h3>¿Y cómo leo datos (scanf)?</h3>
<p>Para sustituir <strong>scanf()</strong> usamos <strong>cin</strong>, por ejemplo:<br />
<code>cin &gt;&gt; edad;<br />
Lee los caracteres introducidos y los guarda en la variable <em>edad</em>.</code></p>
<p>Un programita muy simple:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">int</span> edad<span style="color: #008080;">;</span>
  <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Cual es tu edad?: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> edad<span style="color: #008080;">;</span>
  <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span>Tu edad es &quot;</span> <span style="color: #000080;">&lt;&lt;</span> edad<span style="color: #008080;">;</span>
  <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
  <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>En este caso necesitamos usar dos <em>cin.get</em> para detener el programa. Esto se debe al uso de <em>cin</em>.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/280-como-empezar-a-usar-iostream">Permalink</a> |
<a href="http://codigoc.org/280-como-empezar-a-usar-iostream#comments">Un comentario</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/280-como-empezar-a-usar-iostream/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo dejar de usar conio.h</title>
		<link>http://codigoc.org/274-como-dejar-de-usar-conio-h</link>
		<comments>http://codigoc.org/274-como-dejar-de-usar-conio-h#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:29:33 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[borland]]></category>
		<category><![CDATA[conio.h]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=274</guid>
		<description><![CDATA[La librería &#60;conio.h&#62;, es propiedad de Borland y sólo sus compiladores pueden usarla. Por lo tanto significa que conio.h, no es una librería estandar. La librería conio se utiliza más que nada por sus comandos: getch(), clrscr(), gotoxy(), textcolor(), y textbackground(), los cuales usamos para darle mejor presentación a nuestros programas. Pero pensandolo bien, ¿en [...]]]></description>
			<content:encoded><![CDATA[<p>La librería <strong>&lt;conio.h&gt;</strong>, es propiedad de <em>Borland</em> y sólo sus compiladores pueden usarla. Por lo tanto significa que <em>conio.h</em>, <strong>no es una librería estandar</strong>.</p>
<p>La librería <em>conio</em> se utiliza más que nada por sus comandos: <strong>getch()</strong>, <strong>clrscr()</strong>, <strong>gotoxy()</strong>, <strong>textcolor()</strong>, y <strong>textbackground()</strong>, los cuales usamos para darle mejor presentación a nuestros programas. Pero pensandolo bien, ¿en verdad necesitamos que los programas en consola se vean bien? La verdad es que no, lo que importa es que funcionen.</p>
<p>Aún así, algunas funciones de la librería conio.h se pueden <strong>sustituir con funciones estándares</strong>, por ejemplo.</p>
<ul>
<li>Para sustituir getch(), solo necesitamos: <strong>cin.get();</strong> la cual está en &lt;stdio.h&gt;. Si no funciona entonces tendremos que ponerla dos veces: <strong>cin.get();cin.get();</strong>, la cuestión es algo complicada de explicar.</li>
<li>Para sustituir clrscr(), solo necesitamos escribir <strong>system(&#8220;cls&#8221;);</strong> la cual está en &lt;iostream&gt; (<em>es sin .h, se definiría así: #include&lt;iostream&gt;</em>).</li>
<li><strong>Gotoxy()</strong> es algo vanal, y además se puede sustituir usando <strong>\n</strong> (<em>espacio hacia abajo</em>) y <strong>\t</strong> (<em>espacio hacia la derecha</em>) dentro de un <strong>printf();</strong></li>
<li>Y la verdad es que cualquiera te agradecerá que <strong>no</strong> le pongas fondo rosa y letras amarillas a tus programas.</li>
</ul>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/274-como-dejar-de-usar-conio-h">Permalink</a> |
<a href="http://codigoc.org/274-como-dejar-de-usar-conio-h#comments">13 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/274-como-dejar-de-usar-conio-h/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Como usar ciclo While en C++</title>
		<link>http://codigoc.org/268-como-usar-ciclo-while-en-c</link>
		<comments>http://codigoc.org/268-como-usar-ciclo-while-en-c#comments</comments>
		<pubDate>Fri, 16 Oct 2009 00:09:18 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[ciclos]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=268</guid>
		<description><![CDATA[Ya dijimos en el post anterior que los ciclos infinitos for son muy parecidos a los ciclos while, pero quedó en duda cómo es un ciclo while. &#8220;While&#8221; significa &#8220;mientras&#8220;, así que nuestro ciclo while se repetira mientras una cierta condición siga siendo verdadera.El ejemplo del post anterior quedaría así: #include&#60;stdio.h&#62; #include&#60;conio.h&#62; int main&#40;&#41; &#123; [...]]]></description>
			<content:encoded><![CDATA[<p>Ya dijimos en el post anterior que los <a href="http://codigoc.org/251-el-break-y-el-ciclo-infinito">ciclos infinitos for</a> son muy parecidos a los <strong>ciclos while</strong>, pero quedó en duda cómo es un ciclo while.</p>
<p>&#8220;<em>While</em>&#8221; significa &#8220;<em>mientras</em>&#8220;, así que nuestro ciclo while se repetira <strong>mientras</strong> una cierta condición siga siendo verdadera.El ejemplo del post anterior quedaría así:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdio.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
 <span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
 <span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">char</span> end<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
  <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>end<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #FF0000;">'y'</span><span style="color: #008000;">&#41;</span>
  <span style="color: #008000;">&#123;</span>
    gotoxy<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">5</span>,<span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Ya quieres salir? (y/n): &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>,<span style="color: #000040;">&amp;</span>end<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    clrscr<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>En español el programa dice: &#8220;<em>Mientras <strong>end</strong> sea <strong>diferente</strong> de <strong>y</strong> voy a seguir preguntando si quieres salir.</em>&#8221;</p>
<p>Mas adelante veremos más programas que utilicen ciclos while.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/268-como-usar-ciclo-while-en-c">Permalink</a> |
<a href="http://codigoc.org/268-como-usar-ciclo-while-en-c#comments">Sin comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/268-como-usar-ciclo-while-en-c/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El break y el ciclo infinito</title>
		<link>http://codigoc.org/251-el-break-y-el-ciclo-infinito</link>
		<comments>http://codigoc.org/251-el-break-y-el-ciclo-infinito#comments</comments>
		<pubDate>Mon, 12 Oct 2009 02:49:34 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[ciclos]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[infinito]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=251</guid>
		<description><![CDATA[Ya vimos hace poco el ciclo for, y vimos que su estructura era así: for ( inicio ; fin ; aumento ) ¿Qué pasa si no ponemos ni inicio ni fin? Pues obtenemos un ciclo infinito, así: for(;;) ¿Y cómo se detiene? Pues con un break, así: for(;;) { break; } ¿Y esto de que [...]]]></description>
			<content:encoded><![CDATA[<p>Ya vimos hace poco <a href="http://codigoc.org/186-ciclos-for-en-c">el ciclo for</a>, y vimos que su estructura era así:</p>
<blockquote><p>for ( <strong>inicio</strong> ; <strong>fin</strong> ; <strong>aumento</strong> )</p></blockquote>
<p>¿Qué pasa si no ponemos ni inicio ni fin? Pues obtenemos un <strong>ciclo infinito</strong>, así:</p>
<blockquote><p>for(;;)</p></blockquote>
<p>¿Y cómo se detiene? Pues con un <strong>break</strong>, así:</p>
<blockquote><p>for(;;)<br />
{<br />
break;<br />
}</p></blockquote>
<p>¿Y esto de que me sirve? Pues la idea es repetir las instrucciones hasta que el usuario quiera, es decir:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdio.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">char</span> end<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
  <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #008080;">;;</span><span style="color: #008000;">&#41;</span>
  <span style="color: #008000;">&#123;</span>
    gotoxy<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">5</span>,<span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Ya quieres salir? (y/n): &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>,<span style="color: #000040;">&amp;</span>end<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>end<span style="color: #000080;">==</span><span style="color: #FF0000;">'y'</span><span style="color: #008000;">&#41;</span>
      <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    clrscr<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Creo que no les había mencionado que si dentro de una <em>condición if</em> sólo va una instrucción no es necesario poner llaves, y también aplica con los ciclos.</p>
<p>Si el usuario no introduce una &#8216;y&#8217;, el programa nunca se detendrá. Luego vamos a ver que las propiedades de un <strong>ciclo for infinito</strong> son muy parecidas a las del <strong>ciclo while</strong> que veremos más adelante.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/251-el-break-y-el-ciclo-infinito">Permalink</a> |
<a href="http://codigoc.org/251-el-break-y-el-ciclo-infinito#comments">2 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/251-el-break-y-el-ciclo-infinito/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cómo usar goto en C++</title>
		<link>http://codigoc.org/241-como-usar-goto-en-c</link>
		<comments>http://codigoc.org/241-como-usar-goto-en-c#comments</comments>
		<pubDate>Thu, 08 Oct 2009 02:16:42 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[goto]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=241</guid>
		<description><![CDATA[Goto significa ir a y en c++ nos sirve para que mandar al compilador a alguna parte arbitrariamente, es decir nada más porque sí. No se suele usar mucho pero nos puede sacar de algunos apuros. Su uso es más o menos así: codigo codigo LUGAR: codigo mas codigo codigo goto LUGAR; codigo Primero tenemos [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Goto</strong> significa <strong>ir a</strong> y <strong>en c++</strong> nos sirve para que mandar al compilador a alguna parte arbitrariamente, es decir nada más porque sí. No se suele usar mucho pero nos puede sacar de algunos apuros.</p>
<p>Su uso es más o menos así:</p>
<pre>codigo codigo

  LUGAR: codigo
  mas codigo
  codigo

  goto LUGAR;

codigo</pre>
<p>Primero tenemos que definir un marcador, en este caso yo usé LUGAR (<em>recuerden que &#8216;LUGAR&#8217; no es lo mismo que &#8216;lugar&#8217;</em>) e inmediatamente después poner dos puntos (:). Cuando sea necesario escribiremos <strong>goto</strong> seguido de nuestro identificador y punto y como (;).</p>
<p>¿Para qué nos podría servir? Pues en el siguiente post veremos un programa que usa <em>goto</em>.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/241-como-usar-goto-en-c">Permalink</a> |
<a href="http://codigoc.org/241-como-usar-goto-en-c#comments">Sin comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/241-como-usar-goto-en-c/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo usar Gotoxy en C++</title>
		<link>http://codigoc.org/198-como-usar-gotoxy-en-c</link>
		<comments>http://codigoc.org/198-como-usar-gotoxy-en-c#comments</comments>
		<pubDate>Fri, 18 Sep 2009 00:40:59 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[gotoxy]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=198</guid>
		<description><![CDATA[Gotoxy significa go to (x, y), es decir ir a (x, y), donde (x, y) es una coordenada de nuestra pantalla. Se suele usar antes de un printf, para poner el texto en una cierta parte de la pantalla. La pantalla de C++, tiene 24 renglones y 80 columnas, por lo que los valores que [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Gotoxy</strong> significa <em>go to (x, y)</em>, es decir <em>ir a (x, y)</em>, donde <strong>(x, y)</strong> es una coordenada de nuestra pantalla. Se suele usar <span style="text-decoration: underline;">antes</span> de un <a href="http://codigoc.org/12-hola-mundo-en-c">printf</a>, para poner el texto en una cierta parte de la pantalla.</p>
<p>La pantalla de C++, tiene 24 renglones y 80 columnas, por lo que los valores que le pongamos a nuestro gotoxy no deberán pasar de esos valores. <img class="aligncenter" src="http://codigoc.org/wp-content/uploads/2009/09/gotoxy.jpg" alt="gotoxy pantalla" /></p>
<h3>¿Cómo usar gotoxy()?</h3>
<p>Su sintáxis es la siguiente:</p>
<blockquote><p><strong>gotoxy</strong> <strong>(</strong> <em>columna</em> <strong>,</strong> <em>renglón</em> <strong>) ;</strong></p></blockquote>
<p>Así, si queremos que un mensaje salga en la parte inferior de la pantalla, nuestro programa sería el siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdio.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
  gotoxy<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">5</span>,<span style="color: #0000dd;">24</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Hola mundo&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>¡Qué fácil! ¿no?</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/198-como-usar-gotoxy-en-c">Permalink</a> |
<a href="http://codigoc.org/198-como-usar-gotoxy-en-c#comments">31 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/198-como-usar-gotoxy-en-c/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Entendiendo los ciclos en c++</title>
		<link>http://codigoc.org/176-entendiendo-los-ciclos-en-c</link>
		<comments>http://codigoc.org/176-entendiendo-los-ciclos-en-c#comments</comments>
		<pubDate>Tue, 15 Sep 2009 02:01:04 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[ciclos]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=176</guid>
		<description><![CDATA[Como les dije en el programa anterior (¿Aprobó o no aprobó?), los ciclos son algo que un buen programador debe tener muy bien dominado. Pero&#8230; ¿Qué es un ciclo? Un ciclo, aquí y en China, es algo que se repite constantemente. Por ejemplo: Si vamos a la papelería y sacamos 5 copias de una hoja, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://codigoc.org/wp-content/uploads/2009/09/recycle.jpg" alt="ciclo" class="aligncenter"/><br />
Como les dije en el programa anterior (<a href="http://codigoc.org/156-programa-%c2%bfaprobo-o-no-aprobo">¿Aprobó o no aprobó?</a>), los ciclos son algo que un buen programador debe tener muy bien dominado. Pero&#8230;</p>
<h3>¿<strong>Qué es un ciclo</strong>?</h3>
<p>Un ciclo, aquí y en China, es <strong>algo que se repite</strong> constantemente. Por ejemplo:</p>
<ul>
<li>Si vamos a la papelería y sacamos 5 copias de una hoja, cada vez que se imprime una hoja se completa un ciclo y se repite hasta completar las cinco repeticiones</li>
<li>Si saben algo de guitarra, abran oído del &#8216;círculo de sol&#8217;; son cuatro acordes que se repiten constantemente a lo largo de una canción, cada vez que tocas los cuatro acordes se completa un ciclo</li>
<li>Si ponen un CD de música en un reproductor, cada vez que suenen todas las canciones del disco se completa un ciclo</li>
</ul>
<h3>¿Cómo serían los programas de esos ejemplos?</h3>
<p>Para sacar copias</p>
<blockquote><p>Desde <em>x=1</em> hasta <em>5</em><br />
{<br />
imprimir<br />
}</p></blockquote>
<p>Para tocar el circulo de Sol</p>
<blockquote><p>Desde <em>x=1</em> hasta <em>fin de la canción</em><br />
{<br />
tocar Sol<br />
tocar Mi menor<br />
tocar La menor<br />
tocar Re 7<br />
}</p></blockquote>
<p>Para tocar CD</p>
<blockquote><p>Desde <em>x=1</em> hasta <em>número de canciones</em><br />
{<br />
tocar canción x<br />
}</p></blockquote>
<p>Los primeros dos están muy fáciles de entender: las acciones dentro de las llaves {} se repiten determinado número de veces y ese valor puede ser constante (<em>como las copias</em>) o variable (<em>como el fin de la canción</em>). El tercer ejemplo tiene algo complicado, pero que es la &#8216;escencia&#8217; de los ciclos.</p>
<p>Supongamos que ese disco tiene 5 canciones, podríamos programarlo así:</p>
<blockquote><p>tocar canción 1<br />
tocar canción 2<br />
tocar canción 3<br />
tocar canción 4<br />
tocar canción 5</p></blockquote>
<p>O así:</p>
<blockquote><p>Desde x=1 hasta 5<br />
{<br />
tocar canción x<br />
}</p></blockquote>
<p>Esta es la verdadera utilidad de los ciclos, ahorrar código.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/176-entendiendo-los-ciclos-en-c">Permalink</a> |
<a href="http://codigoc.org/176-entendiendo-los-ciclos-en-c#comments">Un comentario</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/176-entendiendo-los-ciclos-en-c/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Condiciones (decisiones) en C++ &#8211; if, else</title>
		<link>http://codigoc.org/134-condiciones-decisiones-en-c-if-else</link>
		<comments>http://codigoc.org/134-condiciones-decisiones-en-c-if-else#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:24:30 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Teoría]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[condiciones]]></category>
		<category><![CDATA[if else]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=134</guid>
		<description><![CDATA[¿Cómo harían para saber si alguien es mayor o menor de edad? Creo que los pasos serían: Preguntarle su edad Si tiene 18 o más entonces es mayor de edad Si no, es menor de edad Metiendonos al lenguaje de C++, quedaría algo así: scanf(&#8220;%d&#8221;, &#38;edad); if(edad&#62;=18) { printf(&#8220;Es mayor de edad&#8221;); } else { [...]]]></description>
			<content:encoded><![CDATA[<p>¿Cómo harían para saber si alguien es mayor o menor de edad? Creo que los pasos serían:</p>
<ol>
<li>Preguntarle su edad</li>
<li>Si tiene 18 o más entonces es mayor de edad</li>
<li>Si no, es menor de edad</li>
</ol>
<p>Metiendonos al <strong>lenguaje de C++</strong>, quedaría algo así:</p>
<ol>
<li>scanf(&#8220;%d&#8221;, &amp;edad);</li>
<li><strong>if</strong>(<strong>edad&gt;=18</strong>) <strong>{</strong> printf(&#8220;Es mayor de edad&#8221;); <strong>}</strong></li>
<li><strong>else </strong><strong>{</strong> printf(&#8220;Es menor de edad&#8221;); <strong>}</strong></li>
</ol>
<p><strong>if</strong> significa <strong>si</strong> y <strong>else</strong> significa <strong>si no</strong></p>
<p><strong>edad&gt;=18</strong> es una comparación. Si la variable &#8216;edad&#8217; es mayor o igual a 18, se hacen las instrucciones que están entre las llaves <strong>{}</strong> del if; si no es así, se realizan las instrucciones que están entre las llaves del <em>else.</em></p>
<p>El programa en sí quedaría de la siguiente forma:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdio.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">int</span> edad<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
  <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Cual es tu edad?: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>edad<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>edad<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">18</span><span style="color: #008000;">&#41;</span>
  <span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Eres mayor de edad&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #008000;">&#125;</span>
  <span style="color: #0000ff;">else</span>
  <span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Eres menor de edad&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  <span style="color: #008000;">&#125;</span>
  getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Un <em>if</em> no tiene que tener un <em>else</em> &#8216;a fuerzas&#8217;, es opcional. Es muy importante que se fijen muy bien en las llaves, cada <em>if</em> tiene su llave de apertura y de cierre, al igual que el <em>else</em>. </p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2009. |
<a href="http://codigoc.org/134-condiciones-decisiones-en-c-if-else">Permalink</a> |
<a href="http://codigoc.org/134-condiciones-decisiones-en-c-if-else#comments">2 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/134-condiciones-decisiones-en-c-if-else/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
