Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Ce SDK ne comprend vraiment rien de rien :lol:
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Ce SDK ne comprend vraiment rien de rien :lol:

Posté le 03/08/2018 10:34

Bonjour.
Bon le titre est explicite j'ai beau essayer et re-essayer d'afficher un chiffre à l'écran (oui oui, juste un) et bien je n'y arrive pas... j'ai essayé celles du tuto de Zezombye mais je n'y suis pas arrivé...
J'ai essayé plusieurs fonctions au pifomètre le plus total... sans résultats...

int a=30; //ici tous va bien
locate(1,1); //là aussi...
Print("%d",a); //BOUM le programme m'envoie chier !

merci d'avance


Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 03/08/2018 10:38 | #


De tête je n'ai pas mon code sous les yeux :
Tu ne peux pas utiliser Print avec ces arguments.
Utilise scanf pour convertir ton nombre et chaîne de caractères puis affiche avec Print

Ajouté le 03/08/2018 à 10:39 :
PS : TU ne comprends rien de rien. Le SDK ne fait que ce que tu lui demandes :P
Lephenixnoir Hors ligne Administrateur Points: 24567 Défis: 170 Message

Citer : Posté le 03/08/2018 10:42 | #


Qui te dit que Print() connaît %d ?

Print() ne sait qu'afficher des chaînes de caractères, et non formater le texte. Tu dois générer en premier lieu la chaîne formatée avec sprintf() (et non scanf() comme le propose Ninestars) puis l'afficher avec Print().

Et oui, en l'occurrence, c'est ta faute et pas celle du SDK... '-'
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 03/08/2018 10:43 | #


Oui je suis un peu carrément paumé
je me doute que c'est ma faute... j'essaye justement de la réparer

générée une chaîne formatée? je suis pas sûr de bien tout suivre...

Ajouté le 03/08/2018 à 10:48 :
mon code va ressembler à

char str[50];
sprintf (str="x=%d",a);
locate(1,1);
Print(str);

C'est ça ?
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Lephenixnoir Hors ligne Administrateur Points: 24567 Défis: 170 Message

Citer : Posté le 03/08/2018 10:51 | #


sprintf(str, "x=%d", a);

Oui, c'est précisément ça. Bien joué
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 03/08/2018 10:52 | #


ok merci

Ajouté le 03/08/2018 à 11:29 :
Escusez-moi c'est encore moi...
Je vous met mon code ci-dessous
J'ai inclus la bibliothèque "stdlib.h" comme demandé dans le tuto de Zezombye. Mon code compile mais une fois émulé j'obtient un message d'erreur : il demande d'appuyer su [EXE] ou sur [exit]... Je ne comprend pas trop pourquoi ça ne fonctionne pas... merci d'avance


int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    int a=20;
    char str[50];
    sprintf(str,"x=%d",a);
    locate(1,1);
    Print(str);
    
    
    while(1){
        GetKey(&key);
    }

    return 1;
}

"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 03/08/2018 11:35 | #


Ah, t'as du chopper une systerr (SYSTem ERRor). Pour utiliser sprintf, il me semble que le bon header c'est stdio.h et non stdlib.h
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 03/08/2018 12:10 | #


C'est exactement cela ! merci
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 03/08/2018 13:14 | #


Corrigé
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 24 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd