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 :

Problème de variable


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut Problème de variable
    Je suis nouveu ici donc :
    Bonjour tout le monde.

    Je suis débutant en c/c++.
    J'ai le problème suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int a=2;
    int b=6;
    int inconnu;
     
    int fonction=a+b+inconnu;
     
    inconnu=2;
    J'aimera que la variable fonction valent 10 à la fin du programme.
    Et cela sans modifier l'ordre des instructions ni faire une mise en évidence.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Salut et bienvenue sur les forums developpez

    Citation Envoyé par dword2add
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int a=2;
    int b=6;
    int inconnu;
     
    int fonction=a+b+inconnu;
     
    inconnu=2;
    J'aimera que la variable fonction valent 10 à la fin du programme.
    Et cela sans modifier l'ordre des instructions ni faire une mise en évidence.
    Là aucune chance, déjà si tu calcul avec inconnu non initialisée ca va pas le faire, faut au moins l'initialiser à zéro.
    Ensuite, tu fait un calcul puis après tu rempli ta variable inconnu, si tu veux que le résultat soit ajouté à fonction il faut refaire le calcul, pas le choix !

    Je ne vois d'ailleurs pas en quoi changer l'ordre des appels est important ... ici tu n'as gère le choix !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre émérite Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Par défaut
    Tu veux faire ça pourquoi pour un jeu?
    Tu peux faire une boucle pour incrémenter la valeur inconnu. Mais là la fin de ton programme fonction ne vaut pas 10

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par dword2add
    Je suis débutant en c/c++.
    Ce langage n'existe pas. On va supposer que du fais du C.

    'aimera que la variable fonction valent 10 à la fin du programme.
    Et cela sans modifier l'ordre des instructions ni faire une mise en évidence.
    Drole d'idee d'appeler une variable 'fonction'. Et c'est quoi une mise en evidence?

  5. #5
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Citation Envoyé par dword2add
    Je suis nouveu ici donc :
    Bonjour tout le monde.

    Je suis débutant en c/c++.
    J'ai le problème suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int a=2;
    int b=6;
    int inconnu;
     
    int fonction=a+b+inconnu;
     
    inconnu=2;
    J'aimera que la variable fonction valent 10 à la fin du programme.
    Et cela sans modifier l'ordre des instructions ni faire une mise en évidence.
    La solution est de calculer ta variable fonction uniquement à la fin de ton programme, avant exploitation du résultat.

    A+

  6. #6
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 90
    Par défaut
    il n'est pas claire ton message, mais je ponse que inconnu doit etre defini avant de le passer a la variable fonction.

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut plus clair
    Ce n'est pas pour un jeu, c'est pour l'école...(moins drôle)

    En fait, ce programme doit construire une fonction mathématique (pas une fonction c) avec une variable inconnue.

    Puis il doit itérer cette fonction en mettant différentes valeurs à la variable inconnue.

    Sinon pour le c/c++ je voulais dire que comme je débute je fais plutot du c mais, à terme je voudrais faire du c++.

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par DaZumba
    c'est quoi une mise en evidence?
    Et je plussoie la question.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut
    Mise en évidence :

    a*b+a*c=a*(b+c)

    Cela permet de mettre la variable inconnu dans "a" et de la sortir de la fonction.

  10. #10
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pour moi, pas trente-six solutions, il faut faire une fonction ou une macro.

    Une fonction ne peut être définie dans une autre. Une macro le "peut", puisqu'elle est indépendante des fonctions...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #11
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    une fonction mathématique (pas une fonction c)
    Celà veut-il dire que tu ne dois pas utiliser de fonction C dans ton programme ?
    Il me semble pourtant que ce serait le plus simple...

  12. #12
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut
    Par fonction mathématique j'entend :
    y=(x+2)/(3*x)

  13. #13
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Citation Envoyé par dword2add
    Ce n'est pas pour un jeu, c'est pour l'école...(moins drôle)

    En fait, ce programme doit construire une fonction mathématique (pas une fonction c) avec une variable inconnue.

    Puis il doit itérer cette fonction en mettant différentes valeurs à la variable inconnue.

    Sinon pour le c/c++ je voulais dire que comme je débute je fais plutot du c mais, à terme je voudrais faire du c++.
    J'imagine peut-être que tu dois faire alors une sorte d'évaluateur d'expressions: ça te permettrait de créer une "expression" sous la forme d'une chaine par exemple "a + b + inconnu" et ensuite, à la fin de ton programme tu pourrais "évaluer" cette chaine, pour en obtenir le résultat final.

    Regarde du coté de sprintf, tu peux déclarer une chaine contenant les caractères spéciaux définissant tes variables inconnus, et ensuite les remplacer par leur valeur.

    A+

  14. #14
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Je ne suis pas sûr d'avoir tout compris, mais moi je ferais quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int ma_fonction(int a, int b, int inconnu)
    {
    	return (a+b+inconnu);
    }
     
    void main()
    {
    	int a=2;
    	int b=6;
     
    	int fonction = ma_fonction(a,b,2);
    }

  15. #15
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par zooro
    Je ne suis pas sûr d'avoir tout compris, mais moi je ferais quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void main()
    {
     
    }
    Autant donner aux gens de bonnes habitudes tout de suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int main(void)
    {
     
      return 0;
    }

  16. #16
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Oui, j'avais un doute sur le main. Généralement, c'est pas moi qui l'écrit, c'est mon éditeur !
    Mais tu fais bien de me reprendre !

  17. #17
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Autant donner aux gens de bonnes habitudes tout de suite:

    Code:
    int main(void)
    {

    return 0;
    }
    ou celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int main(int argc, char *argv[])
    Si je ne m'abuse, ca représente les deux facons normées de déclarer le main.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par zooro
    Oui, j'avais un doute sur le main. Généralement, c'est pas moi qui l'écrit, c'est mon éditeur !
    Mais tu fais bien de me reprendre !
    Alors mets à jour ton 'template', car il est faux...

  19. #19
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut merci
    merci, pas cette solution.

  20. #20
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Citation Envoyé par dword2add
    merci, pas cette solution.
    As-tu vu ce que j'ai dit ?
    Jète un oeil sur flex.

    A+

Discussions similaires

  1. [VB.NET] Probléme de variable
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2005, 11h51
  2. [Debutant(e)]problème de variable d'environnement
    Par tolsam dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/08/2004, 19h08
  3. Problème de variable
    Par vp dans le forum Windows
    Réponses: 2
    Dernier message: 14/05/2004, 16h27
  4. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 17h41
  5. [servlet]problème de variable jamais nulle
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/03/2004, 09h31

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