ajout du projet qui n'était pas sur git

master
Adam BONAFOS 2 years ago
commit 078697f2f8

2658
Doxyfile

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
0 111 1
1 128 1
3 107 1
4 85 1
5 88 1
6 9 0
8 6 1
9 6 1
10 8 0
2 66 1

@ -0,0 +1,20 @@
BONAFOS Adam
Ce logiciel sert à accompagner l'entreprise "altère pub" qui est une salle
de sport qui fait bar aussi. Différentes activités sont proposés : entrée
salle de sport, entrée + coach, entrée + boisson soft, Pinte de bière,
demi de bière, cocktail.
Mon logiciel charge des données depuis un fichier et les sauvegardes, il permet
de creer des adhérents et de les supprimer, d'activer ou désactiver leurs
cartes, de recharger leur compte, d'afficher les informations des adhérents,
d'afficher les statistiques de chaque activités. Il gère aussi le soldes des
adhérents en les débitant à chaque activités.
Dans mon logiciel il y a différents tableaux gérés en parrallèles :
- les numéros de compte
- les soldes
- les statuts des cartes
- si les adhérents sont déjà allés à la salle de sport ou non aujourd'hui
Tout fonctionne à merveille.

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,121 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

@ -0,0 +1,80 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="sae_8c.html" target="_self">sae.c</a></td><td class="desc">Ce fichier sert à faire fonctionner le programme du bar salle de sport : "altère pub" </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sae_8h_source.html"><span class="icondoc"></span></a><b>sae.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
<li>actDesactCarte()
: <a class="el" href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">sae.c</a>
</li>
<li>activite()
: <a class="el" href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">sae.c</a>
</li>
<li>affichActi()
: <a class="el" href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">sae.c</a>
</li>
<li>affichAdh()
: <a class="el" href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">sae.c</a>
</li>
<li>affichTousAdh()
: <a class="el" href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">sae.c</a>
</li>
<li>alimenterCarte()
: <a class="el" href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">sae.c</a>
</li>
<li>chargement()
: <a class="el" href="sae_8c.html#aab2574f041973727f871f4552a7973ec">sae.c</a>
</li>
<li>creerAdh()
: <a class="el" href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">sae.c</a>
</li>
<li>depenserPts()
: <a class="el" href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">sae.c</a>
</li>
<li>globale()
: <a class="el" href="sae_8c.html#a839a62681808312113e0d1acbd841205">sae.c</a>
</li>
<li>menu()
: <a class="el" href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">sae.c</a>
</li>
<li>menuActivite()
: <a class="el" href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">sae.c</a>
</li>
<li>sauvegarde()
: <a class="el" href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">sae.c</a>
</li>
<li>suppAdh()
: <a class="el" href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">sae.c</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>actDesactCarte()
: <a class="el" href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">sae.c</a>
</li>
<li>activite()
: <a class="el" href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">sae.c</a>
</li>
<li>affichActi()
: <a class="el" href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">sae.c</a>
</li>
<li>affichAdh()
: <a class="el" href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">sae.c</a>
</li>
<li>affichTousAdh()
: <a class="el" href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">sae.c</a>
</li>
<li>alimenterCarte()
: <a class="el" href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">sae.c</a>
</li>
<li>chargement()
: <a class="el" href="sae_8c.html#aab2574f041973727f871f4552a7973ec">sae.c</a>
</li>
<li>creerAdh()
: <a class="el" href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">sae.c</a>
</li>
<li>depenserPts()
: <a class="el" href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">sae.c</a>
</li>
<li>globale()
: <a class="el" href="sae_8c.html#a839a62681808312113e0d1acbd841205">sae.c</a>
</li>
<li>menu()
: <a class="el" href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">sae.c</a>
</li>
<li>menuActivite()
: <a class="el" href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">sae.c</a>
</li>
<li>sauvegarde()
: <a class="el" href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">sae.c</a>
</li>
<li>suppAdh()
: <a class="el" href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">sae.c</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,134 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: Graph Legend</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Graph Legend</div> </div>
</div><!--header-->
<div class="contents">
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
<div class="line"><span class="keyword">class </span>Invisible { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
<div class="line"> </div>
<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
<div class="line"><span class="keyword">class </span>Undocumented { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! A template class */</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
<div class="line"><span class="keyword">class </span>Used { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
<div class="line"> <span class="keyword">public</span> Undocumented,</div>
<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
<div class="line">{</div>
<div class="line"> <span class="keyword">private</span>:</div>
<div class="line"> Used *m_usedClass;</div>
<div class="line">};</div>
</div><!-- fragment --><p> This will result in the following graph:</p>
<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
A box with a gray border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1 @@
f51bf6e9a10430aafef59831b08dcbfe

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,74 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">My Project Documentation</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

35
html/jquery.js vendored

File diff suppressed because one or more lines are too long

@ -0,0 +1,51 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}
/* @license-end */

@ -0,0 +1,31 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
{text:"All",url:"globals.html"},
{text:"Functions",url:"globals_func.html"}]}]}]}

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

