#include <stdio.h> #include <string.h> #include <stdlib.h> int IsNumeric(char nChar) { return ((nChar >= '0') && (nChar <= '9')); } int IsPhoneNumber(char* lpNumber) { int nResult; int nI; nResult = 0; if (strlen(lpNumber) != 10) { printf("Un numéro de téléphone fait 10 chiffres\n"); goto the_end; } if (lpNumber[0] != '0') { printf("Un numéro de téléphone commence par zéro\n"); goto the_end; } for (nI = 1; nI < 10; nI++) if (! IsNumeric(lpNumber[nI])) { printf("Un numéro de téléphone n'est composé que de chiffres\n"); goto the_end; } nResult = 1; the_end: return nResult; } int GetPhoneNumber(char* lpMessage) { char lpNumber[256]; do { printf(lpMessage); scanf("%s", lpNumber); } while (! IsPhoneNumber(lpNumber)); return atoi(lpNumber); } char* IntToPhoneNumber(int nNumber, char* lpBuffer) { char lpTemp[20]; int nI, nJ; sprintf(lpTemp, "%010d\n", nNumber); nJ = 0; for (nI = 0; nI < 10; nI += 2) { lpBuffer[nJ] = lpTemp[nI]; lpBuffer[nJ + 1] = lpTemp[nI + 1]; lpBuffer[nJ + 2] = ' '; nJ += 3; } lpBuffer[nJ - 1] = 0; return lpBuffer; } int main () { FILE* lpFile; char lpNumber[20]; int nBeginning; int nEnd; int nI; nBeginning = GetPhoneNumber("Début ?\n"); nEnd = GetPhoneNumber("Fin ?\n"); lpFile = fopen("resultats.txt", "w+"); if (! lpFile) { printf("Echec de l'ouverture du fichier\n"); return 1; } for (nI = nBeginning; nI <= nEnd; nI++) { IntToPhoneNumber(nI, lpNumber); fprintf(lpFile, "%s\n", lpNumber); } fclose(lpFile); return 0; }
#include <stdio.h> #include <string.h> #include <stdlib.h> int IsNumeric(char nChar) { return ((nChar >= '0') && (nChar <= '9')); } int IsPhoneNumber(char* lpNumber) { int nResult; int nI; nResult = 0; if (strlen(lpNumber) != 10) { printf("Un numéro de téléphone fait 10 chiffres\n"); goto the_end; } if (lpNumber[0] != '0') { printf("Un numéro de téléphone commence par zéro\n"); goto the_end; } for (nI = 1; nI < 10; nI++) if (! IsNumeric(lpNumber[nI])) { printf("Un numéro de téléphone n'est composé que de chiffres\n"); goto the_end; } nResult = 1; the_end: return nResult; } int GetPhoneNumber(char* lpMessage) { char lpNumber[256]; do { printf(lpMessage); scanf("%s", lpNumber); } while (! IsPhoneNumber(lpNumber)); return atoi(lpNumber); } int main () { int nBeginning; int nEnd; int nI; nBeginning = GetPhoneNumber("Début ?\n"); nEnd = GetPhoneNumber("Fin ?\n"); printf("Numéros :\n"); for (nI = nBeginning; nI <= nEnd; nI++) printf("%010d\n", nI); return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include <stdio.h> #include <string.h> #include <stdlib.h> int IsNumeric(char nChar) { return ((nChar >= '0') && (nChar <= '9')); } int IsPhoneNumber(char* lpNumber) { int nResult; int nI; nResult = 0; if (strlen(lpNumber) != 10) { printf("Un numéro de téléphone fait 10 chiffres\n"); goto the_end; } if (lpNumber[0] != '0') { printf("Un numéro de téléphone commence par zéro\n"); goto the_end; } for (nI = 1; nI < 10; nI++) if (! IsNumeric(lpNumber[nI])) { printf("Un numéro de téléphone n'est composé que de chiffres\n"); goto the_end; } nResult = 1; the_end: return nResult; } int GetPhoneNumber(char* lpMessage) { char lpNumber[256]; do { printf(lpMessage); scanf("%s", lpNumber); } while (! IsPhoneNumber(lpNumber)); return atoi(lpNumber); } char* IntToPhoneNumber(int nNumber, char* lpBuffer) { char lpTemp[20]; int nI, nJ; sprintf(lpTemp, "%010d\n", nNumber); nJ = 0; for (nI = 0; nI < 10; nI += 2) { lpBuffer[nJ] = lpTemp[nI]; lpBuffer[nJ + 1] = lpTemp[nI + 1]; lpBuffer[nJ + 2] = ' '; nJ += 3; } return lpBuffer; } int main () { FILE* lpFile; char lpNumber[20]; int nBeginning; int nEnd; int nI; nBeginning = GetPhoneNumber("Début ?\n"); nEnd = GetPhoneNumber("Fin ?\n"); lpFile = fopen("resultats.txt", "w+"); if (! lpFile) { printf("Echec de l'ouverture du fichier\n"); return 1; } for (nI = nBeginning; nI <= nEnd; nI++) { IntToPhoneNumber(nI, lpNumber); fprintf(lpFile, "%s\n", lpNumber); } fclose(lpFile); return 0; }
il reste juste une corection a apporter a votre code pour qu il affiche uniquement les chiffre et non pas en face d numero,votre signature