À chaque étape de programmation, vous devez vérifier si le programme :
#include <stdio.h>
#include <stdlib.h>
int main(){
return 0;
}
gcc -Wall exo1.c -o exo1
char maChaine1[10];
"Entrer une chaîne de caractère : \n");
printf("%s",maChaine1); scanf(
"L'utilisateur a rentré la chaine suivante : %s \n",maChaine1); printf(
Pour comprendre le fonctionnement de strcpy, vous pouvez taper la commande ci-dessous :
man 3 strcpy
L’objectif de cet exercice est de vous présentez une astuce afin de remplir plus facilement les entrées utilisateurs (C’est pas vraiment un exo mais un HelloWorld)
gcc -Wall exo2.c -o exo2
./exo2
emacs exo2.c &
cat entrees.txt
cat entrees.txt | ./exo2
Nous désirons réaliser le programme suivant :
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void creationJoueur(Joueur* j);
Il faut allouer :
- Les chaînes de caractères pour le nom et le prénom du joueur - Le joueur. C'est un joueur* donc il doit aussi être alloué
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void afficherJoueur(Joueur j);
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void creationEquipe(Equipe* e, int nbJoueurs);
Il faut allouer :
- Les chaînes de caractères pour le nom de l'équipe - L'équipe. C'est une equipe* donc elle doit aussi être allouée
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void ajouterJoueur(Equipe* e,Joueur j);
Il faut : - vérifier si c’est la première fois qu’on ajoute un joueur à l’équipe - réallouer de l’espace pour le tableau de joueur dans l’équipe (realloc) car on rajoute un joueur.
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void afficherEquipe(Equipe e);
PROCEDURE afficherEquipe(e : equipe)
VARIABLES
DEBUT"NOM : ", e.nom)
ECRIRE("PAYS : ",e.pays)
ECRIRE("CHAMPIONNAT : ",e.championnat)
ECRIRE("CLASSEMENT",e.classement)
ECRIRE("NOMBRE DE JOUEURS",e.nbJoueurs)
ECRIRE(
0 à nbJoueurs FAIRE
POUR i allant de
afficherJoueur(e.mesJoueurs[i])
FIN POUR FIN
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
Joueur meilleurButeur(Equipe e);
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
int compareEquipe(Equipe e1,Equipe e2);
Pour pouvoir réaliser le même scénario que dans la vidéo, vous pouvez utiliser ce mesJoueurs.txt
Nous considérons les données suivantes :
attention n’oubliez pas d’utiliser la compilation séparées