@ -0,0 +1,784 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: sae.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">sae.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>ce fichier sert à faire fonctionner le programme du bar salle de sport : "altère pub".
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;sae.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for sae.c:</div>
<div class="dyncontent">
<div class="center"><img src="sae_8c__incl.png" border="0" usemap="#asae_8c" alt=""/></div>
<map name="asae_8c" id="asae_8c">
<area shape="rect" title="ce fichier sert à faire fonctionner le programme du bar salle de sport : &quot;altère pub&quot;." alt="" coords="53,5,109,32"/>
<area shape="rect" title=" " alt="" coords="5,80,72,107"/>
<area shape="rect" href="sae_8h_source.html" title=" " alt="" coords="97,80,154,107"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7f3db509b04b31b00f287fa6b8959fad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">menu</a> (void)</td></tr>
<tr class="memdesc:a7f3db509b04b31b00f287fa6b8959fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui gère l'affichage et la saisie dans le menu principal <a href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">More...</a><br /></td></tr>
<tr class="separator:a7f3db509b04b31b00f287fa6b8959fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a839a62681808312113e0d1acbd841205"><td class="memItemLeft" align="right" valign="top"><a id="a839a62681808312113e0d1acbd841205"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a839a62681808312113e0d1acbd841205">globale</a> (void)</td></tr>
<tr class="memdesc:a839a62681808312113e0d1acbd841205"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction globale qui agit comme un menu principal <br /></td></tr>
<tr class="separator:a839a62681808312113e0d1acbd841205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d57fd3d7fead539bd550814d219a239"><td class="memItemLeft" align="right" valign="top"><a id="a5d57fd3d7fead539bd550814d219a239"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>recherche</b> (int numAdh, int tabNumAdh[], int nbreAdh)</td></tr>
<tr class="separator:a5d57fd3d7fead539bd550814d219a239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a7921701b48616b684b6749ac1b3fd"><td class="memItemLeft" align="right" valign="top"><a id="a97a7921701b48616b684b6749ac1b3fd"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>numDispo</b> (int tabNumAdh[], int nbreAdh)</td></tr>
<tr class="separator:a97a7921701b48616b684b6749ac1b3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa696fc0519e17095220c4e70f9ad464"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">creerAdh</a> (int nbreAdh, int tabNumAdh[], int soldes[], int statutCarte[])</td></tr>
<tr class="memdesc:afa696fc0519e17095220c4e70f9ad464"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui permet de creer un adhérent <a href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">More...</a><br /></td></tr>
<tr class="separator:afa696fc0519e17095220c4e70f9ad464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2574f041973727f871f4552a7973ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#aab2574f041973727f871f4552a7973ec">chargement</a> (int soldes[], int statutCarte[], int tabNumCompt[])</td></tr>
<tr class="memdesc:aab2574f041973727f871f4552a7973ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui charge les données (soldes, statutCarte et N°Compte) dans des tableaux <a href="sae_8c.html#aab2574f041973727f871f4552a7973ec">More...</a><br /></td></tr>
<tr class="separator:aab2574f041973727f871f4552a7973ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00adf9c3a0114a9dbce3d4b70913cdb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">alimenterCarte</a> (int numAdh, int soldes[], int nbreAdh)</td></tr>
<tr class="memdesc:a00adf9c3a0114a9dbce3d4b70913cdb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui sert à alimenter en points les cartes des adhérents <a href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">More...</a><br /></td></tr>
<tr class="separator:a00adf9c3a0114a9dbce3d4b70913cdb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a648283aece883f660b3f9615a7ab3240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">sauvegarde</a> (int numCompte[], int soldes[], int statutCarte[], int nbreAdh)</td></tr>
<tr class="memdesc:a648283aece883f660b3f9615a7ab3240"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui sauvegarde les données (soldes, statutCarte et N°Compte) <b>dans</b> le fichier adherents.don <a href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">More...</a><br /></td></tr>
<tr class="separator:a648283aece883f660b3f9615a7ab3240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d6b2407e7396fe8dec0f3d884acec3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">menuActivite</a> (void)</td></tr>
<tr class="memdesc:a94d6b2407e7396fe8dec0f3d884acec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui gère l'affichage et la saisie dans le sous menu des activités <a href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">More...</a><br /></td></tr>
<tr class="separator:a94d6b2407e7396fe8dec0f3d884acec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3baeca21461985d17711a7aa46f380"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">depenserPts</a> (int numAdh, int soldes[], int montantDebit, int tabActi[], int acti)</td></tr>
<tr class="memdesc:abb3baeca21461985d17711a7aa46f380"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui retire des points à un adhérents lorsqu'il fait une activité <a href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">More...</a><br /></td></tr>
<tr class="separator:abb3baeca21461985d17711a7aa46f380"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabcfa90b336f27cc54828e21bcb0794c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">activite</a> (int choix, int soldes[], int dejaVenu[], int tabNumAdh[], int statutCarte[], int nbreAdh, int tabActi[])</td></tr>
<tr class="memdesc:aabcfa90b336f27cc54828e21bcb0794c"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui "démarre" une activité selon le choix de l'utilisateur <a href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">More...</a><br /></td></tr>
<tr class="separator:aabcfa90b336f27cc54828e21bcb0794c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a25ebd22e1c70844e0ab07670d82e5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">affichAdh</a> (int numAdh, int soldes[], int dejaVenu[], int statutCarte[], int numCompte[], int nbreAdh)</td></tr>
<tr class="memdesc:a8a25ebd22e1c70844e0ab07670d82e5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui affiche les informatinos d'un adhérent <a href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">More...</a><br /></td></tr>
<tr class="separator:a8a25ebd22e1c70844e0ab07670d82e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7518eb1081fb629ebe3f0fd9d629e59d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">affichTousAdh</a> (int numAdh, int soldes[], int dejaVenu[], int statutCarte[], int numCompte[], int nbreAdh)</td></tr>
<tr class="memdesc:a7518eb1081fb629ebe3f0fd9d629e59d"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui affiche tous les adhérents <a href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">More...</a><br /></td></tr>
<tr class="separator:a7518eb1081fb629ebe3f0fd9d629e59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9252c4b562ef2d7c1c6eba17a69e6b16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">actDesactCarte</a> (int numAdh, int statutCarte[], int numCompte[], int nbreAdh)</td></tr>
<tr class="memdesc:a9252c4b562ef2d7c1c6eba17a69e6b16"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui permet d'activer ou de désactiver la carte d'un adhérent <a href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">More...</a><br /></td></tr>
<tr class="separator:a9252c4b562ef2d7c1c6eba17a69e6b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed318dabb18bd675cd9a620a0d8e3964"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">suppAdh</a> (int numAdhSup, int soldes[], int dejaVenu[], int tabNumAdh[], int statutCarte[], int *nbreAdh)</td></tr>
<tr class="memdesc:aed318dabb18bd675cd9a620a0d8e3964"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui permet de supprimer un adhérent à partir de son numéro d'adhérent <a href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">More...</a><br /></td></tr>
<tr class="separator:aed318dabb18bd675cd9a620a0d8e3964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cee71a77e001c428bf9d53f0fe5a601"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">affichActi</a> (int tabActi[])</td></tr>
<tr class="memdesc:a6cee71a77e001c428bf9d53f0fe5a601"><td class="mdescLeft">&#160;</td><td class="mdescRight">fonction qui affiche les statistiques de fréquentations pour chaque activités <a href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">More...</a><br /></td></tr>
<tr class="separator:a6cee71a77e001c428bf9d53f0fe5a601"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>ce fichier sert à faire fonctionner le programme du bar salle de sport : "altère pub". </p>
<dl class="section author"><dt>Author</dt><dd>Adam BONAFOS </dd></dl>
<dl class="section date"><dt>Date</dt><dd>10/11/2022 </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a9252c4b562ef2d7c1c6eba17a69e6b16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9252c4b562ef2d7c1c6eba17a69e6b16">&#9670;&nbsp;</a></span>actDesactCarte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void actDesactCarte </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numCompte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui permet d'activer ou de désactiver la carte d'un adhérent </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">numAdh</td><td>numéro d'adhérent </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numCompte</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aabcfa90b336f27cc54828e21bcb0794c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabcfa90b336f27cc54828e21bcb0794c">&#9670;&nbsp;</a></span>activite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void activite </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>choix</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dejaVenu</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabNumAdh</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabActi</em>[]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui "démarre" une activité selon le choix de l'utilisateur </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">choix</td><td>choix d'activité fait par l'utilisateur </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">dejaVenu</td><td>tableau qui gère si un utilisateur est déjà <b>rentré</b> dans la salle de sport aujourd'hui </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tabNumAdh</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">tabActi</td><td>tableau qui compte le nombre d'occurences <b>journalières</b> de chaques activités </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6cee71a77e001c428bf9d53f0fe5a601"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cee71a77e001c428bf9d53f0fe5a601">&#9670;&nbsp;</a></span>affichActi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void affichActi </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabActi</em>[]</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui affiche les statistiques de fréquentations pour chaque activités </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tabActi</td><td>tableau qui compte le nombre d'occurences <b>journalières</b> de chaques activités </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8a25ebd22e1c70844e0ab07670d82e5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a25ebd22e1c70844e0ab07670d82e5e">&#9670;&nbsp;</a></span>affichAdh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void affichAdh </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dejaVenu</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numCompte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui affiche les informatinos d'un adhérent </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">numAdh</td><td>numéro d'adhérent à afficher </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dejaVenu</td><td>tableau qui gère si un utilisateur est déjà </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numCompte</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7518eb1081fb629ebe3f0fd9d629e59d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7518eb1081fb629ebe3f0fd9d629e59d">&#9670;&nbsp;</a></span>affichTousAdh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void affichTousAdh </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dejaVenu</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numCompte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui affiche tous les adhérents </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">numAdh</td><td>numéro d'adhérent à afficher </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dejaVenu</td><td>tableau qui gère si un utilisateur est déjà <b>rentré</b> dans la salle de sport aujourd'hui </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numCompte</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a00adf9c3a0114a9dbce3d4b70913cdb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00adf9c3a0114a9dbce3d4b70913cdb8">&#9670;&nbsp;</a></span>alimenterCarte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void alimenterCarte </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui sert à alimenter en points les cartes des adhérents </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">numAdh</td><td>Numéro d'adhérent auquel il faut ajouter des points </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aab2574f041973727f871f4552a7973ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab2574f041973727f871f4552a7973ec">&#9670;&nbsp;</a></span>chargement()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int chargement </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numCompte</em>[]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui charge les données (soldes, statutCarte et N°Compte) dans des tableaux </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">tabNumAdh</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afa696fc0519e17095220c4e70f9ad464"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa696fc0519e17095220c4e70f9ad464">&#9670;&nbsp;</a></span>creerAdh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int creerAdh </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabNumAdh</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui permet de creer un adhérent </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">tabNumAdh</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>le nouveau nombre d'adhérents </dd></dl>
</div>
</div>
<a id="abb3baeca21461985d17711a7aa46f380"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb3baeca21461985d17711a7aa46f380">&#9670;&nbsp;</a></span>depenserPts()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int depenserPts </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>montantDebit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabActi</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>acti</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui retire des points à un adhérents lorsqu'il fait une activité </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">numAdh</td><td>numéro de l'adhérent qui fait l'activité </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">montantDebit</td><td>somme à débiter du compte de l'adhérent (prix de l'activité) </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">tabActi</td><td>tableau qui compte le nombre d'occurences <b>journalières</b> de chaques activités </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">acti</td><td>numéro de l'activité faite par l'adhérent (case du tableau tabActi <b></b> est stocké le compteur d'occurence de cette activité) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7f3db509b04b31b00f287fa6b8959fad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f3db509b04b31b00f287fa6b8959fad">&#9670;&nbsp;</a></span>menu()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int menu </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui gère l'affichage et la saisie dans le menu principal </p>
<dl class="section return"><dt>Returns</dt><dd>le choix d'action de l'utilisateur </dd></dl>
</div>
</div>
<a id="a94d6b2407e7396fe8dec0f3d884acec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94d6b2407e7396fe8dec0f3d884acec3">&#9670;&nbsp;</a></span>menuActivite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int menuActivite </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui gère l'affichage et la saisie dans le sous menu des activités </p>
<dl class="section return"><dt>Returns</dt><dd>le choix d'activité de l'utilisateur </dd></dl>
</div>
</div>
<a id="a648283aece883f660b3f9615a7ab3240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a648283aece883f660b3f9615a7ab3240">&#9670;&nbsp;</a></span>sauvegarde()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sauvegarde </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numCompte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui sauvegarde les données (soldes, statutCarte et N°Compte) <b>dans</b> le fichier adherents.don </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">numCompte</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbreAdh</td><td>nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aed318dabb18bd675cd9a620a0d8e3964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed318dabb18bd675cd9a620a0d8e3964">&#9670;&nbsp;</a></span>suppAdh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void suppAdh </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numAdhSup</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>soldes</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dejaVenu</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>tabNumAdh</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>statutCarte</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>nbreAdh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fonction qui permet de supprimer un adhérent à partir de son numéro d'adhérent </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">numAdhSup</td><td>numéro de l'adhérent à supprimer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">soldes</td><td>tableau contenant les points de tous les adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">dejaVenu</td><td>tableau qui gère si un utilisateur est déjà <b>rentré</b> dans la salle de sport aujourd'hui </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">tabNumAdh</td><td>tableau contenant tous les numéros d'adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">statutCarte</td><td>tableau contenant le statut des cartes de chaques adhérents </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">nbreAdh</td><td>pointeur servant à modifier le nombre d'adhérents </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,5 @@
<map id="sae.c" name="sae.c">
<area shape="rect" id="node1" title="ce fichier sert à faire fonctionner le programme du bar salle de sport : &quot;altère pub&quot;." alt="" coords="53,5,109,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,72,107"/>
<area shape="rect" id="node3" href="$sae_8h_source.html" title=" " alt="" coords="97,80,154,107"/>
</map>

