1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void format_alphabetique(); //vérifie si ce sont des caractères
void format_numerique(); // vérifie si ce sont de chiffre
void menu();
void coherence_codepostal(); // vérifie si le code postal existe
int puissance(int a, int b);
//____________________________________________Fonctions pour Saisie_nom__________________________________
void saisie_nom(char nom[])
{
//char nom[40];
printf("\nComment t'appelles-tu petit ? ");
scanf("%s", nom);
format_alphabetique(nom);
}
void format_alphabetique(char saisie[])
{
int g;
char nom[40];
g=0;
while ((saisie[g]!= '\0') && (g<=40) && (((saisie[g]>= 'a') && (saisie[g]<= 'z')) || ((saisie[g]>= 'A') && (saisie[g]<= 'Z')))) // Vérification de la saisie
{
printf("%c",saisie[g]);
g=g+1;
}
if ((g>40)||(saisie[g]!= '\0')) //Résultat de la vérification de la saisie du nom
{
printf("\n\aErreur Veuillez reccomencer!! \n");
saisie_nom(nom);
}
printf("\nVous avez saisie un nom correct!! Merci");
menu();
}
//_______________________________________________Fonctions pour Saisie_code_______________________________
void saisie_codepostal(char codepostal[])
{
char codep[6];
printf("\nQuelle est ton code postal ? ");
scanf("%s",codep);
format_numerique(codep);
}
void format_numerique(char saisie[])
{
int g,cod,z,code;
char codepostal[6];
g=0;
z=4;
code=0;
while ((saisie[g] >= '0') && (saisie[g] <= '9') ) // Vérification de la saisie
{
cod= puissance(10,z);
code=(saisie[g]-48)*cod+code;
z=z-1;
g=g+1;
}
if ((g=5)&&(saisie[g]== '\0')) //Résultat de la vérification de la saisie du nom
{
printf("\nVous avez saisie un code correct!! Merci");
coherence_codepostal(code);
}
else
{
printf("\n\aErreur Veuillez reccomencer!! \n");
saisie_codepostal(codepostal);
}
}
void coherence_codepostal(int cod)
{
char codepostal[6];
if ((cod >= 1000) && (cod <= 97999))
{
printf("\n Code valide!!");
menu();
}
else
{
printf("\n Code invalide, ressayer!!");
saisie_codepostal(codepostal);
}
}
int puissance(int a, int b)
{
int i,puis;
puis=a;
if (b==0) puis=1;
else{
for(i=1; i<b;i=i+1)
{
puis=puis*a;
}}
return puis;
}
//_____________________________________Affiche les caractéristiques________________________________
void affiche_caracteristique(char codepostal[], char nom[])
{
printf("\n %s", codepostal);
printf("\n___________\n");
printf("\n %s", nom);
}
//_______________________________________Cette fonction propose le menu du questionnaire._________________
void menu()
{
int choix;
char nom[40];
char codepostal[6];
do
{
printf("\nQuestionnaire : \n (1) Saisie nom \n (2) Saisie du code postal \n (3) Affichage des caracteristiques de la personne \n (4) Fin :");
scanf("%d",&choix);
}
while ((choix!=1)&(choix!=2)&(choix!=3)&(choix!=4));
switch (choix)
{
case 1: saisie_nom(nom);
break;
case 2: saisie_codepostal(codepostal);
break;
case 3: affiche_caracteristique(codepostal,nom);
break;
case 4: return;
break;
default : printf("Erreur de choix! Veuillez recommencer s'il vous plait\n\n");
break;
}
}
//_____________________________________Programme_____________________________________________________________
int main()
{
menu();
return 0;
} |
Partager