IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Initialise les tableaux


Sujet :

C++

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Initialise les tableaux
    Bonjour j'ai un petit problème avec mon programme il ne reconnaît le getline et en plus on me dit que ma valeur a n'est pas une fonction. Je sais qu'on peut aussi utiliser un <vector> push_back mais je ne sais pas comment l'utiliser. S'ils vous plait aider moi.

    Proposer un programme qui:
    1.Initialise les tableaux (taille donnée par l’utilisateur) des noms des accessoires et des prix
    2.Demande à l’utilisateur les nom et prix HT de chaque accessoire ; le nom et le prix seront stockés dans les tableaux
    3.Affiche les noms et prixHT des accessoires à l’aide des deux tableaux (boucle for)
    4.Affiche la somme totale des achats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    int main()
    {
        int a;
        int i;
        a = 0;
        i = 0;
     
        std::cout << "Bonjour vous avez besoin de combient d'article: ";
        cin >> a;                                 // demande le nombre de colone des tableaux 
     
        double prix_HT[a];                            // définitions du tableau des prix 
        std::string added_accessory[a];                        // définitions du tableau des options
     
        std::cout << "donner l'article ajouter puis le prix qui vas avec(le prix de l'article ajouter)" << endl;
     
        for (i; i < a; i++)
        {
            cin.clear();   //permet de vider le buffer de cin
            cin.ignore(20000, '\n');
            cout << "added_accessory num " << i + 1 << " : ";
            std::cin.getline(cin, added_accessory[i]);                           // permet de prendre tout le string avec les espaces !
            std::cout << "prix_HT_num" << i + 1 << " : ";
            cin >> prix_HT[i];
     
        }
        double sum = 0;
        for (int i = 0; i < a; i++)                            // permet d'afficher les tableaux avec les options et les prix rentré par l'utilisateur  
        {
            sum = sum + prix_HT[i];
            std::cout << added_accessory[i];
            std::cout << " " << prix_HT[i] << " $ " << endl;
        }
     
        std::cout << "la somme des prix de vos added_accessory : " << sum << " $ ";
     
     
        //QUESTION 4:_____________________________________________________________________________________________________________________________________________________________________________________
        double prix_HT_Moy = sum / a;
        double prixHT_Min = prix_HT[0];
        int indice_Min = 0;
        double prixHT_Max = prix_HT[0];
        int indice_Max = 0;
     
        for (int i = 0; i < a; ++i)
        {
            if (prixHT_Min > prix_HT[i])
            {
                prixHT_Min = prix_HT[i];
                indice_Min = i;
            }
        }
     
        for (int i = 0; i < a; ++i)
        {
            if (prixHT_Max < prix_HT[i])
            {
                prixHT_Max = prix_HT[i];
                indice_Max = i;
            }
        }
        cout << "la somme des prix des added_accessory : " << sum << "$" << endl;
        cout << "le prix le plus petit est " << prixHT_Min << " pour les article ajoutes : " << added_accessory[indice_Min] << endl;
        cout << "le prix le plus grand est " << prixHT_Max << " pour les articles ajoutes : " << added_accessory[indice_Max] << endl;
        cout << "le prix moyen est : " << prix_HT_Moy << endl;
    }

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    - using namespace en global est à bannir
    - les VLA sont strictement interdits en C++
    - les tableaux en C++ sont std::vector ou std::array
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Tu poses des questions, tu fournis un énoncé et un programme.
    Le problème est que le programme ne correspond pas à l'énoncé (il fait des choses en plus), et ne correspond non plus à tes questions. Il te faut préciser pour que nous puissions te répondre.

    Le programme utilise des VLA qui sont interdites en C++. Pour utiliser les tableaux du C++, il suffit d'ajouter au début du code une ligne #include <vector> et de remplacer les lignes 16 et 17 par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        std::vector<double>  prix_HT(a);                // définition du tableau des prix 
        std::vector<std::string>  added_accessory(a);   // définition du tableau des options
    Le commentaire ligne 23 est faux, std::cin::clear() n'efface pas du tout le buffer.

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Stp peux-tu m’aider à corriger mon programme ?
    Stp peux-tu m’aider à corriger le programme. Merci bien

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/05/2004, 11h41
  2. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  3. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo