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
|
#include <stdio.h>
unsigned int N ()
{
unsigned int n;
printf ("Veuillez saisir le nombre de chiffre a afficher:\n");
scanf ("%u",&n);
printf("Vous avez saisi %u\n",n);
return n;
}
void Aff( unsigned int nb, FILE * fichierTemp)
{
unsigned int i;
int dec;
// gère la largeur du tableau en adaptant le nombre de caracteres affichés grâce a la variable dec
if (nb>10000) dec=5;
else if (nb>1000) dec=4;
else if (nb>100) dec=3;
else if (nb>10) dec=2;
else if (nb>1) dec=1;
else dec=0;
// boucle d'affichage
for (i=0; i<nb;i++)
{
fprintf (fichierTemp,"%*u",dec,i+1);
if ((i+1)%10==0) fprintf (fichierTemp,"\n");
else fprintf (fichierTemp,"; ");
}
}
// fonction qui affiche les lignes du fichier une par une et retourne le nombre de lignes
int afficheLignesParLignes(char ligne [], int nbCaracteres,char nomFichier[])
{
int nbLignes=0;
/*Ouverture du nouveau fichier en lecture*/
FILE * FICHIER;
FICHIER = fopen(nomFichier, "w");
while (fgets(ligne,nbCaracteres,FICHIER) != NULL)
{
printf("%s\n",ligne);
nbLignes++;
}
return nbLignes;
}
main()
{
// Declaration
char NomFichier[]= "nombre.txt", mode = 'r';
char test[10000];
int nb;
// Pointeur de réf
FILE * FICHIER;
/*Ouverture du nouveau fichier en ecriture*/
FICHIER = fopen(NomFichier, "w");
//Programme
Aff(N(),FICHIER);
fclose (FICHIER);
nb=afficheLignesParLignes(afficheLignesParLignes,9999,NomFichier);
printf ("%d\n",nb);
} |
Partager