@ -0,0 +1 @@
3328b8df6f63fb864fc42b37e8f43d73

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,148 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: sae.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">sae.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keywordtype">int</span> <a class="code" href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">menu</a> (<span class="keywordtype">void</span>) ;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a839a62681808312113e0d1acbd841205">globale</a> (<span class="keywordtype">void</span>) ;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keywordtype">int</span> <a class="code" href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">creerAdh</a> (<span class="keywordtype">int</span> nbreAdh, <span class="keywordtype">int</span> tabNumAdh [], <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> statutCarte [] ) ;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keywordtype">int</span> <a class="code" href="sae_8c.html#aab2574f041973727f871f4552a7973ec">chargement</a> (<span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> statutCarte [], <span class="keywordtype">int</span> numCompte [] ) ;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">alimenterCarte</a> (<span class="keywordtype">int</span> numAdh, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> nbreAdh) ;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">sauvegarde</a> (<span class="keywordtype">int</span> numCompte [], <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> statutCarte [],\</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">int</span> nbreAdh) ;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">menuActivite</a> (<span class="keywordtype">void</span>) ;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">activite</a> (<span class="keywordtype">int</span> choix, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> dejaVenu [],\</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordtype">int</span> tabNumAdh [], <span class="keywordtype">int</span> statutCarte [], <span class="keywordtype">int</span> nbreAdh, <span class="keywordtype">int</span> tabActi []) ;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">affichAdh</a> (<span class="keywordtype">int</span> numAdh, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> dejaVenu[],\</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">int</span> statutCarte[] , <span class="keywordtype">int</span> numCompte[], <span class="keywordtype">int</span> nbreAdh) ;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">affichTousAdh</a> (<span class="keywordtype">int</span> numAdh, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> dejaVenu[],\</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">int</span> statutCarte[] , <span class="keywordtype">int</span> numCompte[], <span class="keywordtype">int</span> nbreAdh) ;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">actDesactCarte</a> (<span class="keywordtype">int</span> numAdh, <span class="keywordtype">int</span> statutCarte [], <span class="keywordtype">int</span> numCompte [], <span class="keywordtype">int</span> nbreAdh) ;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">suppAdh</a>(<span class="keywordtype">int</span> numAdhSup, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> dejaVenu [], <span class="keywordtype">int</span> tabNumAdh [], \</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">int</span> statutCarte [], <span class="keywordtype">int</span> * nbreAdh) ;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="keywordtype">int</span> <a class="code" href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">depenserPts</a> (<span class="keywordtype">int</span> numAdh, <span class="keywordtype">int</span> soldes [], <span class="keywordtype">int</span> montantDebit,\</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">int</span> tabActi [], <span class="keywordtype">int</span> acti) ;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="keywordtype">void</span> <a class="code" href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">affichActi</a>(<span class="keywordtype">int</span> tabActi []) ;</div>
<div class="ttc" id="asae_8c_html_a00adf9c3a0114a9dbce3d4b70913cdb8"><div class="ttname"><a href="sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8">alimenterCarte</a></div><div class="ttdeci">void alimenterCarte(int numAdh, int soldes[], int nbreAdh)</div><div class="ttdoc">fonction qui sert à alimenter en points les cartes des adhérents</div><div class="ttdef"><b>Definition:</b> sae.c:146</div></div>
<div class="ttc" id="asae_8c_html_a648283aece883f660b3f9615a7ab3240"><div class="ttname"><a href="sae_8c.html#a648283aece883f660b3f9615a7ab3240">sauvegarde</a></div><div class="ttdeci">void sauvegarde(int numCompte[], int soldes[], int statutCarte[], int nbreAdh)</div><div class="ttdoc">fonction qui sauvegarde les données (soldes, statutCarte et N°Compte) dans le fichier adherents....</div><div class="ttdef"><b>Definition:</b> sae.c:177</div></div>
<div class="ttc" id="asae_8c_html_a6cee71a77e001c428bf9d53f0fe5a601"><div class="ttname"><a href="sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601">affichActi</a></div><div class="ttdeci">void affichActi(int tabActi[])</div><div class="ttdoc">fonction qui affiche les statistiques de fréquentations pour chaque activités</div><div class="ttdef"><b>Definition:</b> sae.c:355</div></div>
<div class="ttc" id="asae_8c_html_a7518eb1081fb629ebe3f0fd9d629e59d"><div class="ttname"><a href="sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d">affichTousAdh</a></div><div class="ttdeci">void affichTousAdh(int numAdh, int soldes[], int dejaVenu[], int statutCarte[], int numCompte[], int nbreAdh)</div><div class="ttdoc">fonction qui affiche tous les adhérents</div><div class="ttdef"><b>Definition:</b> sae.c:293</div></div>
<div class="ttc" id="asae_8c_html_a7f3db509b04b31b00f287fa6b8959fad"><div class="ttname"><a href="sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad">menu</a></div><div class="ttdeci">int menu(void)</div><div class="ttdoc">fonction qui gère l'affichage et la saisie dans le menu principal</div><div class="ttdef"><b>Definition:</b> sae.c:4</div></div>
<div class="ttc" id="asae_8c_html_a839a62681808312113e0d1acbd841205"><div class="ttname"><a href="sae_8c.html#a839a62681808312113e0d1acbd841205">globale</a></div><div class="ttdeci">void globale(void)</div><div class="ttdoc">fonction globale qui agit comme un menu principal</div><div class="ttdef"><b>Definition:</b> sae.c:29</div></div>
<div class="ttc" id="asae_8c_html_a8a25ebd22e1c70844e0ab07670d82e5e"><div class="ttname"><a href="sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e">affichAdh</a></div><div class="ttdeci">void affichAdh(int numAdh, int soldes[], int dejaVenu[], int statutCarte[], int numCompte[], int nbreAdh)</div><div class="ttdoc">fonction qui affiche les informatinos d'un adhérent</div><div class="ttdef"><b>Definition:</b> sae.c:278</div></div>
<div class="ttc" id="asae_8c_html_a9252c4b562ef2d7c1c6eba17a69e6b16"><div class="ttname"><a href="sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16">actDesactCarte</a></div><div class="ttdeci">void actDesactCarte(int numAdh, int statutCarte[], int numCompte[], int nbreAdh)</div><div class="ttdoc">fonction qui permet d'activer ou de désactiver la carte d'un adhérent</div><div class="ttdef"><b>Definition:</b> sae.c:312</div></div>
<div class="ttc" id="asae_8c_html_a94d6b2407e7396fe8dec0f3d884acec3"><div class="ttname"><a href="sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3">menuActivite</a></div><div class="ttdeci">int menuActivite(void)</div><div class="ttdoc">fonction qui gère l'affichage et la saisie dans le sous menu des activités</div><div class="ttdef"><b>Definition:</b> sae.c:191</div></div>
<div class="ttc" id="asae_8c_html_aab2574f041973727f871f4552a7973ec"><div class="ttname"><a href="sae_8c.html#aab2574f041973727f871f4552a7973ec">chargement</a></div><div class="ttdeci">int chargement(int soldes[], int statutCarte[], int tabNumCompt[])</div><div class="ttdoc">fonction qui charge les données (soldes, statutCarte et N°Compte) dans des tableaux</div><div class="ttdef"><b>Definition:</b> sae.c:120</div></div>
<div class="ttc" id="asae_8c_html_aabcfa90b336f27cc54828e21bcb0794c"><div class="ttname"><a href="sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c">activite</a></div><div class="ttdeci">void activite(int choix, int soldes[], int dejaVenu[], int tabNumAdh[], int statutCarte[], int nbreAdh, int tabActi[])</div><div class="ttdoc">fonction qui &quot;démarre&quot; une activité selon le choix de l'utilisateur</div><div class="ttdef"><b>Definition:</b> sae.c:228</div></div>
<div class="ttc" id="asae_8c_html_abb3baeca21461985d17711a7aa46f380"><div class="ttname"><a href="sae_8c.html#abb3baeca21461985d17711a7aa46f380">depenserPts</a></div><div class="ttdeci">int depenserPts(int numAdh, int soldes[], int montantDebit, int tabActi[], int acti)</div><div class="ttdoc">fonction qui retire des points à un adhérents lorsqu'il fait une activité</div><div class="ttdef"><b>Definition:</b> sae.c:215</div></div>
<div class="ttc" id="asae_8c_html_aed318dabb18bd675cd9a620a0d8e3964"><div class="ttname"><a href="sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964">suppAdh</a></div><div class="ttdeci">void suppAdh(int numAdhSup, int soldes[], int dejaVenu[], int tabNumAdh[], int statutCarte[], int *nbreAdh)</div><div class="ttdoc">fonction qui permet de supprimer un adhérent à partir de son numéro d'adhérent</div><div class="ttdef"><b>Definition:</b> sae.c:337</div></div>
<div class="ttc" id="asae_8c_html_afa696fc0519e17095220c4e70f9ad464"><div class="ttname"><a href="sae_8c.html#afa696fc0519e17095220c4e70f9ad464">creerAdh</a></div><div class="ttdeci">int creerAdh(int nbreAdh, int tabNumAdh[], int soldes[], int statutCarte[])</div><div class="ttdoc">fonction qui permet de creer un adhérent</div><div class="ttdef"><b>Definition:</b> sae.c:101</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,9 @@
var searchData=
[
['actdesactcarte_0',['actDesactCarte',['../sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16',1,'sae.c']]],
['activite_1',['activite',['../sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c',1,'sae.c']]],
['affichacti_2',['affichActi',['../sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601',1,'sae.c']]],
['affichadh_3',['affichAdh',['../sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e',1,'sae.c']]],
['affichtousadh_4',['affichTousAdh',['../sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d',1,'sae.c']]],
['alimentercarte_5',['alimenterCarte',['../sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,5 @@
var searchData=
[
['chargement_6',['chargement',['../sae_8c.html#aab2574f041973727f871f4552a7973ec',1,'sae.c']]],
['creeradh_7',['creerAdh',['../sae_8c.html#afa696fc0519e17095220c4e70f9ad464',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['depenserpts_8',['depenserPts',['../sae_8c.html#abb3baeca21461985d17711a7aa46f380',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['globale_9',['globale',['../sae_8c.html#a839a62681808312113e0d1acbd841205',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,5 @@
var searchData=
[
['menu_10',['menu',['../sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad',1,'sae.c']]],
['menuactivite_11',['menuActivite',['../sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,6 @@
var searchData=
[
['sae_2ec_12',['sae.c',['../sae_8c.html',1,'']]],
['sauvegarde_13',['sauvegarde',['../sae_8c.html#a648283aece883f660b3f9615a7ab3240',1,'sae.c']]],
['suppadh_14',['suppAdh',['../sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964',1,'sae.c']]]
];

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 11 11"
height="11"
width="11"
id="svg2"
version="1.1">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<path
id="path12"
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['sae_2ec_15',['sae.c',['../sae_8c.html',1,'']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,9 @@
var searchData=
[
['actdesactcarte_16',['actDesactCarte',['../sae_8c.html#a9252c4b562ef2d7c1c6eba17a69e6b16',1,'sae.c']]],
['activite_17',['activite',['../sae_8c.html#aabcfa90b336f27cc54828e21bcb0794c',1,'sae.c']]],
['affichacti_18',['affichActi',['../sae_8c.html#a6cee71a77e001c428bf9d53f0fe5a601',1,'sae.c']]],
['affichadh_19',['affichAdh',['../sae_8c.html#a8a25ebd22e1c70844e0ab07670d82e5e',1,'sae.c']]],
['affichtousadh_20',['affichTousAdh',['../sae_8c.html#a7518eb1081fb629ebe3f0fd9d629e59d',1,'sae.c']]],
['alimentercarte_21',['alimenterCarte',['../sae_8c.html#a00adf9c3a0114a9dbce3d4b70913cdb8',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,5 @@
var searchData=
[
['chargement_22',['chargement',['../sae_8c.html#aab2574f041973727f871f4552a7973ec',1,'sae.c']]],
['creeradh_23',['creerAdh',['../sae_8c.html#afa696fc0519e17095220c4e70f9ad464',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['depenserpts_24',['depenserPts',['../sae_8c.html#abb3baeca21461985d17711a7aa46f380',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['globale_25',['globale',['../sae_8c.html#a839a62681808312113e0d1acbd841205',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,5 @@
var searchData=
[
['menu_26',['menu',['../sae_8c.html#a7f3db509b04b31b00f287fa6b8959fad',1,'sae.c']]],
['menuactivite_27',['menuActivite',['../sae_8c.html#a94d6b2407e7396fe8dec0f3d884acec3',1,'sae.c']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,5 @@
var searchData=
[
['sauvegarde_28',['sauvegarde',['../sae_8c.html#a648283aece883f660b3f9615a7ab3240',1,'sae.c']]],
['suppadh_29',['suppAdh',['../sae_8c.html#aed318dabb18bd675cd9a620a0d8e3964',1,'sae.c']]]
];

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
sodipodi:docname="mag_sel.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="2096"
id="namedview4"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="32"
inkscape:cx="5.9792688"
inkscape:cy="1.1436277"
inkscape:window-x="1920"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,13 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</body>
</html>

@ -0,0 +1,257 @@
/*---------------- Search Box */
#MSearchBox {
white-space : nowrap;
background: white;
border-radius: 0.65em;
box-shadow: inset 0.5px 0.5px 3px 0px #555;
z-index: 102;
}
#MSearchBox .left {
display: inline-block;
vertical-align: middle;
height: 1.4em;
}
#MSearchSelect {
display: inline-block;
vertical-align: middle;
height: 1.4em;
padding: 0 0 0 0.3em;
margin: 0;
}
#MSearchField {
display: inline-block;
vertical-align: middle;
width: 7.5em;
height: 1.1em;
margin: 0 0.15em;
padding: 0;
line-height: 1em;
border:none;
color: #909090;
outline: none;
font-family: Arial, Verdana, sans-serif;
-webkit-border-radius: 0px;
border-radius: 0px;
background: none;
}
#MSearchBox .right {
display: inline-block;
vertical-align: middle;
width: 1.4em;
height: 1.4em;
}
#MSearchClose {
display: none;
font-size: inherit;
background : none;
border: none;
margin: 0;
padding: 0;
outline: none;
}
#MSearchCloseImg {
height: 1.4em;
padding: 0.3em;
margin: 0;
}
.MSearchBoxActive #MSearchField {
color: #000000;
}
#main-menu > li:last-child {
/* This <li> object is the parent of the search bar */
display: flex;
justify-content: center;
align-items: center;
height: 36px;
margin-right: 1em;
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #90A5CE;
background-color: #F9FAFC;
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt Arial, Verdana, sans-serif;
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: monospace;
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: #FFFFFF;
background-color: #3D578C;
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
width: 60ex;
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #000;
background-color: #EEF1F7;
z-index:10000;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
padding-bottom: 15px;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
body.SRPage {
margin: 5px 2px;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
font-family: Arial, Verdana, sans-serif;
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
font-family: Arial, Verdana, sans-serif;
}
.SRResult {
display: none;
}
div.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.searchresult {
background-color: #F0F3F8;
}
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: url("../tab_a.png");
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

@ -0,0 +1,816 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label, extension)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
if (!extension || extension == "") { extension = ".html"; }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
this.extension = extension;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else
{
window.frames.MSearchResults.postMessage("take_focus", "*");
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches' + this.extension;
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline-block';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}
/* @license-end */

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

@ -0,0 +1,21 @@
var indexSectionsWithContent =
{
0: "acdgms",
1: "s",
2: "acdgms"
};
var indexSectionNames =
{
0: "all",
1: "files",
2: "functions"
};
var indexSectionLabels =
{
0: "All",
1: "Files",
2: "Functions"
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

File diff suppressed because one or more lines are too long

@ -0,0 +1,23 @@
LATEX_CMD=pdflatex
all: refman.pdf
pdf: refman.pdf
refman.pdf: clean refman.tex
$(LATEX_CMD) refman
makeindex refman.idx
$(LATEX_CMD) refman
latex_count=8 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) refman ;\
latex_count=`expr $$latex_count - 1` ;\
done
makeindex refman.idx
$(LATEX_CMD) refman
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf

@ -0,0 +1,576 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
\RequirePackage{calc}
\RequirePackage{float}
%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
\RequirePackage{verbatim}
\RequirePackage[table]{xcolor}
\RequirePackage{longtable_doxygen}
\RequirePackage{tabu_doxygen}
\RequirePackage{fancyvrb}
\RequirePackage{tabularx}
\RequirePackage{multicol}
\RequirePackage{multirow}
\RequirePackage{hanging}
\RequirePackage{ifpdf}
\RequirePackage{adjustbox}
\RequirePackage{amssymb}
\RequirePackage{stackengine}
\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
%---------- Internal commands used in this style file ----------------
\newcommand{\ensurespace}[1]{%
\begingroup%
\setlength{\dimen@}{#1}%
\vskip\z@\@plus\dimen@%
\penalty -100\vskip\z@\@plus -\dimen@%
\vskip\dimen@%
\penalty 9999%
\vskip -\dimen@%
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
\endgroup%
}
\newcommand{\DoxyHorRuler}[1]{%
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
\ifthenelse{#1=0}%
{%
\hrule%
}%
{%
\hrulefilll%
}%
}
\newcommand{\DoxyLabelFont}{}
\newcommand{\entrylabel}[1]{%
{%
\parbox[b]{\labelwidth-4pt}{%
\makebox[0pt][l]{\DoxyLabelFont#1}%
\vspace{1.5\baselineskip}%
}%
}%
}
\newenvironment{DoxyDesc}[1]{%
\ensurespace{4\baselineskip}%
\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
%\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
\newsavebox{\xrefbox}
\newlength{\xreflength}
\newcommand{\xreflabel}[1]{%
\sbox{\xrefbox}{#1}%
\setlength{\xreflength}{\wd\xrefbox}%
\ifthenelse{\xreflength>\labelwidth}{%
\begin{minipage}{\textwidth}%
\setlength{\parindent}{0pt}%
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
\end{minipage}%
}{%
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
\newlength{\CodeWidthChar}
\newlength{\CodeHeightChar}
\settowidth{\CodeWidthChar}{?}
\settoheight{\CodeHeightChar}{?}
% Necessary for hanging indent
\newlength{\DoxyCodeWidth}
\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
\newcommand\NiceSpace{%
\discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}[1]{%
\par%
\scriptsize%
\normalfont\ttfamily%
\rightskip0pt plus 1fil%
\settowidth{\DoxyCodeWidth}{000000}%
\settowidth{\CodeWidthChar}{?}%
\settoheight{\CodeHeightChar}{?}%
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
\ifthenelse{\equal{#1}{0}}
{
{\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
}
{
{\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
}
}{%
\normalfont%
\normalsize%
\settowidth{\CodeWidthChar}{?}%
\settoheight{\CodeHeightChar}{?}%
}
% Redefining not defined characters, i.e. "Replacement Character" in tex output.
\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
\textcolor{white}{\sffamily\bfseries\small ?}}{%
\rotatebox{45}{$\blacksquare$}}}}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}[1]{%
\DoxyCode{#1}%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
\enumerate%
}{%
\endenumerate%
}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
\itemize%
}{%
\enditemize%
}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\centering%
}{%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
\begin{center}%
}{%
\end{center}%
}
% Used by @image
% (only if inline is specified)
\newenvironment{DoxyInlineImage}{%
}{%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @copyright
\newenvironment{DoxyCopyright}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return and @returns
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @internal
\newenvironment{DoxyInternal}[1]{%
\paragraph*{#1}%
}{%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\tabulinesep=1mm%
\par%
\ifthenelse{\equal{#1}{}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
{\ifthenelse{\equal{#1}{1}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
}
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for fields of simple structs
\newenvironment{DoxyFields}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for fields simple class style enums
\newenvironment{DoxyEnumFields}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for parameters within a detailed function description
\newenvironment{DoxyParamCaption}{%
\renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
}{%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
% Used for member descriptions
\newenvironment{DoxyCompactList}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
\setlength{\itemsep}{0pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\renewcommand{\makelabel}{\hfill}%
}%
}{%
\end{list}%
}
% Used for reference lists (@bug, @deprecated, @todo, etc.)
\newenvironment{DoxyRefList}{%
\begin{list}{}{%
\setlength{\labelwidth}{10pt}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\xreflabel}%
}%
}{%
\end{list}%
}
% Used by @bug, @deprecated, @todo, etc.
\newenvironment{DoxyRefDesc}[1]{%
\begin{list}{}{%
\renewcommand\makelabel[1]{\textbf{##1}}%
\settowidth\labelwidth{\makelabel{#1}}%
\setlength\leftmargin{\labelwidth+\labelsep}%
}%
}{%
\end{list}%
}
% Used by parameter lists and simple sections
\newenvironment{Desc}
{\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}
}{%
\end{list}%
}
% Used by tables
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
\newenvironment{TabularC}[1]%
{\tabulinesep=1mm
\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
{\end{longtabu*}\par}%
\newenvironment{TabularNC}[1]%
{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
{\end{tabu}\par}%
% Used for member group headers
\newenvironment{Indent}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
}%
\item[]\ignorespaces%
}{%
\unskip%
\end{list}%
}
% Used when hyperlinks are turned off
\newcommand{\doxyref}[3]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used to link to a table when hyperlinks are turned on
\newcommand{\doxytablelink}[2]{%
\ref{#1}%
}
% Used to link to a table when hyperlinks are turned off
\newcommand{\doxytableref}[3]{%
\ref{#3}%
}
% Used by @addindex
\newcommand{\lcurly}{\{}
\newcommand{\rcurly}{\}}
% Colors used for syntax highlighting
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
% Color used for table heading
\newcommand{\tableheadbgcolor}{lightgray}%
% Version of hypertarget with correct landing location
\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
% possibility to have sections etc. be within the margins
% unfortunately had to copy part of book.cls and add \raggedright
\makeatletter
\newcommand\doxysection{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\raggedright\normalfont\Large\bfseries}}
\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\large\bfseries}}
\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\raggedright\normalfont\normalsize\bfseries}}
\makeatother
% Define caption that is also suitable in a table
\makeatletter
\def\doxyfigcaption{%
\H@refstepcounter{figure}%
\@dblarg{\@caption{figure}}}
\makeatother

@ -0,0 +1,5 @@
\doxysection{File List}
Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{sae_8c}{sae.\+c}} \\*Ce fichier sert à faire fonctionner le programme du bar salle de sport \+: \char`\"{}altère pub\char`\"{} }{\pageref{sae_8c}}{}
\item\contentsline{section}{{\bfseries sae.\+h} }{\pageref{sae_8h}}{}
\end{DoxyCompactList}

@ -0,0 +1,448 @@
%%
%% This is file `longtable.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% longtable.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at http://latex-project.org/bugs.html
%% (but please observe conditions on bug reports sent to that address!)
%%
%% Copyright 1993-2016
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
%% --------------------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file may only be distributed together with a copy of the LaTeX
%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
%% without such generated files.
%%
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{longtable_doxygen}
[2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
\def\LT@err{\PackageError{longtable}}
\def\LT@warn{\PackageWarning{longtable}}
\def\LT@final@warn{%
\AtEndDocument{%
\LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
\global\let\LT@final@warn\relax}
\DeclareOption{errorshow}{%
\def\LT@warn{\PackageInfo{longtable}}}
\DeclareOption{pausing}{%
\def\LT@warn#1{%
\LT@err{#1}{This is not really an error}}}
\DeclareOption{set}{}
\DeclareOption{final}{}
\ProcessOptions
\newskip\LTleft \LTleft=\fill
\newskip\LTright \LTright=\fill
\newskip\LTpre \LTpre=\bigskipamount
\newskip\LTpost \LTpost=\bigskipamount
\newcount\LTchunksize \LTchunksize=20
\let\c@LTchunksize\LTchunksize
\newdimen\LTcapwidth \LTcapwidth=4in
\newbox\LT@head
\newbox\LT@firsthead
\newbox\LT@foot
\newbox\LT@lastfoot
\newcount\LT@cols
\newcount\LT@rows
\newcounter{LT@tables}
\newcounter{LT@chunks}[LT@tables]
\ifx\c@table\undefined
\newcounter{table}
\def\fnum@table{\tablename~\thetable}
\fi
\ifx\tablename\undefined
\def\tablename{Table}
\fi
\newtoks\LT@p@ftn
\mathchardef\LT@end@pen=30000
\def\longtable{%
\par
\ifx\multicols\@undefined
\else
\ifnum\col@number>\@ne
\@twocolumntrue
\fi
\fi
\if@twocolumn
\LT@err{longtable not in 1-column mode}\@ehc
\fi
\begingroup
\@ifnextchar[\LT@array{\LT@array[x]}}
\def\LT@array[#1]#2{%
\refstepcounter{table}\stepcounter{LT@tables}%
\if l#1%
\LTleft\z@ \LTright\fill
\else\if r#1%
\LTleft\fill \LTright\z@
\else\if c#1%
\LTleft\fill \LTright\fill
\fi\fi\fi
\let\LT@mcol\multicolumn
\let\LT@@tabarray\@tabarray
\let\LT@@hl\hline
\def\@tabarray{%
\let\hline\LT@@hl
\LT@@tabarray}%
\let\\\LT@tabularcr\let\tabularnewline\\%
\def\newpage{\noalign{\break}}%
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
\let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
\@tempdima\ht\strutbox
\let\@endpbox\LT@endpbox
\ifx\extrarowheight\@undefined
\let\@acol\@tabacol
\let\@classz\@tabclassz \let\@classiv\@tabclassiv
\def\@startpbox{\vtop\LT@startpbox}%
\let\@@startpbox\@startpbox
\let\@@endpbox\@endpbox
\let\LT@LL@FM@cr\@tabularcr
\else
\advance\@tempdima\extrarowheight
\col@sep\tabcolsep
\let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
\fi
\setbox\@arstrutbox\hbox{\vrule
\@height \arraystretch \@tempdima
\@depth \arraystretch \dp \strutbox
\@width \z@}%
\let\@sharp##\let\protect\relax
\begingroup
\@mkpream{#2}%
\xdef\LT@bchunk{%
\global\advance\c@LT@chunks\@ne
\global\LT@rows\z@\setbox\z@\vbox\bgroup
\LT@setprevdepth
\tabskip\LTleft \noexpand\halign to\hsize\bgroup
\tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
\endgroup
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
\LT@make@row
\m@th\let\par\@empty
\everycr{}\lineskip\z@\baselineskip\z@
\LT@bchunk}
\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
\def\LT@start{%
\let\LT@start\endgraf
\endgraf\penalty\z@\vskip\LTpre
\dimen@\pagetotal
\advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
\advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
\advance\dimen@ \ht\LT@foot
\dimen@ii\vfuzz
\vfuzz\maxdimen
\setbox\tw@\copy\z@
\setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
\setbox\tw@\vbox{\unvbox\tw@}%
\vfuzz\dimen@ii
\advance\dimen@ \ht
\ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
\advance\dimen@\dp
\ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
\advance\dimen@ -\pagegoal
\ifdim \dimen@>\z@\vfil\break\fi
\global\@colroom\@colht
\ifvoid\LT@foot\else
\advance\vsize-\ht\LT@foot
\global\advance\@colroom-\ht\LT@foot
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
\maxdepth\z@
\fi
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
\output{\LT@output}}
\def\endlongtable{%
\crcr
\noalign{%
\let\LT@entry\LT@entry@chop
\xdef\LT@save@row{\LT@save@row}}%
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\if@filesw
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
\gdef\expandafter\noexpand
\csname LT@\romannumeral\c@LT@tables\endcsname
{\LT@save@row}}}%
\fi
\ifx\LT@save@row\LT@@save@row
\else
\LT@warn{Column \@width s have changed\MessageBreak
in table \thetable}%
\LT@final@warn
\fi
\endgraf\penalty -\LT@end@pen
\endgroup
\global\@mparbottom\z@
\pagegoal\vsize
\endgraf\penalty\z@\addvspace\LTpost
\ifvoid\footins\else\insert\footins{}\fi}
\def\LT@nofcols#1&{%
\futurelet\@let@token\LT@n@fcols}
\def\LT@n@fcols{%
\advance\LT@cols\@ne
\ifx\@let@token\LT@nofcols
\expandafter\@gobble
\else
\expandafter\LT@nofcols
\fi}
\def\LT@tabularcr{%
\relax\iffalse{\fi\ifnum0=`}\fi
\@ifstar
{\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
\LT@t@bularcr}%
{\LT@t@bularcr}}
\let\LT@crcr\crcr
\let\LT@setprevdepth\relax
\def\LT@t@bularcr{%
\global\advance\LT@rows\@ne
\ifnum\LT@rows=\LTchunksize
\gdef\LT@setprevdepth{%
\prevdepth\z@\global
\global\let\LT@setprevdepth\relax}%
\expandafter\LT@xtabularcr
\else
\ifnum0=`{}\fi
\expandafter\LT@LL@FM@cr
\fi}
\def\LT@xtabularcr{%
\@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
\def\LT@ntabularcr{%
\ifnum0=`{}\fi
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\LT@bchunk}
\def\LT@argtabularcr[#1]{%
\ifnum0=`{}\fi
\ifdim #1>\z@
\unskip\@xargarraycr{#1}%
\else
\@yargarraycr{#1}%
\fi
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\LT@bchunk}
\def\LT@echunk{%
\crcr\LT@save@row\cr\egroup
\global\setbox\@ne\lastbox
\unskip
\egroup}
\def\LT@entry#1#2{%
\ifhmode\@firstofone{&}\fi\omit
\ifnum#1=\c@LT@chunks
\else
\kern#2\relax
\fi}
\def\LT@entry@chop#1#2{%
\noexpand\LT@entry
{\ifnum#1>\c@LT@chunks
1}{0pt%
\else
#1}{#2%
\fi}}
\def\LT@entry@write{%
\noexpand\LT@entry^^J%
\@spaces}
\def\LT@kill{%
\LT@echunk
\LT@get@widths
\expandafter\LT@rebox\LT@bchunk}
\def\LT@rebox#1\bgroup{%
#1\bgroup
\unvbox\z@
\unskip
\setbox\z@\lastbox}
\def\LT@blank@row{%
\xdef\LT@save@row{\expandafter\LT@build@blank
\romannumeral\number\LT@cols 001 }}
\def\LT@build@blank#1{%
\if#1m%
\noexpand\LT@entry{1}{0pt}%
\expandafter\LT@build@blank
\fi}
\def\LT@make@row{%
\global\expandafter\let\expandafter\LT@save@row
\csname LT@\romannumeral\c@LT@tables\endcsname
\ifx\LT@save@row\relax
\LT@blank@row
\else
{\let\LT@entry\or
\if!%
\ifcase\expandafter\expandafter\expandafter\LT@cols
\expandafter\@gobble\LT@save@row
\or
\else
\relax
\fi
!%
\else
\aftergroup\LT@blank@row
\fi}%
\fi}
\let\setlongtables\relax
\def\LT@get@widths{%
\setbox\tw@\hbox{%
\unhbox\@ne
\let\LT@old@row\LT@save@row
\global\let\LT@save@row\@empty
\count@\LT@cols
\loop
\unskip
\setbox\tw@\lastbox
\ifhbox\tw@
\LT@def@row
\advance\count@\m@ne
\repeat}%
\ifx\LT@@save@row\@undefined
\let\LT@@save@row\LT@save@row
\fi}
\def\LT@def@row{%
\let\LT@entry\or
\edef\@tempa{%
\ifcase\expandafter\count@\LT@old@row
\else
{1}{0pt}%
\fi}%
\let\LT@entry\relax
\xdef\LT@save@row{%
\LT@entry
\expandafter\LT@max@sel\@tempa
\LT@save@row}}
\def\LT@max@sel#1#2{%
{\ifdim#2=\wd\tw@
#1%
\else
\number\c@LT@chunks
\fi}%
{\the\wd\tw@}}
\def\LT@hline{%
\noalign{\ifnum0=`}\fi
\penalty\@M
\futurelet\@let@token\LT@@hline}
\def\LT@@hline{%
\ifx\@let@token\hline
\global\let\@gtempa\@gobble
\gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
\else
\global\let\@gtempa\@empty
\gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
\fi
\ifnum0=`{\fi}%
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
\noalign{\LT@sep}%
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
\noalign{\penalty\@M}%
\@gtempa}
\def\LT@caption{%
\noalign\bgroup
\@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
\addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
\fi}
\def\LT@capti@n{%
\@ifstar
{\egroup\LT@c@ption\@gobble[]}%
{\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
\def\LT@makecaption#1#2#3{%
\LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
\sbox\@tempboxa{#1{#2: }#3}%
\ifdim\wd\@tempboxa>\hsize
#1{#2: }#3%
\else
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\endgraf\vskip\baselineskip}%
\hss}}}
\def\LT@output{%
\ifnum\outputpenalty <-\@Mi
\ifnum\outputpenalty > -\LT@end@pen
\LT@err{floats and marginpars not allowed in a longtable}\@ehc
\else
\setbox\z@\vbox{\unvbox\@cclv}%
\ifdim \ht\LT@lastfoot>\ht\LT@foot
\dimen@\pagegoal
\advance\dimen@-\ht\LT@lastfoot
\ifdim\dimen@<\ht\z@
\setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
\@makecol
\@outputpage
\setbox\z@\vbox{\box\LT@head}%
\fi
\fi
\global\@colroom\@colht
\global\vsize\@colht
\vbox
{\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
\fi
\else
\setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
\@makecol
\@outputpage
\global\vsize\@colroom
\copy\LT@head\nobreak
\fi}
\def\LT@end@hd@ft#1{%
\LT@echunk
\ifx\LT@start\endgraf
\LT@err
{Longtable head or foot not at start of table}%
{Increase LTchunksize}%
\fi
\setbox#1\box\z@
\LT@get@widths
\LT@bchunk}
\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
\def\endhead{\LT@end@hd@ft\LT@head}
\def\endfoot{\LT@end@hd@ft\LT@foot}
\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
\def\LT@startpbox#1{%
\bgroup
\let\@footnotetext\LT@p@ftntext
\setlength\hsize{#1}%
\@arrayparboxrestore
\vrule \@height \ht\@arstrutbox \@width \z@}
\def\LT@endpbox{%
\@finalstrut\@arstrutbox
\egroup
\the\LT@p@ftn
\global\LT@p@ftn{}%
\hfil}
\def\LT@p@ftntext#1{%
\edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
\global\LT@p@ftn\expandafter{\@tempa{#1}}}%
\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
\endinput
%%
%% End of file `longtable.sty'.

@ -0,0 +1,188 @@
\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book}
%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
\usepackage{ifthen}
\ifx\requestedLaTeXdate\undefined
\usepackage{array}
\else
\usepackage{array}[=2016-10-06]
\fi
%%
% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{doxygen}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage{ifxetex}
% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{sectsty}
\allsectionsfont{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
% Arguments of doxygenemoji:
% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped
% 2) file with the name of the emoji without the .png extension
% in case image exist use this otherwise use the ':<text>:' form
\newcommand{\doxygenemoji}[2]{%
\IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
}
% Page & text layout
\usepackage{geometry}
\geometry{%
a4paper,%
top=2.5cm,%
bottom=2.5cm,%
left=2.5cm,%
right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
\doxynormalparskip
\makeatletter
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@parafont%
}%
}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@subparafont%
}%
}
\makeatother
\makeatletter
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
\makeatother
% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\renewcommand{\footrulewidth}{0.4pt}
%
\fancypagestyle{fancyplain}{
\fancyhf{}
\fancyhead[LE, RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
}
%
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
\renewcommand{\headrulewidth}{0pt}}
%
\pagestyle{fancyplain}
%
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}%
}
% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex
\usepackage{newunicodechar}
\newunicodechar{}{${}^{-}$}% Superscript minus
\newunicodechar{²}{${}^{2}$}% Superscript two
\newunicodechar{³}{${}^{3}$}% Superscript three
% Hyperlinks (required, but should be loaded last)
\ifpdf
\usepackage[pdftex,pagebackref=true]{hyperref}
\else
\ifxetex
\usepackage[pagebackref=true]{hyperref}
\else
\usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\fi
\hypersetup{%
colorlinks=true,%
linkcolor=blue,%
citecolor=blue,%
unicode%
}
% Custom commands
\newcommand{\clearemptydoublepage}{%
\newpage{\pagestyle{empty}\cleardoublepage}%
}
\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
\usepackage{etoc}
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
\renewcommand{\numberline}[1]{#1~}
%===== C O N T E N T S =====
\begin{document}
\raggedbottom
% Titlepage & ToC
\hypersetup{pageanchor=false,
bookmarksnumbered=true,
pdfencoding=unicode
}
\pagenumbering{alph}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large My Project }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.9.1}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{File Index}
\input{files}
\chapter{File Documentation}
\input{sae_8c}
%--- End generated contents ---
% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{\indexname}
\printindex
\end{document}

@ -0,0 +1,339 @@
\hypertarget{sae_8c}{}\doxysection{sae.\+c File Reference}
\label{sae_8c}\index{sae.c@{sae.c}}
ce fichier sert à faire fonctionner le programme du bar salle de sport \+: \char`\"{}altère pub\char`\"{}.
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include \char`\"{}sae.\+h\char`\"{}}\newline
Include dependency graph for sae.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=192pt]{sae_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \mbox{\hyperlink{sae_8c_a7f3db509b04b31b00f287fa6b8959fad}{menu}} (void)
\begin{DoxyCompactList}\small\item\em fonction qui gère l\textquotesingle{}affichage et la saisie dans le menu principal \end{DoxyCompactList}\item
\mbox{\Hypertarget{sae_8c_a839a62681808312113e0d1acbd841205}\label{sae_8c_a839a62681808312113e0d1acbd841205}}
void \mbox{\hyperlink{sae_8c_a839a62681808312113e0d1acbd841205}{globale}} (void)
\begin{DoxyCompactList}\small\item\em fonction globale qui agit comme un menu principal \end{DoxyCompactList}\item
\mbox{\Hypertarget{sae_8c_a5d57fd3d7fead539bd550814d219a239}\label{sae_8c_a5d57fd3d7fead539bd550814d219a239}}
int {\bfseries recherche} (int num\+Adh, int tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\item
\mbox{\Hypertarget{sae_8c_a97a7921701b48616b684b6749ac1b3fd}\label{sae_8c_a97a7921701b48616b684b6749ac1b3fd}}
int {\bfseries num\+Dispo} (int tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\item
int \mbox{\hyperlink{sae_8c_afa696fc0519e17095220c4e70f9ad464}{creer\+Adh}} (int nbre\+Adh, int tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, int soldes\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em fonction qui permet de creer un adhérent \end{DoxyCompactList}\item
int \mbox{\hyperlink{sae_8c_aab2574f041973727f871f4552a7973ec}{chargement}} (int soldes\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int tab\+Num\+Compt\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em fonction qui charge les données (soldes, statut\+Carte et N°\+Compte) dans des tableaux \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a00adf9c3a0114a9dbce3d4b70913cdb8}{alimenter\+Carte}} (int num\+Adh, int soldes\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui sert à alimenter en points les cartes des adhérents \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a648283aece883f660b3f9615a7ab3240}{sauvegarde}} (int num\+Compte\mbox{[}$\,$\mbox{]}, int soldes\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui sauvegarde les données (soldes, statut\+Carte et N°\+Compte) {\bfseries{dans}} le fichier adherents.\+don \end{DoxyCompactList}\item
int \mbox{\hyperlink{sae_8c_a94d6b2407e7396fe8dec0f3d884acec3}{menu\+Activite}} (void)
\begin{DoxyCompactList}\small\item\em fonction qui gère l\textquotesingle{}affichage et la saisie dans le sous menu des activités \end{DoxyCompactList}\item
int \mbox{\hyperlink{sae_8c_abb3baeca21461985d17711a7aa46f380}{depenser\+Pts}} (int num\+Adh, int soldes\mbox{[}$\,$\mbox{]}, int montant\+Debit, int tab\+Acti\mbox{[}$\,$\mbox{]}, int acti)
\begin{DoxyCompactList}\small\item\em fonction qui retire des points à un adhérents lorsqu\textquotesingle{}il fait une activité \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_aabcfa90b336f27cc54828e21bcb0794c}{activite}} (int choix, int soldes\mbox{[}$\,$\mbox{]}, int deja\+Venu\mbox{[}$\,$\mbox{]}, int tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int nbre\+Adh, int tab\+Acti\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em fonction qui \char`\"{}démarre\char`\"{} une activité selon le choix de l\textquotesingle{}utilisateur \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a8a25ebd22e1c70844e0ab07670d82e5e}{affich\+Adh}} (int num\+Adh, int soldes\mbox{[}$\,$\mbox{]}, int deja\+Venu\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int num\+Compte\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui affiche les informatinos d\textquotesingle{}un adhérent \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a7518eb1081fb629ebe3f0fd9d629e59d}{affich\+Tous\+Adh}} (int num\+Adh, int soldes\mbox{[}$\,$\mbox{]}, int deja\+Venu\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int num\+Compte\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui affiche tous les adhérents \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a9252c4b562ef2d7c1c6eba17a69e6b16}{act\+Desact\+Carte}} (int num\+Adh, int statut\+Carte\mbox{[}$\,$\mbox{]}, int num\+Compte\mbox{[}$\,$\mbox{]}, int nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui permet d\textquotesingle{}activer ou de désactiver la carte d\textquotesingle{}un adhérent \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_aed318dabb18bd675cd9a620a0d8e3964}{supp\+Adh}} (int num\+Adh\+Sup, int soldes\mbox{[}$\,$\mbox{]}, int deja\+Venu\mbox{[}$\,$\mbox{]}, int tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, int statut\+Carte\mbox{[}$\,$\mbox{]}, int $\ast$nbre\+Adh)
\begin{DoxyCompactList}\small\item\em fonction qui permet de supprimer un adhérent à partir de son numéro d\textquotesingle{}adhérent \end{DoxyCompactList}\item
void \mbox{\hyperlink{sae_8c_a6cee71a77e001c428bf9d53f0fe5a601}{affich\+Acti}} (int tab\+Acti\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em fonction qui affiche les statistiques de fréquentations pour chaque activités \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
ce fichier sert à faire fonctionner le programme du bar salle de sport \+: \char`\"{}altère pub\char`\"{}.
\begin{DoxyAuthor}{Author}
Adam BONAFOS
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
10/11/2022
\end{DoxyDate}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{sae_8c_a9252c4b562ef2d7c1c6eba17a69e6b16}\label{sae_8c_a9252c4b562ef2d7c1c6eba17a69e6b16}}
\index{sae.c@{sae.c}!actDesactCarte@{actDesactCarte}}
\index{actDesactCarte@{actDesactCarte}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{actDesactCarte()}{actDesactCarte()}}
{\footnotesize\ttfamily void act\+Desact\+Carte (\begin{DoxyParamCaption}\item[{int}]{num\+Adh, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{num\+Compte\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui permet d\textquotesingle{}activer ou de désactiver la carte d\textquotesingle{}un adhérent
\begin{DoxyParams}[1]{Parameters}
& {\em num\+Adh} & numéro d\textquotesingle{}adhérent \\
\hline
\mbox{\texttt{ in,out}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in}} & {\em num\+Compte} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_aabcfa90b336f27cc54828e21bcb0794c}\label{sae_8c_aabcfa90b336f27cc54828e21bcb0794c}}
\index{sae.c@{sae.c}!activite@{activite}}
\index{activite@{activite}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{activite()}{activite()}}
{\footnotesize\ttfamily void activite (\begin{DoxyParamCaption}\item[{int}]{choix, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{deja\+Venu\mbox{[}$\,$\mbox{]}, }\item[{int}]{tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh, }\item[{int}]{tab\+Acti\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
fonction qui \char`\"{}démarre\char`\"{} une activité selon le choix de l\textquotesingle{}utilisateur
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em choix} & choix d\textquotesingle{}activité fait par l\textquotesingle{}utilisateur \\
\hline
\mbox{\texttt{ in,out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em deja\+Venu} & tableau qui gère si un utilisateur est déjà {\bfseries{rentré}} dans la salle de sport aujourd\textquotesingle{}hui \\
\hline
\mbox{\texttt{ in}} & {\em tab\+Num\+Adh} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em tab\+Acti} & tableau qui compte le nombre d\textquotesingle{}occurences {\bfseries{journalières}} de chaques activités \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_a6cee71a77e001c428bf9d53f0fe5a601}\label{sae_8c_a6cee71a77e001c428bf9d53f0fe5a601}}
\index{sae.c@{sae.c}!affichActi@{affichActi}}
\index{affichActi@{affichActi}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{affichActi()}{affichActi()}}
{\footnotesize\ttfamily void affich\+Acti (\begin{DoxyParamCaption}\item[{int}]{tab\+Acti\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
fonction qui affiche les statistiques de fréquentations pour chaque activités
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em tab\+Acti} & tableau qui compte le nombre d\textquotesingle{}occurences {\bfseries{journalières}} de chaques activités \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_a8a25ebd22e1c70844e0ab07670d82e5e}\label{sae_8c_a8a25ebd22e1c70844e0ab07670d82e5e}}
\index{sae.c@{sae.c}!affichAdh@{affichAdh}}
\index{affichAdh@{affichAdh}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{affichAdh()}{affichAdh()}}
{\footnotesize\ttfamily void affich\+Adh (\begin{DoxyParamCaption}\item[{int}]{num\+Adh, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{deja\+Venu\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{num\+Compte\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui affiche les informatinos d\textquotesingle{}un adhérent
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em num\+Adh} & numéro d\textquotesingle{}adhérent à afficher \\
\hline
\mbox{\texttt{ in}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in}} & {\em deja\+Venu} & tableau qui gère si un utilisateur est déjà \\
\hline
\mbox{\texttt{ in}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in}} & {\em num\+Compte} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_a7518eb1081fb629ebe3f0fd9d629e59d}\label{sae_8c_a7518eb1081fb629ebe3f0fd9d629e59d}}
\index{sae.c@{sae.c}!affichTousAdh@{affichTousAdh}}
\index{affichTousAdh@{affichTousAdh}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{affichTousAdh()}{affichTousAdh()}}
{\footnotesize\ttfamily void affich\+Tous\+Adh (\begin{DoxyParamCaption}\item[{int}]{num\+Adh, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{deja\+Venu\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{num\+Compte\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui affiche tous les adhérents
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em num\+Adh} & numéro d\textquotesingle{}adhérent à afficher \\
\hline
\mbox{\texttt{ in}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in}} & {\em deja\+Venu} & tableau qui gère si un utilisateur est déjà {\bfseries{rentré}} dans la salle de sport aujourd\textquotesingle{}hui \\
\hline
\mbox{\texttt{ in}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in}} & {\em num\+Compte} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_a00adf9c3a0114a9dbce3d4b70913cdb8}\label{sae_8c_a00adf9c3a0114a9dbce3d4b70913cdb8}}
\index{sae.c@{sae.c}!alimenterCarte@{alimenterCarte}}
\index{alimenterCarte@{alimenterCarte}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{alimenterCarte()}{alimenterCarte()}}
{\footnotesize\ttfamily void alimenter\+Carte (\begin{DoxyParamCaption}\item[{int}]{num\+Adh, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui sert à alimenter en points les cartes des adhérents
\begin{DoxyParams}[1]{Parameters}
& {\em num\+Adh} & Numéro d\textquotesingle{}adhérent auquel il faut ajouter des points \\
\hline
\mbox{\texttt{ in,out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_aab2574f041973727f871f4552a7973ec}\label{sae_8c_aab2574f041973727f871f4552a7973ec}}
\index{sae.c@{sae.c}!chargement@{chargement}}
\index{chargement@{chargement}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{chargement()}{chargement()}}
{\footnotesize\ttfamily int chargement (\begin{DoxyParamCaption}\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{num\+Compte\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
fonction qui charge les données (soldes, statut\+Carte et N°\+Compte) dans des tableaux
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ out}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ out}} & {\em tab\+Num\+Adh} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_afa696fc0519e17095220c4e70f9ad464}\label{sae_8c_afa696fc0519e17095220c4e70f9ad464}}
\index{sae.c@{sae.c}!creerAdh@{creerAdh}}
\index{creerAdh@{creerAdh}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{creerAdh()}{creerAdh()}}
{\footnotesize\ttfamily int creer\+Adh (\begin{DoxyParamCaption}\item[{int}]{nbre\+Adh, }\item[{int}]{tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
fonction qui permet de creer un adhérent
\begin{DoxyParams}[1]{Parameters}
& {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em tab\+Num\+Adh} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
le nouveau nombre d\textquotesingle{}adhérents
\end{DoxyReturn}
\mbox{\Hypertarget{sae_8c_abb3baeca21461985d17711a7aa46f380}\label{sae_8c_abb3baeca21461985d17711a7aa46f380}}
\index{sae.c@{sae.c}!depenserPts@{depenserPts}}
\index{depenserPts@{depenserPts}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{depenserPts()}{depenserPts()}}
{\footnotesize\ttfamily int depenser\+Pts (\begin{DoxyParamCaption}\item[{int}]{num\+Adh, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{montant\+Debit, }\item[{int}]{tab\+Acti\mbox{[}$\,$\mbox{]}, }\item[{int}]{acti }\end{DoxyParamCaption})}
fonction qui retire des points à un adhérents lorsqu\textquotesingle{}il fait une activité
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em num\+Adh} & numéro de l\textquotesingle{}adhérent qui fait l\textquotesingle{}activité \\
\hline
\mbox{\texttt{ in,out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in}} & {\em montant\+Debit} & somme à débiter du compte de l\textquotesingle{}adhérent (prix de l\textquotesingle{}activité) \\
\hline
\mbox{\texttt{ in,out}} & {\em tab\+Acti} & tableau qui compte le nombre d\textquotesingle{}occurences {\bfseries{journalières}} de chaques activités \\
\hline
\mbox{\texttt{ in}} & {\em acti} & numéro de l\textquotesingle{}activité faite par l\textquotesingle{}adhérent (case du tableau tab\+Acti {\bfseries{}} est stocké le compteur d\textquotesingle{}occurence de cette activité) \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_a7f3db509b04b31b00f287fa6b8959fad}\label{sae_8c_a7f3db509b04b31b00f287fa6b8959fad}}
\index{sae.c@{sae.c}!menu@{menu}}
\index{menu@{menu}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{menu()}{menu()}}
{\footnotesize\ttfamily int menu (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
fonction qui gère l\textquotesingle{}affichage et la saisie dans le menu principal
\begin{DoxyReturn}{Returns}
le choix d\textquotesingle{}action de l\textquotesingle{}utilisateur
\end{DoxyReturn}
\mbox{\Hypertarget{sae_8c_a94d6b2407e7396fe8dec0f3d884acec3}\label{sae_8c_a94d6b2407e7396fe8dec0f3d884acec3}}
\index{sae.c@{sae.c}!menuActivite@{menuActivite}}
\index{menuActivite@{menuActivite}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{menuActivite()}{menuActivite()}}
{\footnotesize\ttfamily int menu\+Activite (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
fonction qui gère l\textquotesingle{}affichage et la saisie dans le sous menu des activités
\begin{DoxyReturn}{Returns}
le choix d\textquotesingle{}activité de l\textquotesingle{}utilisateur
\end{DoxyReturn}
\mbox{\Hypertarget{sae_8c_a648283aece883f660b3f9615a7ab3240}\label{sae_8c_a648283aece883f660b3f9615a7ab3240}}
\index{sae.c@{sae.c}!sauvegarde@{sauvegarde}}
\index{sauvegarde@{sauvegarde}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{sauvegarde()}{sauvegarde()}}
{\footnotesize\ttfamily void sauvegarde (\begin{DoxyParamCaption}\item[{int}]{num\+Compte\mbox{[}$\,$\mbox{]}, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui sauvegarde les données (soldes, statut\+Carte et N°\+Compte) {\bfseries{dans}} le fichier adherents.\+don
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em num\+Compte} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in}} & {\em nbre\+Adh} & nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{sae_8c_aed318dabb18bd675cd9a620a0d8e3964}\label{sae_8c_aed318dabb18bd675cd9a620a0d8e3964}}
\index{sae.c@{sae.c}!suppAdh@{suppAdh}}
\index{suppAdh@{suppAdh}!sae.c@{sae.c}}
\doxysubsubsection{\texorpdfstring{suppAdh()}{suppAdh()}}
{\footnotesize\ttfamily void supp\+Adh (\begin{DoxyParamCaption}\item[{int}]{num\+Adh\+Sup, }\item[{int}]{soldes\mbox{[}$\,$\mbox{]}, }\item[{int}]{deja\+Venu\mbox{[}$\,$\mbox{]}, }\item[{int}]{tab\+Num\+Adh\mbox{[}$\,$\mbox{]}, }\item[{int}]{statut\+Carte\mbox{[}$\,$\mbox{]}, }\item[{int $\ast$}]{nbre\+Adh }\end{DoxyParamCaption})}
fonction qui permet de supprimer un adhérent à partir de son numéro d\textquotesingle{}adhérent
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em num\+Adh\+Sup} & numéro de l\textquotesingle{}adhérent à supprimer \\
\hline
\mbox{\texttt{ in,out}} & {\em soldes} & tableau contenant les points de tous les adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em deja\+Venu} & tableau qui gère si un utilisateur est déjà {\bfseries{rentré}} dans la salle de sport aujourd\textquotesingle{}hui \\
\hline
\mbox{\texttt{ in,out}} & {\em tab\+Num\+Adh} & tableau contenant tous les numéros d\textquotesingle{}adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em statut\+Carte} & tableau contenant le statut des cartes de chaques adhérents \\
\hline
\mbox{\texttt{ in,out}} & {\em nbre\+Adh} & pointeur servant à modifier le nombre d\textquotesingle{}adhérents \\
\hline
\end{DoxyParams}

@ -0,0 +1 @@
91a12a5f2626c5e3749f21feabf5181f

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,5 @@
sae : sae.c testSae.c
gcc -Wall sae.c testSae.c -o sae
clean :
rm sae

BIN
sae

Binary file not shown.

364
sae.c

@ -0,0 +1,364 @@
#include <stdio.h>
#include "sae.h"
int menu (void) {
int rep ;
printf("\n\t+-----------------------------------------------------+\n") ;
printf("\t| 1) Créer un adhérent |\n") ;
printf("\t| 2) Alimenter une carte |\n") ;
printf("\t| 3) Désactiver/Activer une carte |\n") ;
printf("\t| 4) Supprimer un adhérent |\n") ;
printf("\t| 5) Afficher les infos d'un adhérent |\n") ;
printf("\t| 6) Afficher tous les adhérents |\n") ;
printf("\t| 7) Afficher le nombre d'entrées par activités |\n") ;
printf("\t| dans la journée |\n") ;
printf("\t| 8) Selectionner une activité |\n") ;
printf("\t+-----------------------------------------------------+\n") ;
printf("\t| POUR QUITTER PRESSER : 0 |\n") ;
printf("\t+-----------------------------------------------------+\n") ;
printf("\n\nNuméro de l'action choisie : ") ;
scanf("%d", &rep) ;
printf("########################################\n\n") ;
return rep ;
}
void globale (void) {
int choix = 10 , nbreAdh, numAdh, rep ;
int soldes [100], dejaVenu[100]={0}, statutCarte[100] , numCompte[100], tabActi[5]={0} ;
printf(" ######### SYSTEME DÉMARRÉ #########\n\n") ;
printf("\t +-------------------------------------------+\n") ;
printf("\t | ALTÈRE PUB |\n") ;
printf("\t +-------------------------------------------+\n\n") ;
nbreAdh = chargement (soldes, statutCarte, numCompte) ;
if (nbreAdh < 0) {
printf("ERROR : FICHIER MAL CHARGÉ\n") ;
return ;
}
choix = menu () ;
while (choix != 0) {
if (choix == 1) {
nbreAdh = creerAdh (nbreAdh, numCompte, soldes, statutCarte) ;
}
else if (choix == 2) {
printf("Numéro d'adhérents : ") ;
scanf("%d", &numAdh) ;
alimenterCarte (numAdh, soldes, nbreAdh) ;//manque vérife si adhérent dans la liste
}
else if (choix == 3) {
printf("Numéro d'adhérents : ") ;
scanf("%d", &numAdh) ;
actDesactCarte (numAdh, statutCarte, numCompte, nbreAdh);
}
else if (choix == 4) {
printf("Numéro d'adhérents : ") ;
scanf("%d", &numAdh) ;
suppAdh(numAdh, soldes, dejaVenu, numCompte,\
statutCarte, &nbreAdh) ;
}
else if (choix == 5) {
printf("Numéro d'adhérents : ") ;
scanf("%d", &numAdh) ;
affichAdh (numAdh, soldes, dejaVenu, statutCarte, numCompte, nbreAdh) ;
}
else if (choix == 6) {
affichTousAdh (numAdh, soldes, dejaVenu, statutCarte,\
numCompte, nbreAdh) ;
}
else if (choix == 7) {
affichActi(tabActi) ;
}
else if (choix == 8) {
rep = menuActivite() ;
activite (rep, soldes, dejaVenu, numCompte, statutCarte, nbreAdh, tabActi) ;
}
choix = menu () ;
}
sauvegarde (numCompte, soldes, statutCarte, nbreAdh) ;
}
int recherche (int numAdh, int tabNumAdh [], int nbreAdh) {
int i ;
for (i = 0 ; i < nbreAdh ; i ++) {
if (tabNumAdh[i] == numAdh) return i ;
}
return -1 ;
}
int numDispo (int tabNumAdh [],int nbreAdh) {
int i , research ;
for (i = 0 ; i < 100 ; i++) {
research = recherche(i, tabNumAdh, nbreAdh) ;
if (research == -1) return i ;
}
return -1 ;
}
int creerAdh (int nbreAdh, int tabNumAdh [], int soldes [], int statutCarte []) {
int numAdh = numDispo(tabNumAdh, nbreAdh) ;
if (numAdh == -1) {
printf("Erreur trop d'adhérents !\n") ;
return 0;
}
printf("Numéro d'adhérent : %d\n", numAdh) ;
tabNumAdh[nbreAdh] = numAdh ;
soldes[nbreAdh] = 0 ;
while (soldes[nbreAdh] == 0) {
alimenterCarte(nbreAdh, soldes, nbreAdh) ;
}
statutCarte[nbreAdh] = 1 ; // 0: désactivé / 1: activé
nbreAdh ++ ;
return nbreAdh ;
}
int chargement (int soldes [], int statutCarte [], int tabNumCompt []) {
FILE * loadFile ;
int solde, nbreAdh = 0, numCompte, estActive ;
printf("chargement des données ...\n") ;
loadFile = fopen("adherents.don", "r") ;
if (loadFile == NULL) return -1;
fscanf(loadFile, "%d %d %d\n", &numCompte, &solde, &estActive ) ;
while (feof(loadFile) == 0) {
soldes[nbreAdh] = solde ;
statutCarte[nbreAdh] = estActive ;
tabNumCompt[nbreAdh] = numCompte ;
nbreAdh ++ ;
fscanf(loadFile, "%d %d %d\n", &numCompte,\
&solde, &estActive ) ;
}
fscanf(loadFile, "%d %d %d\n", &numCompte, \
&solde, &estActive ) ;
soldes[nbreAdh] = solde ;
statutCarte[nbreAdh] = estActive ;
tabNumCompt[nbreAdh] = numCompte ;
if (nbreAdh != 0) nbreAdh ++ ;
fclose(loadFile) ;
printf("données chargés\n") ;
return nbreAdh ;
}
void alimenterCarte (int numAdh, int soldes[], int nbreAdh) {
printf(" ######## ALIMENTER LA CARTE ########\n\n") ;
int nbPointAchat ;
float prix ;
char valide ;
printf("Vous avez : %d points\n", soldes[numAdh]) ;
printf("Combien de points voulez-vous en\
rajoutez (5 points = 5) : ") ;
scanf("%d%*c", &nbPointAchat) ;
prix = nbPointAchat ;
printf("Pour %d points vous devez payer : %.2f€\n",\
nbPointAchat, prix) ;
printf("Valider l'achat (O:oui / N:non) : ") ;
scanf("%c*c", &valide) ;
if (valide == 'O') {
printf ("\nPaiement en cours ... ") ;
printf ("Paiement finalisé !\n") ;
soldes[numAdh] += prix ;
if (prix > 50) {
printf("Cadeau : 10 points offerts comme vous\
avez crédité plus de 50") ;
soldes[numAdh] += 10 ;
}
printf("\nNouveau solde : %d points\n", soldes[numAdh]) ;
}
else printf("Rentrez un numéro d'adhérent valide\n") ;
}
void sauvegarde (int numCompte [], int soldes [], int statutCarte [],\
int nbreAdh) {
FILE* save ;
int i ;
printf("sauvegarde ...\n") ;
save = fopen("adherents.don", "w") ;
for (i=0 ; i < nbreAdh ; i++) {
fprintf(save,"%d %d %d\n", numCompte[i], soldes[i], statutCarte[i]) ;
}
fclose(save) ;
printf("sauvegarde effectuée\n") ;
}
int menuActivite (void) {
int rep ;
printf("\n\t+-------------------------------------------------------+\n") ;
printf("\t| 1) Entrée salle de sport 6 points |\n") ;
printf("\t| 2) Entrée + coach 25 points |\n") ;
printf("\t| 3) Entrée + boisson soft 8 points |\n") ;
printf("\t| 4) Pinte de bière 5 points |\n") ;
printf("\t| 5) Demi de bière 3 points |\n") ;
printf("\t| 6) Cocktail 8 points |\n") ;
/*printf("\t| 7) Tous les Jeudi : 10 points |\n") ;
printf("\t| A gagner, une girafe de bière + une |\n") ;
printf("\t| entrée gratuite à la salle de sport |\n") ;*/
printf("\t+-------------------------------------------------------+\n") ;
printf("\t| POUR QUITTER PRESSER : 0 |\n") ;
printf("\t+-------------------------------------------------------+\n") ;
printf("\n\nNuméro de l'activité choisie : ") ;
scanf("%d", &rep) ;
printf("########################################\n\n") ;
return rep ;
}
int depenserPts (int numAdh, int soldes [], int montantDebit, int tabActi [], int acti) {
if (soldes[numAdh] > montantDebit) {
soldes[numAdh] -= montantDebit ;
printf("nouveau solde : %d\n", soldes[numAdh]) ;
tabActi[acti] ++ ;
return 1 ;
}
else {
printf("Erreur : vous n'avez que %d point(s)\n", soldes[numAdh]) ;
return 0 ;
}
}
void activite (int choix, int soldes [], int dejaVenu [], int tabNumAdh [],\
int statutCarte [], int nbreAdh, int tabActi []) {
int numAdh ;
if (choix == 0) return ;
printf("Numéro d'adhérent : ") ;
scanf("%d", &numAdh) ;
numAdh = recherche (numAdh, tabNumAdh, nbreAdh) ;
if (numAdh != -1 && dejaVenu[numAdh] == 0) {
if (statutCarte[numAdh] == 1) {
if (choix == 1) {
printf("Activité : Entrée salle de sport\n") ;
dejaVenu[numAdh] = depenserPts(numAdh, soldes, 6, tabActi, 0) ;
}
else if (choix == 2) {
printf("Activité : Entrée salle de sport + coach\n") ;
dejaVenu[numAdh] = depenserPts(numAdh, soldes, 25, tabActi, 1) ;
}
else if (choix == 3) {
printf("Activité : Entrée salle de sport + boisson soft\n") ;
dejaVenu[numAdh] = depenserPts(numAdh, soldes, 8, tabActi, 2) ;
}
else if (choix == 4) {
printf("Activité : Dégustation d'une pinte de bière\n") ;
depenserPts(numAdh, soldes, 5, tabActi, 3) ;
}
else if (choix == 5) {
printf("Activité : Dégustation d'un demi de bière\n") ;
depenserPts(numAdh, soldes, 3, tabActi, 4) ;
}
else if (choix == 6) {
printf("Activité : Dégustation d'un cocktail\n") ;
depenserPts(numAdh, soldes, 8, tabActi, 5) ;
}
/*else if (choix == 7) {
printf("Activité : Participation au concour\n") ;
depenserPts(numAdh, soldes, 10) ;
//la sauvegarde de paticipation n'est pas faite
}*/
}
else {
printf("Réactivé votre carte !") ;
}
}
else {
printf("Connectez-vous avec un numéro d'adhérent valide ou vous êtes déjà venu\n") ;
}
}
void affichAdh (int numAdh, int soldes [], int dejaVenu[],\
int statutCarte[] , int numCompte[], int nbreAdh) {
numAdh = recherche (numAdh, numCompte, nbreAdh) ;
if (numAdh != -1) {
printf(" | Num %2d |", numCompte[numAdh]) ;
printf("%5d points |", soldes[numAdh]) ;
if (statutCarte[numAdh] == 1) printf(" Carte Activé |") ;
else printf(" Carte Désactivé |") ;
if (dejaVenu[numAdh] == 1) printf(" Nombre de visite : 1") ;
else printf(" Nombre de visite : 0") ;
printf(" |");
}
else printf("Erreur : cette adhérent n'existe pas") ;
}
void affichTousAdh (int numAdh, int soldes [], int dejaVenu[],\
int statutCarte[] , int numCompte[], int nbreAdh) {
int i ;
printf(" +---------------------------------------------------------------+\n") ;
for (i = 0 ; i < nbreAdh ; i++) {
printf(" | Num %2d |", numCompte[i]) ;
printf("%5d points |", soldes[i]) ;
if (statutCarte[i] == 1) printf(" Carte Activé |") ;
else printf(" Carte Désactivé |") ;
if (dejaVenu[i] == 1) printf(" Nombre de visite : 1") ;
else printf(" Nombre de visite : 0") ;
printf(" |");
/*affichAdh (i, soldes, dejaVenu, \
statutCarte, numCompte, nbreAdh) ;*/
printf("\n");
}
printf(" +---------------------------------------------------------------+\n") ;
}
void actDesactCarte (int numAdh, int statutCarte [], int numCompte [], int nbreAdh) {
int statut ;
numAdh = recherche (numAdh, numCompte, nbreAdh) ;
if (numAdh != -1) {
printf("\t+---------------------------+\n") ;
printf("\t| 0 : Désactiver la carte |\n") ;
printf("\t| 1 : Activer la carte |\n") ;
printf("\t+---------------------------+\n") ;
printf("\nStatut : ") ;
scanf("%d", &statut) ;
if (statut == 1) {
printf("Carte Activée\n") ;
statutCarte[numAdh] = 1 ;
}
else if (statut == 0) {
printf("Carte désactivée\n") ;
statutCarte[numAdh] = 0 ;
}
else {
printf("Erreur : rentrer 0 ou 1\n") ;
}
}
else printf("Entrez un numéro d'adhérent valide\n") ;
}
void suppAdh(int numAdhSup, int soldes [], int dejaVenu [], int tabNumAdh [],\
int statutCarte [], int* nbreAdh) {
int i ;
numAdhSup = recherche (numAdhSup, tabNumAdh, *nbreAdh) ;
if (numAdhSup != -1) {
printf("L'adhérent %d va être supprimé\n", numAdhSup) ;
for (i = numAdhSup ; i < *nbreAdh ; i++) {
soldes[i] = soldes[i + 1] ;
dejaVenu[i] = dejaVenu[i + 1] ;
tabNumAdh[i] = tabNumAdh[i + 1] ;
statutCarte[i] = statutCarte[i + 1] ;
}
printf("L'adhérent a était supprimé avec succès\n") ;
*nbreAdh = *nbreAdh - 1 ;
}
else printf("Entrez un numéro d'adhérent valide\n") ;
}
void affichActi(int tabActi []) {
printf("Statistiques :\n") ;
printf("Entrée salle de sport : %d\n", tabActi[0]) ;
printf("Entrée + coach : %d\n", tabActi[1]) ;
printf("Entrée + boisson soft : %d\n", tabActi[2]) ;
printf("Pinte de bière : %d\n", tabActi[3]) ;
printf("Demi de bière : %d\n", tabActi[4]) ;
printf("Cocktail : %d\n", tabActi[5]) ;
}

170
sae.h

@ -0,0 +1,170 @@
/**
\file sae.c
\author Adam BONAFOS
\date 10/11/2022
\brief ce fichier sert à faire fonctionner le programme du bar salle de sport : "altère pub".
*/
/**
\brief fonction qui gère l'affichage et la saisie dans le menu principal
\return le choix d'action de l'utilisateur
*/
int menu (void) ;
/**
\brief fonction globale qui agit comme un menu principal
*/
void globale (void) ;
/**
\brief fonction qui permet de creer un adhérent
\param nbreAdh nombre d'adhérents
\param[in, out] tabNumAdh tableau contenant tous les numéros d'adhérents
\param[in, out] soldes tableau contenant les points de tous les adhérents
\param[in, out] statutCarte tableau contenant le statut des cartes de chaques adhérents
\return le nouveau nombre d'adhérents
*/
int creerAdh (int nbreAdh, int tabNumAdh [], int soldes [], int statutCarte [] ) ;
/**
\brief fonction qui charge les données (soldes, statutCarte et N°Compte) dans des tableaux
\param[out] soldes tableau contenant les points de tous les adhérents
\param[out] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[out] tabNumAdh tableau contenant tous les numéros d'adhérents
*/
int chargement (int soldes [], int statutCarte [], int numCompte [] ) ;
/**
\brief fonction qui sert à alimenter en points les cartes des adhérents
\param numAdh Numéro d'adhérent auquel il faut ajouter des points
\param[in, out] soldes tableau contenant les points de tous les adhérents
\param[in] nbreAdh nombre d'adhérents
*/
void alimenterCarte (int numAdh, int soldes [], int nbreAdh) ;
/**
\brief fonction qui sauvegarde les données (soldes, statutCarte et N°Compte)
\b dans le fichier adherents.don
\param[in] numCompte tableau contenant tous les numéros d'adhérents
\param[in] soldes tableau contenant les points de tous les adhérents
\param[in] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in] nbreAdh nombre d'adhérents
*/
void sauvegarde (int numCompte [], int soldes [], int statutCarte [],\
int nbreAdh) ;
/**
\brief fonction qui gère l'affichage et la saisie dans le sous menu des activités
\return le choix d'activité de l'utilisateur
*/
int menuActivite (void) ;
/**
\brief fonction qui "démarre" une activité selon le choix de l'utilisateur
\param[in] choix choix d'activité fait par l'utilisateur
\param[in, out] soldes tableau contenant les points de tous les adhérents
\param[in, out] dejaVenu tableau qui gère si un utilisateur est déjà
\b rentré dans la salle de sport aujourd'hui
\param[in] tabNumAdh tableau contenant tous les numéros d'adhérents
\param[in] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in] nbreAdh nombre d'adhérents
\param[in, out] tabActi tableau qui compte le nombre d'occurences
\b journalières de chaques activités
*/
void activite (int choix, int soldes [], int dejaVenu [],\
int tabNumAdh [], int statutCarte [], int nbreAdh, int tabActi []) ;
/**
\brief fonction qui affiche les informatinos d'un adhérent
\param[in] numAdh numéro d'adhérent à afficher
\param[in] soldes tableau contenant les points de tous les adhérents
\param[in] dejaVenu tableau qui gère si un utilisateur est déjà
\param[in] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in] numCompte tableau contenant tous les numéros d'adhérents
\param[in] nbreAdh nombre d'adhérents
*/
void affichAdh (int numAdh, int soldes [], int dejaVenu[],\
int statutCarte[] , int numCompte[], int nbreAdh) ;
/**
\brief fonction qui affiche tous les adhérents
\param[in] numAdh numéro d'adhérent à afficher
\param[in] soldes tableau contenant les points de tous les adhérents
\param[in] dejaVenu tableau qui gère si un utilisateur est déjà
\b rentré dans la salle de sport aujourd'hui
\param[in] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in] numCompte tableau contenant tous les numéros d'adhérents
\param[in] nbreAdh nombre d'adhérents
*/
void affichTousAdh (int numAdh, int soldes [], int dejaVenu[],\
int statutCarte[] , int numCompte[], int nbreAdh) ;
/**
\brief fonction qui permet d'activer ou de désactiver la carte d'un adhérent
\param numAdh numéro d'adhérent
\param[in, out] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in] numCompte tableau contenant tous les numéros d'adhérents
\param[in] nbreAdh nombre d'adhérents
*/
void actDesactCarte (int numAdh, int statutCarte [], int numCompte [], int nbreAdh) ;
/**
\brief fonction qui permet de supprimer un adhérent à partir de son numéro d'adhérent
\param[in] numAdhSup numéro de l'adhérent à supprimer
\param[in, out] soldes tableau contenant les points de tous les adhérents
\param[in, out] dejaVenu tableau qui gère si un utilisateur est déjà
\b rentré dans la salle de sport aujourd'hui
\param[in, out] tabNumAdh tableau contenant tous les numéros d'adhérents
\param[in, out] statutCarte tableau contenant le statut des cartes de chaques adhérents
\param[in, out] nbreAdh pointeur servant à modifier le nombre d'adhérents
*/
void suppAdh(int numAdhSup, int soldes [], int dejaVenu [], int tabNumAdh [], \
int statutCarte [], int * nbreAdh) ;
/**
\brief fonction qui retire des points à un adhérents lorsqu'il fait une activité
\param[in] numAdh numéro de l'adhérent qui fait l'activité
\param[in, out] soldes tableau contenant les points de tous les adhérents
\param[in] montantDebit somme à débiter du compte de l'adhérent (prix de l'activité)
\param[in, out] tabActi tableau qui compte le nombre d'occurences
\b journalières de chaques activités
\param[in] acti numéro de l'activité faite par l'adhérent (case du tableau tabActi
\b où est stocké le compteur d'occurence de cette activité)
*/
int depenserPts (int numAdh, int soldes [], int montantDebit,\
int tabActi [], int acti) ;
/**
\brief fonction qui affiche les statistiques de fréquentations pour chaque activités
\param[in] tabActi tableau qui compte le nombre d'occurences
\b journalières de chaques activités
*/
void affichActi(int tabActi []) ;

@ -0,0 +1,7 @@
#include <stdio.h>
#include "sae.h"
int main (void) {
globale () ;
return 0;
}
Loading…
Cancel
Save