Petit exercice

Fermé
ninrin Messages postés 9 Date d'inscription jeudi 3 mai 2018 Statut Membre Dernière intervention 16 mai 2018 - 15 mai 2018 à 02:37
ninrin Messages postés 9 Date d'inscription jeudi 3 mai 2018 Statut Membre Dernière intervention 16 mai 2018 - 16 mai 2018 à 20:15
Bonjour,
Je suis bloqué sur un exercice (c'est mon 1er codage en C++ ^^), totalement débutant. J'aurais besoin d'aide pour traduire un algorithme.
Écrivez en langage C++ la fonction void LectureParamètre() correspondant à cet algorithme.
Début :
action ← 0 ;
FAIRE (à l’∞)
Lire niveau eau
CAS SELON (action)
CAS (action = 0)
Lire T°
CAS (action = 2)
Lire teneur oxygène
CAS (action = 3)

Ayant plus l'habitude du language C, j'aurais écrit au début int action, niveau eau, T, teneur oxygène;
int action = 0;
ensuite je crée un boucle.
Mais pour language C++, me faudrais un sérieux coup de main, des indications de bases. Merci beaucoup !

2 réponses

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
15 mai 2018 à 03:17
Le C++ est très différent du C, mais pour cet exercice la seule chose qui différe est :
Le code C :
scanf( "%d" , &niveau_eau );

devient en C++ :
std::cin >> niveau_eau;

Et l'include à utiliser n'est pas
<stdio.h>
mais
<iostream>
.
0
ninrin Messages postés 9 Date d'inscription jeudi 3 mai 2018 Statut Membre Dernière intervention 16 mai 2018
16 mai 2018 à 20:15
ok alors voici l'alogrithme complet :
action ← 0 ;
FAIRE (à l’∞)
Lire niveau eau
CAS SELON (action)
CAS (action = 0)
Lire T°
CAS (action = 2)
Lire teneur oxygène
CAS (action = 3)
Lire T°
CAS (action = 4)
Lire turbidité
CAS (action = 6)
Lire teneur oxygène
CAS (action = 7)
Lire T°
CAS (action = 8)
Lire turbidité
action ← 0
FIN CAS
Attendre 5 mn
action ← action + 1
FIN FAIRE
Fin

et ma traduction en C++ :

#include <iostream>

using namespace std;

int main()
{
    int action = 0;
    do
    {
       std::cin >> niveau_eau;
    
     switch(action)
{
  case (action = 0):
      std::cin >> T;
      break;
  case (action = 2):
std::cin >> teneur_oxygene;
break;
case (action = 3):
    std::cin >> T;
break
case (action = 4):
    std::cin >> turtibite;
break
case (action = 6):
    std::cin >> teneur_oxygene;
break
case (action = 8):
    std::cin >> turbidite;
    action = 0;
}
action = cin >> action + 1;
}

    
    return 0;
}


Bon en vrai je suis très nul en language C aussi, mais normalement, comme pour "action", il faut déclarer avant, les variables teneur_oxygène, turbidité, niveau_eau? Pourtant il me le demande pas dans l'algorithme, il y a t'il une raison que j'ignore?

Ensuite je ne saisis pas bien le "attendre 5min" de l'algorithme? comment procéderiez-vous dans ce cas?

Et si vous avez remarqué des petites erreurs, n'hésitez pas ^^.
0