Bonjour !
J'ai un ennui avec une fonction qui ne marche pas ! Elle permet de créer un numéro de téléphone tout en s'assurant que le numéro est valide. Les numéros valides ont comme caractéristiques :
— Les caractères ne doivent être que des chiffres ;
— Ils doivent avoir 9 chiffres ;
— Il y a deux catégories de numéros : mobile et fixes ! les mobiles commencent soit par 77,76,70,78. Et les fixes par 33 ou 30. Voici mon code qui ne marche pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void ajout_tel(FILE*pt_fichier,Contact* p) { int ok = 1 ; do{ printf("entrer le numero de telephone: "); scanf("%s",p->tel); fprintf(pt_fichier,"%s",p->tel); system("cls"); if(strlen(p->tel)> 9) ok = 0 ; if(p->tel[i]!='0' && p->tel[i]!='1' && p->tel[i]!='2' && p->tel[i]!='3' && p->tel[i]!='4' && p->tel[i]!='5' && p->tel[i]!='6' && p->tel[i]!='7' && p->tel[i]!='8' && p->tel[i]!='9') ok=0; if(p->tel[0]!= 7 && p->tel[0]!= 3) //ici on s'assure que le premier caractere du numero indique soit le type mobile ou fixe// ok = 0 ; if(p->tel[0]== 7 && (p->tel[1]!= 7 && p->tel[1]!= 6 && p->tel[1]!= 8 && p->tel[1]!= 0 ) ) ok = 0 ; //un num ki debute par 7 ne peut aller qu'qvec un '7','6','8','0'. if(p->tel[0]== 3 && (p->tel[1]!= 0 && p->tel[1]!= 3) ) ok = 0 ; }while(!ok); }
Partager