tag:blogger.com,1999:blog-16795747406219980242024-02-08T09:49:37.498+00:00DuCode01.comBlog de partage de tutoriels et de codes sourcesAnonymoushttp://www.blogger.com/profile/04744426194296860244noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-1679574740621998024.post-83529302376279880392016-03-31T08:49:00.001+00:002016-03-31T08:49:09.737+00:00Fonction récursive calculant le minimum d'un tableau en C/C++<span style="background-color: white; color: #141823; font-family: helvetica, arial, sans-serif; font-size: 13px; line-height: 17.94px; white-space: pre-wrap;">int minimum(int t[],int indice,int nb) {
int mini;
if(indice==nb-1)
return t[indice];
else if(indice<nb)
{ mini = minimum(t,indice+1,nb);
if(t[indice]>mini)
return mini;
else
return t[indice];
}
else return (0);
}</span><div class="blogger-post-footer">C'est gratuit et c'est pour toujours!</div>Anonymoushttp://www.blogger.com/profile/04744426194296860244noreply@blogger.com0tag:blogger.com,1999:blog-1679574740621998024.post-61919147121596926702016-03-31T08:46:00.000+00:002016-03-31T08:46:57.249+00:00Fonction récursive calculant le maximum d'un tableau en C/C++<span style="background-color: white; color: #141823; font-family: helvetica, arial, sans-serif; font-size: 13px; line-height: 17.94px; white-space: pre-wrap;">int maximum(int t[],int indice,int nb) {
int maxi;
if(indice==nb-1)
return t[indice];
else if(indice<nb)
{ maxi = maximum(t,indice+1,nb);
if(t[indice]<maxi)
return maxi;
else
return t[indice];
}
else return (0);
}</span><div class="blogger-post-footer">C'est gratuit et c'est pour toujours!</div>Anonymoushttp://www.blogger.com/profile/04744426194296860244noreply@blogger.com0tag:blogger.com,1999:blog-1679574740621998024.post-82958980548642364432016-02-22T11:18:00.000+00:002016-02-22T11:18:54.151+00:00Connaitre le code ASCII d'une touche en CDans cet article, je vais vous montrer comment connaitre le code ASCII d'une touche appuyer par l'utilisateur comme les touche entré, backspace,...<br />
Pour cela nous allons utiliser une fonction de saisie de caractère de façon invisible dans la console qui est définie dans la bibliothèque conio.h.<br />
illustration du code :<br />
<div style="border: 2px solid black; text-align: left;">
<code><span style="color: #6aa84f;">
#include <stdio.h><br />#include <stdlib.h><br />#include <conio.h><br />int main()<br />{<br /> char car;<br /> printf("appuyer sur une touche pour avoir son code ASCII\n");<br /> car=getch();<br /> printf("Le code ASCII est : %d",car);<br /> system("PAUSE" );<br /> return 0;<br />}</span><br /><br />
</code>
</div>
<div class="blogger-post-footer">C'est gratuit et c'est pour toujours!</div>Anonymoushttp://www.blogger.com/profile/04744426194296860244noreply@blogger.com0tag:blogger.com,1999:blog-1679574740621998024.post-60451761969220127052016-02-20T01:03:00.000+00:002016-02-20T01:20:28.664+00:00Faire un LOGIN en Langage C [Basic]<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Parfois, il devient nécessaire de simuler une fenêtre de connexion
en mode console.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Dans ce tutoriel, je vais vous montrer comment faire un
login en C. Pour cela, nous travaillerons en mémoire (donc pas de fichier ni de
base de données).</span></div>
<div class="MsoNormal">
<!--[endif]--><span style="font-family: "arial" , "helvetica" , sans-serif;">Pour commencer, on définit deux
(2) constantes de chaine de caractère contenant le nom le nom d’utilisateur et
le mot de passe et deux autres qui stockerons respectivement le code ASCII des
touches entrer et Backspace (effacement). On suppose que le nom d’utilisateur
« username » et que le mot de passe est « password ».
</span><br />
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="border: 2px solid black; text-align: center; width: 200px;">
<code><span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;">
<br />
#define NAME "username"<br />
#define PASS "password"<br />
#define ENTER 13<br />
#define BACKSPACE 8</span></code></div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 11.0pt; line-height: 115%;">Commençons
par demander à l’utilisateur de fournir son nom d’utilisateur en partant du
principe qu’il continuera à saisir tant qu’il ne fournit pas le nom
d’utilisateur correct (dans notre cas c’est « username »).</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: 11.0pt; line-height: 115%;"><br /></span>
</span><br />
<div style="border: 2px solid black; text-align: left;">
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;">char nom_user [20] ;<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> do<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> system ("CLS");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> printf ("Nom d'utilisateur : ");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> scanf("%s", nom_user);<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> if(strcmp(nom_user,NAME)!=0)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> Printf ("Nom d'utilisateur
invalide !");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> getch ();<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> }<o:p></o:p></span></div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<br />
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #6aa84f; font-family: "courier new" , "courier" , monospace;"> }while (strcmp(nom_user,NAME)!=0);</span><span style="color: #00b050;"><o:p></o:p></span></span></div>
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
</span><br />
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Maintenant on il nous reste plus que le mot de passe. Dans la
saisie du mot de passe, on ne doit pas afficher les caractères saisis par
l’utilisateur. A leur place, on affiche
le caractère « * ». Pour effectuer cela, on saisira caractère par caractère. Faites les
déclarations suivantes</span><span style="font-family: "courier new" , "courier" , monospace;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="border: 2px solid black; text-align: left;">
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #00b050;">char c ; </span><span style="color: grey; mso-themecolor: background1; mso-themeshade: 128;">//Stocke le
caractère courant</span><span style="color: #00b050;"><o:p></o:p></span></span></div>
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #00b050;">char mot_pass [20] </span><span style="color: grey; mso-themecolor: background1; mso-themeshade: 128;">; //Mot de
passe final saisie</span><span style="color: #00b050;"><o:p></o:p></span></span></div>
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #00b050;">char chaine [20]; </span><span style="color: grey; mso-themecolor: background1; mso-themeshade: 128;">//chaine
utilisé pour faire la saisie initial du mot de passe<o:p></o:p></span></span></div>
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #00b050;">int nb ;</span><span style="color: grey; mso-themecolor: background1; mso-themeshade: 128;"> //compte le
nombre de caractère que contient le mot de passe<o:p></o:p></span></span></div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<br />
<div class="MsoNoSpacing">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #00b050;"><span style="font-family: "courier new" , "courier" , monospace;">int i ; </span></span><span style="color: grey; mso-themecolor: background1; mso-themeshade: 128;"><span style="font-family: "courier new" , "courier" , monospace;">//pour
parcourir les caractères saisis</span><o:p></o:p></span></span></div>
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">On permet la saisie du mot de passe
</span><br />
<div style="border: 2px solid black; text-align: left;">
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";">do<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> printf("Mot de passe : ");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> nb=0;<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #bfbfbf; font-family: "courier new"; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #BFBFBF; mso-style-textfill-fill-colortransforms: lumm=75000; mso-style-textfill-fill-themecolor: background1; mso-themecolor: background1; mso-themeshade: 191;">//L’utilisateur
saisie tant qu’il ne tape pas sur la touche entrer<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> while ((c=getch())!=ENTER)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> if(c!=BACKSPACE &&
nb<20)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> chaine [nb]=c;<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> nb++;<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> printf("*");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> else<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> if(nb>0)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> //Pour gérer l'effacement<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> nb--;<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> chaine[nb]='\0';<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #bfbfbf; font-family: "courier new"; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #BFBFBF; mso-style-textfill-fill-colortransforms: lumm=75000; mso-style-textfill-fill-themecolor: background1; mso-themecolor: background1; mso-themeshade: 191;"> //On copie tous les caractères contenu
dans la chaine<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> for(i=0;i<nb; i++)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> mot_pass[i]=chaine[i];<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> mot_pass[i]='\0'; //On indique le
caractère de fin de ligne<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> if(strcmp(mot_pass, PASS)!=0)<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> {<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> printf("\n Mot de passe
invalide \a\n");<o:p></o:p></span></div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }<o:p></o:p></span></div>
<div class="MsoNoSpacing">
</div>
<div class="MsoNoSpacing">
<span style="color: #00b050; font-family: "courier new";"> }while(strcmp(mot_pass,PASS)!=0);</span></div>
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Voici le code complet : copie du code source dans le sous dossier code source
</span><br />
<div style="border: 2px solid black; text-align: left;">
<span style="color: #6aa84f; font-family: monospace;">#include <stdio.h></span><br />
<span style="color: #6aa84f; font-family: monospace;">#include <stdlib.h></span><br />
<span style="color: #6aa84f; font-family: monospace;">#include <string.h></span><br />
<span style="color: #6aa84f; font-family: monospace;">#include<conio.h></span><br />
<span style="color: #6aa84f; font-family: monospace;">#define NAME "username"</span><br />
<span style="color: #6aa84f; font-family: monospace;">#define PASS "password"</span><br />
<span style="color: #6aa84f; font-family: monospace;">#define ENTER 13</span><br />
<span style="color: #6aa84f; font-family: monospace;">#define BACKSPACE 8</span><br />
<span style="color: #6aa84f; font-family: monospace;">int main()</span><br />
<span style="color: #6aa84f; font-family: monospace;">{</span><br />
<span style="color: #6aa84f; font-family: monospace;"> char c,nom_user[20],mot_pass[20],chaine[20];</span><br />
<span style="color: #6aa84f; font-family: monospace;"> int nb,i;</span><br />
<span style="color: #6aa84f; font-family: monospace;"> do</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> system("CLS");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> printf("Nom d'utilisateur : ");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> scanf("%s",nom_user);</span><br />
<span style="color: #6aa84f; font-family: monospace;"> if(strcmp(nom_user,NAME)!=0)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> printf("Nom d'utilisateur invalide !");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> getch();</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }while(strcmp(nom_user,NAME)!=0);</span><br />
<span style="color: #6aa84f; font-family: monospace;"> do</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> printf("Mot de passe : ");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> nb=0;</span><br />
<span style="color: #6aa84f; font-family: monospace;"> while((c=getch())!=ENTER)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> if(c!=BACKSPACE && nb<20)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> chaine[nb]=c;</span><br />
<span style="color: #6aa84f; font-family: monospace;"> nb++;</span><br />
<span style="color: #6aa84f; font-family: monospace;"> printf("*");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> else</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> if(nb>0)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> //Pour gérer l'effacement</span><br />
<span style="color: #6aa84f; font-family: monospace;"> nb--;</span><br />
<span style="color: #6aa84f; font-family: monospace;"> chaine[nb]='\0';</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> </span><span style="color: #666666; font-family: monospace;">//On copie tous les caractères contenu dans la chaine</span><br />
<span style="color: #6aa84f; font-family: monospace;"> for(i=0;i<nb;i++)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> mot_pass[i]=chaine[i];</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> mot_pass[i]='\0'; //On indiquele caractère de fin de ligne</span><br />
<span style="color: #6aa84f; font-family: monospace;"> if(strcmp(mot_pass,PASS)!=0)</span><br />
<span style="color: #6aa84f; font-family: monospace;"> {</span><br />
<span style="color: #6aa84f; font-family: monospace;"> printf("\nMot de passe invalide \a\n");</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }</span><br />
<span style="color: #6aa84f; font-family: monospace;"> }while(strcmp(mot_pass,PASS)!=0);</span><br />
<span style="color: #6aa84f; font-family: monospace;"> return 0;</span><br />
<span style="color: #6aa84f; font-family: monospace;">}</span><br />
<div>
<br /></div>
</div>
</div>
<div class="blogger-post-footer">C'est gratuit et c'est pour toujours!</div>Anonymoushttp://www.blogger.com/profile/04744426194296860244noreply@blogger.com4