Programmer une table de multiplication [C]

Robin3166 Messages postés 13 Statut Membre -  
luckydu43 Messages postés 4501 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis à mes débuts en programmation et je suis face à un exercice où il nous est demandé la chose suivante :

"Créer un programme qui demande d'entrer un entier entre 1 et 9 puis qui affiche sa table de multiplication".

Si l'on entre 5 le programme affichera donc :

1 X 5 = 5
2 X 5 = 10
...
9 X 5 = 45

En me basant sur mes connaissances je suis arrivé à ce code là, mais il est incomplet et je stagne, j'aurais donc aimé avoir votre avis. Je pense qu'il y a un trc à ajouter avec "for" ou "while" mais je bloque.

#include <stdio.h>

int main ( )  {
int nombre;

while ((nombre < 1) || (nombre > 9)) {
printf ("Entrez un nombre entre 1 et 9 à multiplier : ");
scanf ("%d", &nombre);
}

printf ("Voici la table de multiplication de %d", nombre);
nombre = 1;
while (nombre <= 10) {

}


3 réponses

  1. luckydu43 Messages postés 4501 Date d'inscription   Statut Membre Dernière intervention   1 178
     
    Bonjour !

    Je vais répondre... en Java :-D \o/

    Bah oui, chacun son code, à toi de comprendre mais tkt c'est documenté ;-)

    Info sur le do while en C

    
    // méthode main
    public static void main() {
        // déclaration de l'attribut nombre
        int nombre;
    
        // on met un do while parce que le test DOIT ÊTRE exécuté APRES la saisie de l'utilisateur
        // Aussi, parce que l'on ne sait pas combien de tentatives l'utilisateur va faire, le while (ou do-while) est justifié.
        // Dans tes boucles définies : privilégie le for. Y a qu'en Basic sur une Graph 100(+) que le for est moins
        // performant que le while (sur une Graph 35+/75/85/95 c'est déjà plus le cas)
        // Ah et puis ça permet de mieux comprendre la logique du code pour un autre 
        // qui le relit derrière ;-)
        do {
            // je te pique ta ligne de code en espérant qu'elle soit bonne
            scanf ("%d", &nombre);
            // Idem
            // Attention : la table de multiplication c'est de 1 à 10 ;-)
            while ((nombre < 1) || (nombre > 10)) 
        }
        //Idem
        printf ("Voici la table de multiplication de %d", nombre);
        // On est sur un intervalle de 1 à 10, donc vu qu'il est défini on utilise un for
        // vu que le test est <, c'est du strictement inférieur : le 11 est exclu
        // Note que le for est écrit en Java ;-)
        for (int vIncrement = 1 ; i < 11 ; i++) {
            // Je ne sais pas comment tu fais pour chainer les variables... essaie de creuser ;-)
            printf ("Voici la table de multiplication de %d = %d x %e = %f", nombre, vIncrement, nombre*vIncrement);
        }
    }
    


    Voilà voilà, j'espère que t'as de meilleures pistes ;-)

    EDIT : J'ai corrigé des coquilles.
    La vie quotidienne peut vite vous rendre accro et vous faire perdre aux jeux-vidéos ! 
    Un peuple sacrifiant sa liberté pour plus de sécurité perd les deux.
    1