<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>CreativeSoft</title>
	<atom:link href="http://creativesoft.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://creativesoft.wordpress.com</link>
	<description>Cesar Omar Sagastegui Albor</description>
	<lastBuildDate>Wed, 15 Dec 2010 02:17:56 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='creativesoft.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>CreativeSoft</title>
		<link>http://creativesoft.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://creativesoft.wordpress.com/osd.xml" title="CreativeSoft" />
	<atom:link rel='hub' href='http://creativesoft.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Agenda en C++ con clases</title>
		<link>http://creativesoft.wordpress.com/2008/10/30/agenda-en-c-con-clases/</link>
		<comments>http://creativesoft.wordpress.com/2008/10/30/agenda-en-c-con-clases/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:58:54 +0000</pubDate>
		<dc:creator>CreativeSoft Café</dc:creator>
				<category><![CDATA[Programacion C++]]></category>
		<category><![CDATA[añade]]></category>
		<category><![CDATA[actualiza]]></category>
		<category><![CDATA[Agenda]]></category>
		<category><![CDATA[Agenda en c++ con clases (Crea]]></category>
		<category><![CDATA[Archivos]]></category>
		<category><![CDATA[Archivos en borland c++]]></category>
		<category><![CDATA[Archivos en c++]]></category>
		<category><![CDATA[archivos en c++ con clases]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[elimina]]></category>
		<category><![CDATA[elimina y ordena registros.) con clases.]]></category>
		<category><![CDATA[Lee]]></category>
		<category><![CDATA[modifica]]></category>
		<category><![CDATA[ordena]]></category>

		<guid isPermaLink="false">http://creativesoft.wordpress.com/?p=43</guid>
		<description><![CDATA[Agenda en c++ con clases (Crea,Lee,actualiza,elimina y ordena registros.) con clases.
Cesar Omar Sagastegui Albor
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=creativesoft.wordpress.com&amp;blog=3245671&amp;post=43&amp;subd=creativesoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>// Este es el cuerpo del programa</p>
<p>#include &lt;iostream.h&gt;</p>
<p>#include &lt;stdio.h&gt;</p>
<p>#include &lt;conio.h&gt;</p>
<p>#include &lt;stdlib.h&gt;</p>
<p>#include&#8221;creative.h&#8221;</p>
<p> </p>
<p>char numero[6];</p>
<p> </p>
<p>int Menu();</p>
<p>int Menuelim();</p>
<p>int Menumod();</p>
<p>int Menumos();</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>void main()</p>
<p>{</p>
<p> </p>
<p> </p>
<p>   int op,op2,op4;</p>
<p>   long numero;</p>
<p>     arch = fopen(&#8220;Archivo.cs&#8221;, &#8220;r+b&#8221;);</p>
<p>     if(!arch) arch = fopen(&#8220;Archivo.cs&#8221;, &#8220;w+b&#8221;);</p>
<p> </p>
<p> </p>
<p> do {</p>
<p>      op = Menu();</p>
<p>   switch(op) {</p>
<p>         case 1:</p>
<p> </p>
<p>              do{</p>
<p> </p>
<p>                clrscr();</p>
<p>                cs.nuevo();</p>
<p>                cout&lt;&lt;&#8221;\n\nDesea añadir otro registro? (s/n): &#8220;;cin&gt;&gt;resp;</p>
<p>              }while(resp== &#8216;S&#8217; || resp== &#8216;s&#8217;);</p>
<p> </p>
<p>         break;</p>
<p>         case 2:</p>
<p>                do{</p>
<p>                  op4 = Menumos();</p>
<p>                  switch(op4) {</p>
<p>                      case 1:</p>
<p>                             do{</p>
<p>                               clrscr();</p>
<p>                               cout&lt;&lt;&#8221;Mostrar registro: &#8220;;cin&gt;&gt;numero;</p>
<p>                               cs.unreg(numero);</p>
<p>                               cout&lt;&lt;&#8221;\n\nDesea ver otro registro? (s/n): &#8220;;</p>
<p>                               cin&gt;&gt;resp;</p>
<p>                             }while(resp== &#8216;S&#8217; || resp== &#8216;s&#8217;);</p>
<p>                      break;</p>
<p>                      case 2:</p>
<p>                           rewind(arch);</p>
<p>                           numero = 0;</p>
<p>                           clrscr();</p>
<p>                           cout&lt;&lt;&#8221;No de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>                           cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>                           cout&lt;&lt;&#8221;\n&#8221;;</p>
<p>                           while(fread(&amp;cs, sizeof(campos), 1, arch))</p>
<p>                           cs.todos(numero++,1);</p>
<p>                           getch();</p>
<p>                           h=0;</p>
<p> </p>
<p>                      break;</p>
<p>                      case 3:</p>
<p>                            cs.Empaquetar(&amp;arch);</p>
<p>                           cs.Ordenar(arch);</p>
<p>                           cout&lt;&lt;&#8221;\n\a                    Se han ordenado los registros&#8221;;</p>
<p>                           getch();</p>
<p>                       break;</p>
<p> </p>
<p>                       }</p>
<p>                       } while(op4 != 0);</p>
<p> </p>
<p> </p>
<p>         break;</p>
<p>         case 3:</p>
<p>                  do{</p>
<p>                  op2 = Menuelim();</p>
<p>                  switch(op2) {</p>
<p>                      case 1:</p>
<p>                           do{</p>
<p>                               clrscr();//envia a papelera</p>
<p>                               cout&lt;&lt;&#8221;Eliminar registro: &#8220;;cin&gt;&gt;numero;</p>
<p>                               cs.elimina(numero);</p>
<p>                               cout&lt;&lt;&#8221;\n\nDesea eliminar otro registro? (s/n): &#8220;;</p>
<p>                               cin&gt;&gt;resp;</p>
<p>                           }while(resp== &#8216;S&#8217; || resp== &#8216;s&#8217;);</p>
<p>                      break;</p>
<p>                      case 2:</p>
<p> </p>
<p>                           do{</p>
<p>                              clrscr();</p>
<p>                              cout&lt;&lt;&#8221;Recuperar registro: &#8220;;cin&gt;&gt;numero;</p>
<p>                              cs.recupera(numero);</p>
<p>                              cout&lt;&lt;&#8221;\n\nDesea recuperar otro registro? (s/n): &#8220;;</p>
<p>                              cin&gt;&gt;resp;</p>
<p>                           }while(resp== &#8216;S&#8217; || resp== &#8216;s&#8217;);</p>
<p>                      break;</p>
<p>                      case 3:</p>
<p> </p>
<p>                           rewind(arch);</p>
<p>                           numero = 0;</p>
<p>                           clrscr();</p>
<p>                           cout&lt;&lt;&#8221;No de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>                           cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>                           cout&lt;&lt;&#8221;\n&#8221;;</p>
<p>                           while(fread(&amp;cs, sizeof(campos), 1, arch))</p>
<p>                           cs.todos(numero++,0);</p>
<p>                           getch();</p>
<p>                           h=0;</p>
<p>                       break;</p>
<p>                       case 4:</p>
<p>                           cs.Empaquetar(&amp;arch);</p>
<p>                           cout&lt;&lt;&#8221;\a&#8221;;</p>
<p>                           cout&lt;&lt;&#8221;Se ha vaciado la papelera de reciclaje&#8221;;</p>
<p>                           getch();</p>
<p>                       break;</p>
<p>                       }</p>
<p>                       } while(op2 != 0);</p>
<p> </p>
<p> </p>
<p>         break;</p>
<p> </p>
<p>         case 4:</p>
<p>         clrscr();</p>
<p>              int cc;</p>
<p>              cout&lt;&lt;&#8221;Modificar registro No: &#8220;;cin&gt;&gt;numero;</p>
<p>              cs.unreg(numero);</p>
<p> </p>
<p>                  do{</p>
<p>                         cc=cs.modiop(numero);</p>
<p>                               fseek(arch, numero*sizeof(campos), SEEK_SET);</p>
<p>                               fwrite(&amp;cs, sizeof(campos), 1, arch);</p>
<p>                              clrscr();</p>
<p>                              cout&lt;&lt;&#8221;\a&#8221;;</p>
<p>                              cs.unreg(numero);</p>
<p>                       } while(cc != 0);</p>
<p> </p>
<p>           break;</p>
<p> </p>
<p> </p>
<p>      }</p>
<p> } while(op != 0);</p>
<p>   fclose(arch);</p>
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p>int Menu()</p>
<p>{</p>
<p>   int resp;</p>
<p>   do {</p>
<p>      clrscr();</p>
<p>      gotoxy(15,1);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,2);cout&lt;&lt;&#8221;    Teclea la opcion que deseas&#8221;;</p>
<p>      gotoxy(15,3);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,4);cout&lt;&lt;&#8221;1 Insertar registro&#8221;;</p>
<p>      gotoxy(15,5);cout&lt;&lt;&#8221;2 Mostrar registros&#8221;;</p>
<p>      gotoxy(15,6);cout&lt;&lt;&#8221;3 Eliminar&#8221;;</p>
<p>      gotoxy(15,7);cout&lt;&lt;&#8221;4 Modificar Registro&#8221;;</p>
<p>      gotoxy(15,8);cout&lt;&lt;&#8221;0 Salir&#8221;;</p>
<p>      gotoxy(15,9);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\n&#8221;;</p>
<p>      cin&gt;&gt;resp;</p>
<p>   } while(resp &lt; 0 &amp;&amp; resp &gt; 4);</p>
<p>   return resp;</p>
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p>int Menuelim()</p>
<p>{</p>
<p>   int resp;</p>
<p>   do {</p>
<p>      clrscr();</p>
<p>      gotoxy(15,1);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,2);cout&lt;&lt;&#8221;    Teclea la opcion que deseas&#8221;;</p>
<p>      gotoxy(15,3);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,4);cout&lt;&lt;&#8221;1 Enviar a la papelera de reciclaje&#8221;;</p>
<p>      gotoxy(15,5);cout&lt;&lt;&#8221;2 Recuperar de la papelera&#8221;;</p>
<p>      gotoxy(15,6);cout&lt;&lt;&#8221;3 Mostrar Papelera&#8221;;</p>
<p>      gotoxy(15,7);cout&lt;&lt;&#8221;4 Vaciar papelera de reciclaje&#8221;;</p>
<p>      gotoxy(15,8);cout&lt;&lt;&#8221;0 Menu anterior&#8221;;</p>
<p>      gotoxy(15,9);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\n&#8221;;</p>
<p>      cin&gt;&gt;resp;</p>
<p>   } while(resp &lt; 0 &amp;&amp; resp &gt; 4);</p>
<p>   return resp;</p>
<p>}</p>
<p> </p>
<p>int Menumos()</p>
<p>{</p>
<p>   int resp;</p>
<p>   do {</p>
<p>      clrscr();</p>
<p>      gotoxy(15,1);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,2);cout&lt;&lt;&#8221;    Teclea la opcion que deseas&#8221;;</p>
<p>      gotoxy(15,3);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,4);cout&lt;&lt;&#8221;1 Mostrar un registro&#8221;;</p>
<p>      gotoxy(15,5);cout&lt;&lt;&#8221;2 Mostrar todos los registros&#8221;;</p>
<p>      gotoxy(15,6);cout&lt;&lt;&#8221;3 Ordenar los registros&#8221;;</p>
<p>      gotoxy(15,7);cout&lt;&lt;&#8221;0 Menu anterior&#8221;;</p>
<p>      gotoxy(15,8);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\n&#8221;;</p>
<p>      cin&gt;&gt;resp;</p>
<p>   } while(resp &lt; 0 &amp;&amp; resp &gt; 3);</p>
<p>   return resp;</p>
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p>///////////Aqui empieza el archivo cabecera que corresponde a la clase  esto se guarda en otro archivo con la extension &#8220;.h&#8221; en este caso lo nombre &#8220;creative.h&#8221;</p>
<p> </p>
<p> </p>
<p>   class campos {</p>
<p>   public:</p>
<p>   campos();</p>
<p>  // ~campos();</p>
<p>   void nuevo();</p>
<p>   void unreg(long x);</p>
<p>   void todos(long n,int x);</p>
<p>   void uno(int x);</p>
<p>   char *Lee(FILE *arch, long n, char *buf);</p>
<p>   void modi(long x);</p>
<p>   void pide();</p>
<p>   int modiop(long num);</p>
<p>   void elimina(long x);</p>
<p>   void recupera(long x);</p>
<p>   void Empaquetar(FILE **arch);</p>
<p>   void Ordenar(FILE *arch);</p>
<p>   void Intercambia(FILE *arch, long iz, long de);</p>
<p>   void asigna(FILE *arch, long inicio, long final);</p>
<p> </p>
<p>   private:</p>
<p>   int valido;</p>
<p>   char no[10];</p>
<p>   char nombre[10];</p>
<p>   char apellidop[12];</p>
<p>   char apellidom[12];</p>
<p>   char tel[12];</p>
<p>   char cel[12];</p>
<p> </p>
<p>};</p>
<p> </p>
<p> </p>
<p>   FILE *arch;</p>
<p> </p>
<p>   campos::campos(){}</p>
<p>   campos cs;</p>
<p>    int i,h=0;</p>
<p>    char resp;</p>
<p> </p>
<p>int Menumod()</p>
<p>{</p>
<p>   int resp;</p>
<p>   do {</p>
<p> </p>
<p>      gotoxy(15,7);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,8);cout&lt;&lt;&#8221;    Teclea la opcion que deseas&#8221;;</p>
<p>      gotoxy(15,9);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      gotoxy(15,10);cout&lt;&lt;&#8221;1 No. de cuenta&#8221;;</p>
<p>      gotoxy(15,11);cout&lt;&lt;&#8221;2 Nombre&#8221;;</p>
<p>      gotoxy(15,12);cout&lt;&lt;&#8221;3 Apellido Paterno&#8221;;</p>
<p>      gotoxy(15,13);cout&lt;&lt;&#8221;4 Apellido Materno&#8221;;</p>
<p>      gotoxy(15,14);cout&lt;&lt;&#8221;5 Telefono&#8221;;</p>
<p>      gotoxy(15,15);cout&lt;&lt;&#8221;6 Celular&#8221;;</p>
<p>      gotoxy(15,16);cout&lt;&lt;&#8221;7 Todo&#8221;;</p>
<p>      gotoxy(15,17);cout&lt;&lt;&#8221;0 Menu anterior&#8221;;</p>
<p>      gotoxy(15,18);cout&lt;&lt;&#8221;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;;</p>
<p>      cout&lt;&lt;&#8221;\n&#8221;;cin&gt;&gt;resp;</p>
<p>   } while(resp &lt; 0 &amp;&amp; resp &gt; 7);</p>
<p>   return resp;</p>
<p>}</p>
<p>void campos :: nuevo()</p>
<p>{</p>
<p>            cout&lt;&lt;&#8221;No de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>            cout&lt;&lt;&#8221;==========================================================================&#8221;;</p>
<p>            valido = 1;</p>
<p>         pide();</p>
<p>         fseek(arch, 0, SEEK_END);</p>
<p>         fwrite(&amp;cs, sizeof(campos), 1, arch);</p>
<p>}</p>
<p> </p>
<p> </p>
<p>void campos :: unreg(long x)</p>
<p>{</p>
<p> </p>
<p>            fseek(arch, x*sizeof(campos), SEEK_SET);</p>
<p>            fread(&amp;cs, sizeof(campos), 1, arch);</p>
<p>            cout&lt;&lt;&#8221;No de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>            cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>            uno(1);</p>
<p>}</p>
<p> </p>
<p> </p>
<p>void campos :: todos(long n,int x)</p>
<p>{</p>
<p> </p>
<p>   if(valido == x) {</p>
<p>   h++;</p>
<p>      gotoxy(1,h+2);cout&lt;&lt;n&lt;&lt;&#8221; &#8220;&lt;&lt;no;</p>
<p>      gotoxy(14,h+2);cout&lt;&lt;nombre;</p>
<p>      gotoxy(26,h+2);cout&lt;&lt;apellidop;</p>
<p>      gotoxy(39,h+2);cout&lt;&lt;apellidom;</p>
<p>      gotoxy(54,h+2);cout&lt;&lt;tel;</p>
<p>      gotoxy(67,h+2);cout&lt;&lt;cel;</p>
<p>      cout&lt;&lt;&#8221;\n&#8221;;</p>
<p>   }</p>
<p>}</p>
<p> </p>
<p>int campos :: modiop(long num){</p>
<p>int op3;</p>
<p>                 op3 = Menumod();</p>
<p>                  switch(op3) {</p>
<p>                      case 1:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea nuevo Numero de cuenta: &#8220;;cin&gt;&gt;no;</p>
<p>                      break;</p>
<p>                      case 2:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea nombre de cuenta: &#8220;;cin&gt;&gt;nombre;</p>
<p>                      break;</p>
<p>                      case 3:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea apellido paterno: &#8220;;cin&gt;&gt;apellidop;</p>
<p>                       break;</p>
<p>                       case 4:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea apellido materno: &#8220;;cin&gt;&gt;apellidom;</p>
<p>                       break;</p>
<p>                       case 5:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea telefono: &#8220;;cin&gt;&gt;tel;</p>
<p>                       break;</p>
<p>                       case 6:</p>
<p>                           cout&lt;&lt;&#8221;\nTeclea celular: &#8220;;cin&gt;&gt;cel;</p>
<p> </p>
<p>                       break;</p>
<p>                       case 7:</p>
<p>                            clrscr();</p>
<p>                            modi(num);</p>
<p>                       break;</p>
<p>                       }</p>
<p> </p>
<p>                 return op3;</p>
<p>}</p>
<p> </p>
<p> </p>
<p>void campos :: modi(long x)</p>
<p>{</p>
<p>            fseek(arch, x*sizeof(campos), SEEK_SET);</p>
<p>            fread(&amp;cs, sizeof(campos), 1, arch);</p>
<p>            valido = 1;</p>
<p>            cout&lt;&lt;&#8221;No de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>            cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>            pide();</p>
<p>}</p>
<p> </p>
<p>void campos :: pide(){</p>
<p> </p>
<p>            gotoxy(3,3);fgets(no, 10, stdin);</p>
<p>            for(i = strlen(no)-1; i &amp;&amp; no[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               no[i] = 0;</p>
<p>            gotoxy(14,3);fgets(nombre, 10, stdin);</p>
<p>            for(i = strlen(nombre)-1; i &amp;&amp; nombre[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               nombre[i] = 0;</p>
<p>            gotoxy(26,3);fgets(apellidop, 12, stdin);</p>
<p>            for(i = strlen(apellidop)-1; i &amp;&amp; apellidop[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               apellidop[i] = 0;</p>
<p>            gotoxy(39,3);fgets(apellidom, 12, stdin);</p>
<p>            for(i = strlen(apellidom)-1; i &amp;&amp; apellidom[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               apellidom[i] = 0;</p>
<p>            gotoxy(54,3);fgets(tel, 12, stdin);</p>
<p>            for(i = strlen(tel)-1; i &amp;&amp; tel[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               tel[i] = 0;</p>
<p>            gotoxy(67,3);fgets(cel, 12, stdin);</p>
<p>            for(i = strlen(cel)-1; i &amp;&amp; cel[i] &lt; &#8216; &#8216;; i&#8211;)</p>
<p>               cel[i] = 0;</p>
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>void campos :: elimina(long x)</p>
<p>{</p>
<p>            fseek(arch, x*sizeof(struct campos), SEEK_SET);</p>
<p>            fread(&amp;cs, sizeof(struct campos), 1, arch);</p>
<p>            cout&lt;&lt;&#8221;\nNo de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>            cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>            uno(1);</p>
<p>            cout&lt;&lt;&#8221;\n\nDesea eliminar este registro? (s/n): &#8220;;</p>
<p>            cin&gt;&gt;resp;</p>
<p>            if (resp== &#8216;S&#8217; || resp== &#8216;s&#8217;){</p>
<p>            valido = 0;</p>
<p>            fseek(arch, x*sizeof(campos), SEEK_SET);</p>
<p>            fwrite(&amp;cs, sizeof(campos), 1, arch);</p>
<p>            cout&lt;&lt;&#8221;\n\n\t\t\a********Ha sido enviado a la papelera********&#8221;;</p>
<p>            }</p>
<p>}</p>
<p> </p>
<p>void campos :: recupera(long x)</p>
<p>{</p>
<p>            fseek(arch, x*sizeof(campos), SEEK_SET);</p>
<p>            fread(&amp;cs, sizeof(campos), 1, arch);</p>
<p>            cout&lt;&lt;&#8221;\nNo de cta.   Nombre      Apellido P   Apellido M     Telefono    Celular\n&#8221;;</p>
<p>            cout&lt;&lt;&#8221;=========================================================================&#8221;;</p>
<p>            uno(0);</p>
<p>            cout&lt;&lt;&#8221;\n\nDesea recuperar este registro? (s/n): &#8220;;</p>
<p>            cin&gt;&gt;resp;</p>
<p>            if (resp== &#8216;S&#8217; || resp== &#8216;s&#8217;){</p>
<p>            valido = 1;</p>
<p>            fseek(arch, x*sizeof(campos), SEEK_SET);</p>
<p>            fwrite(&amp;cs, sizeof(campos), 1, arch);</p>
<p>            cout&lt;&lt;&#8221;\n\n\t\t\a***********Registro recuperado***********&#8221;;</p>
<p>            }</p>
<p>}</p>
<p> </p>
<p>void campos :: uno(int x)</p>
<p>{</p>
<p> </p>
<p>   if(valido == x) {</p>
<p>      gotoxy(3,5);cout&lt;&lt;no;</p>
<p>      gotoxy(14,5);cout&lt;&lt;nombre;</p>
<p>      gotoxy(26,5);cout&lt;&lt;apellidop;</p>
<p>      gotoxy(39,5);cout&lt;&lt;apellidom;</p>
<p>      gotoxy(54,5);cout&lt;&lt;tel;</p>
<p>      gotoxy(67,5);cout&lt;&lt;cel;</p>
<p> </p>
<p>     }</p>
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p>void campos :: Empaquetar(FILE **arch)</p>
<p>{</p>
<p>   FILE *ftemp;</p>
<p> </p>
<p>   ftemp = fopen(&#8220;Archivo.tmp&#8221;, &#8220;wb&#8221;);</p>
<p>   rewind(*arch);</p>
<p>   while(fread(&amp;cs, sizeof(campos), 1, *arch))</p>
<p>      if(valido == 1)</p>
<p>         fwrite(&amp;cs, sizeof(campos), 1, ftemp);</p>
<p>   fclose(ftemp);</p>
<p>   fclose(*arch);</p>
<p>   remove(&#8220;Archivo.cs2&#8243;);</p>
<p>   rename(&#8220;Archivo.cs&#8221;, &#8220;Archivo.cs2&#8243;);</p>
<p>   rename(&#8220;Archivo.tmp&#8221;, &#8220;Archivo.cs&#8221;);</p>
<p>   *arch = fopen(&#8220;Archivo.cs&#8221;, &#8220;r+b&#8221;);</p>
<p>}</p>
<p> </p>
<p>void campos :: Ordenar(FILE *arch)</p>
<p>{</p>
<p>   long nRegs;</p>
<p>   fseek(arch, 0, SEEK_END);</p>
<p>   nRegs = ftell(arch)/sizeof(campos);</p>
<p>   asigna(arch, 0L, nRegs-1);</p>
<p>}</p>
<p> </p>
<p>void campos :: asigna(FILE *arch, long inicio, long final)</p>
<p>{</p>
<p>   long iz, de;</p>
<p>   char mitad[34];</p>
<p>   static char cad[34];</p>
<p> </p>
<p>   iz = inicio;</p>
<p>   de = final;</p>
<p>   strcpy(mitad, Lee(arch, (iz+de)/2, cad));</p>
<p>   do {</p>
<p>      while(strcmp(Lee(arch, iz, cad), mitad) &lt; 0 &amp;&amp; iz &lt; final) iz++;</p>
<p>      while(strcmp(mitad, Lee(arch, de, cad)) &lt; 0 &amp;&amp; de &gt; inicio) de&#8211;;</p>
<p>      if(iz &lt; de) Intercambia(arch, iz, de);</p>
<p>      if(iz &lt;= de) {</p>
<p>         iz++;</p>
<p>         de&#8211;;</p>
<p>      }</p>
<p>   } while(iz &lt;= de);</p>
<p>   if(inicio &lt; de) asigna(arch, inicio, de);</p>
<p>   if(iz &lt; final) asigna(arch, iz, final);</p>
<p>}</p>
<p> </p>
<p>char *campos :: Lee(FILE *arch, long n, char *buf)</p>
<p>{</p>
<p> </p>
<p>   fseek(arch, n*sizeof(campos), SEEK_SET);</p>
<p>   fread(&amp;cs, sizeof(campos), 1, arch);</p>
<p>   strcpy(buf, no);</p>
<p>   return buf;</p>
<p>}</p>
<p> </p>
<p>void campos :: Intercambia(FILE *arch, long iz, long de)</p>
<p>{</p>
<p>    campos reg1, reg2;</p>
<p>   fseek(arch, iz*sizeof(campos), SEEK_SET);</p>
<p>   fread(&amp;reg1, sizeof(campos), 1, arch);</p>
<p>   fseek(arch, de*sizeof(campos), SEEK_SET);</p>
<p>   fread(&amp;reg2, sizeof(campos), 1, arch);</p>
<p>   fseek(arch, iz*sizeof(campos), SEEK_SET);</p>
<p>   fwrite(&amp;reg2, sizeof(campos), 1, arch);</p>
<p>   fseek(arch, de*sizeof(campos), SEEK_SET);</p>
<p>   fwrite(&amp;reg1, sizeof(campos), 1, arch);</p>
<p>}</p>
<p>///Guardenlo con el nombre creative.h y no hay errores, me sirvio muy bien, crea, lee, modifica, elimina y ordena los registros, espero que les sirva yo lo probe en Borland c++ 5.02</p>
<p><span style="color:#000000;text-decoration:none;">Se los mando por separado en .doc para que se les haga mas facil copiarlo ya estan separados. <a href="http://creativesoft.files.wordpress.com/2008/10/creative.doc"></a><a href="http://creativesoft.files.wordpress.com/2008/10/archivo.doc">archivo</a> <a href="http://creativesoft.files.wordpress.com/2008/10/creative.doc"> </a></span><a href="http://creativesoft.files.wordpress.com/2008/10/creative.doc">creative</a></p>
<p> </p>
<p>Codificad por: Cesar Omar Sagastegui Albor</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/creativesoft.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/creativesoft.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/creativesoft.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=creativesoft.wordpress.com&amp;blog=3245671&amp;post=43&amp;subd=creativesoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://creativesoft.wordpress.com/2008/10/30/agenda-en-c-con-clases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2935fc8710c44788866592be8dad600d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CreativeSoft Café</media:title>
		</media:content>
	</item>
	</channel>
</rss>
