CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Programme langage C...

AgentCastolo
AgentCastolo
Niveau 10
17 novembre 2019 à 16:28:48

Salut !
Je suis en L3 Génie Civil et j'ai des cours d'informatique....on arrive à la fin et je dois coder un programme qui fait un peu de résistance des matériaux.
Enfin bref c'est pas du tout mon domaine de prédilection le codage, je déteste ça au max. Mais pas le choix faut bien le faire.

J'ai une structure "force" qui contient différentes composantes et j'ai donc crée une fonction qui demande à l'utilisateur de renseigner ces composantes.
Comment puis-je faire pour ensuite, dans une autre fonction, réutiliser les valeurs rentrées par l'utiliser pour faire des calculs ?

Ma fonction de saisie :



int Saisir_forceponctuelle(forcePC* fpc)
{
    float a=0;
    printf("\nEntrer la valeur en KN de la composante horizontale de la force ponctuelle  : ");

    scanf("%f",&a);
 (*fpc).Pix=a;
    printf("Pix=%f kN\n",a);
    printf("\nEntrer la valeur en KN de la composante verticale de la force ponctuelle  :");
    scanf("%f",&a);
 (*fpc).Piy=a;
    printf("Piy=%f kN\n",a);

    do
    {
    printf("\nEntrer la valeur en m de l'abcisse de la charge par rapport a l'origine de la poutre (comprise en 0 et 10m) :\n");
    scanf("%f",&a);
 (*fpc).xPi=a;
    printf("\nxPi=%f m\n",a);

    if(a<0||a>10)
    {
        printf("\nERREUR ! L'abcisse de votre force n'est pas valide ! Reessayez.\n");
    }

    }while(a<0||a>10);
    return 0;
}

Les composantes que je souhaite utiliser sont Pix, Piy et xPi.
Et ensuite j'ai commencé ça dans ma fonction de calcul :



int cas1_pc(forcePC* fpc)
{

    int Ray;
    int Rby;
    int Rbx;


    forcePC fpc1, fpc2;

    Saisir_forceponctuelle(&fpc1);

    printf("\t\n\n...............CALCUL DES REACTIONS D'APPUIS...............\n");

   Rbx=(*fpc).Pix;
    printf("\n\tRbx=%f KN", Rbx);

    return 0;
}

Ce qui me pose problème, c'est à la fin. Je veux que Rbx soit égal à la valeur Pix rentrée par l'utilisateur.
Donc j'ai écris l'égalité puis le printf pour afficher la valeur, sauf que ça m'affiche 0 à chaque fois.

Je sais pas si je suis très clair mais est ce que quelqu'un peut m'aider ? ça m'a l'air vraiment con :hap:

atemutest
atemutest
Niveau 46
17 novembre 2019 à 19:44:35

Je ne sais pas trop si ton problème vient de là mais d'abord tu mets a en float alors qu'après Rbx est un int et tu essayes d'afficher un float avec "%f", ce n'est pas cohérent, il faudrait mettre Rbx en float.

DonDoritos3
DonDoritos3
Niveau 10
18 novembre 2019 à 11:26:41

C'est normal ton fpc n'est jamais rempli par ta fonction Saisir_forceponctuelle, tous les champs restent à 0.0f :hap:
Aussi pour rester cohérent avec ta structure (et éviter les possibles conversions implicites du compilateur) remplace tes int par des float (pour Ray, Rby et Rbx) comme le souligne le vdd :ok:

Sous forums
  • Métiers & Orientation
  • Histoire
  • Cours et Devoirs
  • Politique
  • Environnement & Nature
  • Philosophie
La vidéo du moment