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 :

Petite erreur de programmation


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Petite erreur de programmation
    Bonjour

    Je réalise un projet. Ce programme n'est qu'une partie du code en C++.
    Jaimerai récuperer les valeur entrées par l'utilisateur au clavier. Et les utiliser dans d'autres fonctions. Mais j'ai des erreurs dans mon code, quelqu'un pourrait m'aider ? Merci d'avance.

    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
    //Fonction qui permet de déterminer tous les paramètres nécessaires pour le fonctionnement
     
    void choix_parametres(int nb_sondes,int longueur_sondes,float frequence,int nb_pas,int duree_fctm,int temps_arret) 
    {
     
    	printf("\n\nIndiquer le nombre de sondes a utiliser: ");
    	scanf("%d",&nb_sondes);
    	printf("Indiquer le type de sonde utilise 30 ou 50: ");
    	scanf("%d",&longueur_sondes);
    	printf("Choisir la vitesse de rotation du moteur: ");  			
    	scanf("%f",&frequence);
    	printf("Choisir le nombre de pas a effectuer: ");
    	scanf("%d",&nb_pas);
    	printf("Choisir le temps de fonctionnement entre chaque pas(en ms): ");   
    	scanf("%d",&duree_fctm);
    	printf("Choisir le temps d'arret entre chaque echantionnage(en ms): "); 
    	scanf("%d",&temps_arret);
     
    }
     
    /*********Programme Principal*********/
     
    void main()
    {
     
    	int nb_sondes;
    	int longueur_sondes;
    	float frequence;
    	int nb_pas;
    	int duree_fctm;
    	int temps_arret;
    	int i;		
     
    /********lecture des paramètres**********/
     
    choix_parametres(nb_sondes, longueur_sondes, frequence, nb_pas, duree_fctm, temps_arret);
     
     
    //autres fonctions qui récupéres les valeurs entrées...
    }

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par alex06100 Voir le message
    Je réalise un projet. Ce programme n'est qu'une partie du code en C++.
    Et tu postes sur le forum C ? Je déplace ?
    Jaimerai récuperer les valeur entrées par l'utilisateur au clavier. Et les utiliser dans d'autres fonctions. Mais j'ai des erreurs dans mon code, quelqu'un pourrait m'aider ? Merci d'avance.
    en admettant que c'est du C, tu peux déjà corriger ça :
    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
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c: In function `choix_parametres':
    main.c:6: warning: implicit declaration of function `printf'
    main.c:7: warning: implicit declaration of function `scanf'
    main.c: At top level:
    main.c:24: warning: function declaration isn't a prototype
    main.c:24: warning: return type of 'main' is not `int'
    main.c: In function `main':
    main.c:32: warning: unused variable `i'
    main.c:26: warning: 'nb_sondes' might be used uninitialized in this function
    main.c:27: warning: 'longueur_sondes' might be used uninitialized in this function
    main.c:28: warning: 'frequence' might be used uninitialized in this function
    main.c:29: warning: 'nb_pas' might be used uninitialized in this function
    main.c:30: warning: 'duree_fctm' might be used uninitialized in this function
    main.c:31: warning: 'temps_arret' might be used uninitialized in this function
    Linking console executable: console.exe
    Process terminated with status 0 (0 minutes, 4 seconds)
    0 errors, 11 warnings
    Ensuite, erreur de conception classique :

    http://emmanuel-delahaye.developpez....difie_variable

    Je conseille d'utiliser une structure pour regrouper les données.
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void main()  // main renvoie toujours un int  : int main(void)
    {
     
    	int nb_sondes;
    	int longueur_sondes;
    ....		
     
    /********lecture des paramètres**********/
    choix_parametres(nb_sondes, longueur_sondes, frequence, nb_pas, duree_fctm, temps_arret);
    En aucun cas, l'appel de la fonction choix_parametres ne peut modifier les variables nb_sondes, longueur_sondes,...
    Les arguments d'une fonction sont toujours et sans exceptions passés par valeur : La fonction reçoit une copie de la valeur de l'argument. Si on veut modifier au moyen d'un paramètre une variable, il faut passer son adresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    choix_parametres(&nb_sondes, &longueur_sondes,....
    et modifier la fonction en conséquence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void choix_parametres(int * nb_sondes,int * longueur_sondes,..........)
    {	 
    	printf("\n\nIndiquer le nombre de sondes a utiliser: ");
    	scanf("%d",nb_sondes);
    	printf("Indiquer le type de sonde utilise 30 ou 50: ");
    	scanf("%d",longueur_sondes);
    ..........
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. Nombres parfaits : petite erreur dans l'algorithme
    Par katrena99 dans le forum Pascal
    Réponses: 6
    Dernier message: 27/01/2014, 22h36
  2. Programmes Petites erreurs
    Par crunchy07 dans le forum C
    Réponses: 2
    Dernier message: 05/01/2013, 19h28
  3. Petite erreur php
    Par 27 dans le forum Langage
    Réponses: 2
    Dernier message: 18/08/2006, 10h49
  4. Petite erreur sur formulaire
    Par shub dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 11h55
  5. petite erreur ENGINE=InnoDB
    Par speedylol dans le forum Installation
    Réponses: 1
    Dernier message: 24/03/2006, 17h22

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