TP #5 : Entrées / Sorties
Objectifs
Écriture de programmes simples, utilisation des entrées-sorties standards

Programme simple

  • Écrire un programme qui demande 10 entiers à l’utilisateur et en fait la somme, et l’affiche à la fin (en utilisant strictement moins de 10 variables).
  • Modifier le programme précédent pour qu’il affiche les sommes intermédiaires.
  • Modifier le programme précédent pour afficher la moyenne de ces 10 entiers.
  • Modifier le programme précédent pour afficher la moyenne des entiers strictement positifs.

Jeu simple

Écrire un programme qui permet à un joueur (dont vous demanderez le nom) d’essayer de déterminer un nombre compris entre 1 et 100. Ce nombre sera choisi au hasard (voir fin de l’exercice) et vous devrez guider le joueur en lui indiquant si sa proposition est inférieure ou supérieure au nombre à trouver. Vous indiquerez le nombre de coups pour trouver le bon nombre.

#include <stdio.h>  // utilisation de printf et scanf
#include <stdlib.h> // utilisation de srand et rand
#include <time.h>   // utilisation d'une horloge

int main()
{
    // initialisation du generateur de nombre aléatoire
    // en se basant sur une graine qui doit changer à chaque execution
    // on utilise donc la date / heure courante
    srand(time(NULL));

    // rand donne une valeur comprise entre 0 et RAND_MAX
    // on prend une valeur aléatoire, on en calcule le mod par 100
    // ce qui donne une valeur comprise entre 0 et 99
    // on ajoute 1 pour avoir une valeur entre 1 et 100
    int random_int = rand() % 100 + 1 ;

    // à vous de jouer ...

    return 0;
}

Compte à rebours

Écrire un algorithme, qui étant donnés nbH, nbM, nbS dénotant respectivement un nombre d’heures, minutes, secondes, décompte cette durée (en affichant tous les couples (h,m,s)) et affiche TIME ! en fin de décompte.

EOF et redirections

Écrire un programme qui demande une série d’entiers à l’utilisateur (pas de nombre limite) et afficher la somme de ces entiers, la moyenne ainsi que les valeurs extrémales. La saisie sera terminée quand l’utilisateur fera la combinaison de touches CTRL+D (voir à la suite de l’exercice comment gérer cette combinaison en C) et vous afficherez les différents valeurs calculées à ce moment là.

Utilisez ensuite les redirections pour lire les valeurs entières dans un fichier texte que vous aurez créé.

#include <stdio.h>

int main()
{
    int value;

    while ( EOF != scanf("%d", &value) )
    {
        // a vous de jouer...
    }

    return 0;
}

Redirections

En vous basant sur l’exercice précédent, écrire un programme copy qui permet de dupliquer un fichier. La syntaxe d’utilisation sera par exemple copy < fichier_source > fichier_destination.