<?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>NeoEGM.com &#187; Attendance</title>
	<atom:link href="https://www.neoegm.com/tag/attendance/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.neoegm.com</link>
	<description>Knowledge is inside</description>
	<lastBuildDate>Mon, 08 Jul 2024 05:38:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>Attendance Control</title>
		<link>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/</link>
		<comments>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 21:00:42 +0000</pubDate>
		<dc:creator><![CDATA[NeoEGM]]></dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Attendance]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[GNU GPL]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wxDev]]></category>

		<guid isPermaLink="false">http://www.neoegm.com/?p=476</guid>
		<description><![CDATA[&#8220;Attendance Control&#8221; is a console application made as an exercise to integrate the different C++ concepts taught in class up to the middle of the year. The main objective is to be able to develop a employee attendance control which records the times (and justifications, if corresponding) of each time the employees arrive, go to [&#8230;]<div class='yarpp-related-rss'>
<strong>
Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/wxwidgets/wx-control-de-asistencia/" rel="bookmark" title="Attendance Control (wxWidgets Version)">Attendance Control (wxWidgets Version) </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>&#8220;Attendance Control&#8221; is a console application made as an <strong>exercise</strong> to integrate the different C++ concepts taught in class up to the middle of the year.</p>
<p>The main objective is to be able to develop a employee attendance control which records the times (and justifications, if corresponding) of each time the employees arrive, go to lunch, return from lunch and go back to home.</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI:

</pre>
<p><span id="more-476"></span></p>
<p>The complete wording says:</p>
<blockquote><p>
Develop an employee attendance control system (for later verification of absences and late arrivals with their corresponding justifications) and its managemente private part (user registration and gathered data visualization).</p>
<p>The main screen must staywaiting for ID <strong>[DNI]</strong> and password.</p>
<p>There must be a preset admin user with <strong>DNI</strong> = -1234 and Password = prueba.</p>
<p>In case of being an administrator user, you&#8217;ll be able to access the management part, with the following options:</p>
<p>	1- Alta de usuario <em>[New user]</em><br />
	2- Lista de usuarios (datos adquiridos) <em>[User list (gathered data)]</em><br />
	3- Salida a archivo <em>[Output to file]</em><br />
	4- Cerrar la aplicación <em>[Close the application]</em><br />
	0- Volver a la pantalla principal <em>[Back to the main screen]</em></p>
<p>Otherwise, it will be asked which kind of action are you about to do (Arrival <strong>[Ingreso]</strong>, return to home <strong>[Salida]</strong>, lunch <strong>[Salida a almuerzo]</strong> or return from lunch <strong>[Retorno de almuerzo]</strong>) and its justification in case it corresponds, and they will be recorded along with the current time in a &#8220;Events&#8221; record of the corresponding user.</p>
<p>The user required data is:<br />
	DNI <em>[ID]</em><br />
	Nombre completo <em>[Full name]</em><br />
	Contraseña <em>[Password]</em><br />
	Si es administrador <em>[Whether it is administrator]</em><br />
	Eventos relacionados <em>[Related events]</em></p>
<p>It&#8217;s desired to use as a base the class &#8220;PersonaBasica&#8221; <em>[Basic person]</em> which has already been developed by the IT department, whose header file &#8220;PersonaBasica.h&#8221; is attached below:</p>
<pre class="brush: cpp; title: ; notranslate">
#include &quot;String.h&quot;
#include &lt;iostream&gt;

class PersonaBasica
{
	String m_sNombreCompleto;
	long m_nDNI;

public:
	//Construcción
	PersonaBasica() { m_nDNI = 0; }

	//Encapsulaciones
	long DNI() const { return m_nDNI; }
	void DNI(long val) { m_nDNI = val; }

	String NombreCompleto() const { return m_sNombreCompleto; }
	void NombreCompleto(String val) { m_sNombreCompleto = val; }
};

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; oStream, PersonaBasica&amp; rpPersonaBasica);
</pre>
<p>Note: the lengths of the data to be registered is completely unknown and rumors are circulating that the users are used to write pretty elaborate justifications.
</p></blockquote>
<p>When you first start the program, you can only log in as admin (-1234:prueba)&#8230;</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI: -1234
Contraseña: prueba
Usuario "Administrador" reconocido.

Presione una tecla para continuar...

</pre>
<p>Then, you&#8217;ll get to the administration menu:</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada:

</pre>
<p>The next step should be registering the different users using the first option:</p>

<pre class="console">Sistema de control de asistencia de personal (Alta de usuario)
--------------------------------------------------------------

DNI: 12345678
Nombre completo: Pedro Gutierrez
Password: 123bbb
Administrador [1 = Sí/0 = No]: 0

Persona agregada satisfatoriamente.

Presione una tecla para continuar...

</pre>
<p>After that, they&#8217;ll be able to sign in themselves:</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI: 12345678
Contraseña: 123bbb
Usuario "Pedro Gutierrez" reconocido.

Presione una tecla para continuar...

</pre>
<p>So they&#8217;ll get into the attendance screen to record their actions:</p>

<pre class="console">Asistencia de "Pedro Gutierrez"
-------------------------------

Tipo de asistencia:
        1- Ingreso
        2- Salida
        3- Salida a almorzar
        4- Vuelta de almorzar
Selección: 1

Justificación (si corresponde): Llegué tarde porque había
corte de calles.

Evento agregado satisfactoriamente.

Presione una tecla para continuar...

</pre>
<p>Each of them &#8217;till they go back to home&#8230;</p>

<pre class="console">Asistencia de "Pedro Gutierrez"
-------------------------------

Tipo de asistencia:
        1- Ingreso
        2- Salida
        3- Salida a almorzar
        4- Vuelta de almorzar
Selección: 2

Justificación (si corresponde): Me voy más temprano porque
tengo que llevar a mi hijo al médico.

Evento agregado satisfactoriamente.

Presione una tecla para continuar...

</pre>
<p>When any administrator wants to watch the full listing of users and actions, he simply logs in and goes to the second option of the administration menu:</p>

<pre class="console">Sistema de control de asistencia de personal (Lista de
usuarios)
------------------------------------------------------

DNI: -1234
Nombre completo: Administrador
Password: ********
Administrador: 1
Cantidad de eventos: 0
Eventos:

[Esta persona no posee eventos]


DNI: 12345678
Nombre completo: Pedro Gutierrez
Password: ********
Administrador: 0
Cantidad de eventos: 4
Eventos:

Hora: 28/07/2009 14:13:27
Tipo: Ingreso
Justificación: Llegué tarde porque había corte de calles.

Hora: 28/07/2009 14:14:23
Tipo: Salida a almorzar
Justificación:

Hora: 28/07/2009 14:14:44
Tipo: Vuelta de almorzar
Justificación:

Hora: 28/07/2009 14:14:52
Tipo: Salida
Justificación: Me voy más temprano porque tengo que llevar a
mi hijo al médico.

Presione una tecla para continuar...

</pre>
<p>If he wants, he can save that information to a file by using, instead, the third option:</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada: 3

Ingrese la ruta del archivo a guardar: c:asistencia.txt
Archivo guardado satisfactoriamente

Presione una tecla para continuar...

</pre>
<p>Finally, he can close the program by going to the fourth option (losing all the data)&#8230;</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada: 4
Saliendo de la aplicación...

Presione una tecla para continuar...

</pre>
<p>That&#8217;s the idea of the application&#8230;</p>
<p>Now I&#8217;ll leave the links for the ones who don&#8217;t want to solve it themselves (or the ones who just want to run it and watch it work).</p>
<p>The code is portable between Linux and Windows (I&#8217;ve tested it myself on both platforms and it worked seamlessly).</p>
<p>It&#8217;s been developed, compiled and tested using <a href="http://wxdsgn.sourceforge.net/">wxDev-C++</a> for Windows with the <a href="http://www.mingw.org/">MinGW compiler</a> (included in the bundle). In Linux, it was compiled using the GNU GCC compiler.</p>
<p><a href="http://www.gnu.org/licenses/gpl-3.0.txt"><img src="http://www.neoegm.com/wp-content/uploads/2009/07/gplv3-127x511.png" alt="GNU GPL v3" title="GNU GPL v3" width="127" height="51" class="aligncenter size-full wp-image-251" /></a> <span class="aligncenter">ControlAsistencia is licensed under the <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU GPL v3</a> (attached)&#8230;</span></p>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/control-asistencia/ControlAsistencia_1.02.zip">Download ControlAsistencia v1.02</a></p>
</div>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/control-asistencia/ControlAsistencia_1.02_Source.zip">Download v1.02 Source Code</a></p>
</div>
<p><strong>Update:</strong> minor bug in String.cpp fixed => version 1.01<br />
<h4>Incoming search terms for the article:</h4>
<ul>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia de personal en excel">control de asistencia de personal en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia en excel">control de asistencia en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="asistencia de personal en excel">asistencia de personal en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="como hacer un control de asistencia en excel">como hacer un control de asistencia en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia">control de asistencia</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="Control de Asistencia GNU">Control de Asistencia GNU</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia gpl">control de asistencia gpl</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia de personal">control de asistencia de personal</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control asistencia excel">control asistencia excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia linux">control de asistencia linux</a></li>
</ul>
<div class='yarpp-related-rss'>
<strong><p>Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/wxwidgets/wx-control-de-asistencia/" rel="bookmark" title="Attendance Control (wxWidgets Version)">Attendance Control (wxWidgets Version) </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
