Langage C : apprendre à  marcher...

overmacovermac Membre
20:49 modifié dans API AppKit #1
Bonjour à  tous,
Avant de pouvoir programmer en Objective-C/Cocoa, il faut bien que je vois le langage C. J'ai donc acheté le livre de de Claude Delannoy : "Programmer en lanage C : Cours et exercices corrigés". Mais à  la page 10, on me demande de recopier ce programme :
<br />#include &lt;stdio.h&gt;<br /><br />main ()<br />{<br />&nbsp; &nbsp; char op;<br />&nbsp; &nbsp; int n1, n2;<br />	<br />&nbsp; &nbsp; printf (&quot;operation souhaitee (+ ou *) ?&quot;);<br />&nbsp; &nbsp; scanf (&quot;%c&quot;, &amp;op);<br />	<br />&nbsp; &nbsp; printf (&quot;Donnez 2 nombres entiers : &quot;);<br />&nbsp; &nbsp; scnaf (&quot;%d %d&quot;, &amp;n1, &amp;n2);<br />	<br />&nbsp; &nbsp; if (op == &#39;+&#39;)<br />	printf (&quot;Leur somme est : %d&quot;, n1+n2);<br />&nbsp; &nbsp; else<br />	printf (&quot;Leur produit est : %d&quot;, n1*n2);<br />}<br />


A noter que pour écrire ce programme, j'ai sélectionner lors de sa création : New Project - Command Line Utility - Standard Tool.

Mais lorsque je compiles puis éxécutes ce programme, la fenêtre Run Log ne m'affiche que [Session started at 2004-12-17 09:44:45 +0100.]

Que dois-je faire ?

D'avance merci...

PS : J'utilises Xcode 1.5

Réponses

  • BruBru Membre
    20:49 modifié #2
    Démarre ton programme à  partir du terminal. La fonction scanf nécessite d'utiliser une entrée clavier (via stdin), or XCode, c'est pas trop son truc.

    .
  • VeillardVeillard Membre
    20:49 modifié #3
    J'ai essayé et ça marche mis à  part une faute de frappe (scnaf)  :o

    Dans XCode, tu fais "New Project > Command Line Utility > Standard Tool"

    tu recopies le code ci-dessous dans le main.c :
    #include &lt;stdio.h&gt;<br /><br />int main (int argc, const char * argv[])<br />{<br />&nbsp; &nbsp; char op;<br />&nbsp; &nbsp; int n1, n2;<br /><br />&nbsp; &nbsp; printf (&quot;operation souhaitee (+ ou *) ?&quot;);<br />&nbsp; &nbsp; scanf (&quot;%c&quot;, &amp;op);<br /><br />&nbsp; &nbsp; printf (&quot;Donnez 2 nombres entiers : &quot;);<br />&nbsp; &nbsp; scanf (&quot;%d %d&quot;, &amp;n1, &amp;n2);<br /><br />&nbsp; &nbsp; if (op == &#39;+&#39;)<br />		printf (&quot;Leur somme est : %d&quot;, n1+n2);<br />&nbsp; &nbsp; else<br />		printf (&quot;Leur produit est : %d&quot;, n1*n2);<br />}<br />
    


    tu compiles et ça marche !  :adios!:
  • overmacovermac Membre
    20:49 modifié #4
    dans 1103274887:

    Démarre ton programme à  partir du terminal. La fonction scanf nécessite d'utiliser une entrée clavier (via stdin), or XCode, c'est pas trop son truc.


    Et comment fait-on pour démarrer le programme à  partir du Terminal ? Désolé mais quand on est novice...

    dans 1103275260:

    J'ai essayé et ça marche mis à  part une faute de frappe (scnaf)  :o

    Dans XCode, tu fais "New Project > Command Line Utility > Standard Tool"

    tu recopies le code ci-dessous dans le main.c :
    #include &lt;stdio.h&gt;<br /><br />int main (int argc, const char * argv[])<br />{<br />&nbsp; &nbsp; char op;<br />&nbsp; &nbsp; int n1, n2;<br /><br />&nbsp; &nbsp; printf (&quot;operation souhaitee (+ ou *) ?&quot;);<br />&nbsp; &nbsp; scanf (&quot;%c&quot;, &amp;op);<br /><br />&nbsp; &nbsp; printf (&quot;Donnez 2 nombres entiers : &quot;);<br />&nbsp; &nbsp; scanf (&quot;%d %d&quot;, &amp;n1, &amp;n2);<br /><br />&nbsp; &nbsp; if (op == &#39;+&#39;)<br />		printf (&quot;Leur somme est : %d&quot;, n1+n2);<br />&nbsp; &nbsp; else<br />		printf (&quot;Leur produit est : %d&quot;, n1*n2);<br />}<br />
    


    tu compiles et ça marche !  :adios!:


    Bizarre, j'ai effacé et recommencer le programme (en fesant un copier-coller du tien) mais rien ne fiat, il ne se passe rien.

  • VeillardVeillard Membre
    20:49 modifié #5
    Essaie de recrééer un nouveau projet pour voir ?
  • overmacovermac Membre
    20:49 modifié #6
    Je me suis mal exprimer, j'ai recréer un nouveau projet et j'ai collé ton programme mais le résultat reste inchangé.
  • VeillardVeillard Membre
    20:49 modifié #7
    Je t'envoie le projet complet (24 Ko) essaie pour voir...

    [Fichier joint supprimé par l'administrateur]
  • overmacovermac Membre
    20:49 modifié #8
    dans 1103279066:

    Je t'envoie le projet complet (24 Ko) essaie pour voir...


    Bizarre, ton dossier fonctionne parfaitement alors que je pense avoir écrit la même chose que toi. Je ne comprends pas ce qu'il se passe...
  • VeillardVeillard Membre
    20:49 modifié #9
    Désolé pour le nom du projet mais j'étais en manque d'inspiration  :)beta:

    Bon, il te reste plus qu'à  continuer  :P
  • overmacovermac Membre
    20:49 modifié #10
    dans 1103282826:

    Désolé pour le nom du projet mais j'étais en manque d'inspiration  :)beta:

    Bon, il te reste plus qu'à  continuer  :P


    Oui, je vais essayer encore une fois de voir pourquoi je n'arrive pas à  lancer correctement mon programme et perceverer...

    PS : Comment fait-on pour joindre un fichier sur le forum ? Si je souhaites vous faire partager mes avancées....
  • 20:49 modifié #11
    dans 1103273213:

    Avant de pouvoir programmer en Objective-C/Cocoa, il faut bien que je vois le langage C.


    Faux ;). La connaissance du C n'est pas indispensable... Il y a certes quelques éléments syntaxiques qu'il faut connaà®tre, mais la connaissance du C pur et dur n'est réellement requises que dans le cas où tu veux faire du code purement C (à  des fins d'optimisation par exemple). Si tu regardes dans les messages d'hier tu verras même que la connaissance du C est un handicap pour certains ;)
  • ClicCoolClicCool Membre
    20:49 modifié #12
    dans 1103275949:

    dans 1103274887:

    Démarre ton programme à  partir du terminal. La fonction scanf nécessite d'utiliser une entrée clavier (via stdin), or XCode, c'est pas trop son truc.


    Et comment fait-on pour démarrer le programme à  partir du Terminal ? Désolé mais quand on est novice...


    Salut,

    Tu tapes ton code dans un bête fichier texte avec le nom que tu veux et l'extension .c
    Tu lances Terminal,
    tu tapes cc , avec 1 espace après
    Fais glisser ton fichier .c sur la fenêtre du terminal
    Si tu veux que le fichier compilé porte un autre nom que "a.out" il faut taper ensuite " -o monzoliprog.compi"
    Apuis sur enter et la compil se fait.

    Après t'as plus qu'à  lancer ton programme UNIX ainsi compilé.  :brule:
  • overmacovermac Membre
    20:49 modifié #13
    dans 1103284041:

    dans 1103273213:

    Avant de pouvoir programmer en Objective-C/Cocoa, il faut bien que je vois le langage C.


    Faux ;). La connaissance du C n'est pas indispensable... Il y a certes quelques éléments syntaxiques qu'il faut connaà®tre, mais la connaissance du C pur et dur n'est réellement requises que dans le cas où tu veux faire du code purement C (à  des fins d'optimisation par exemple). Si tu regardes dans les messages d'hier tu verras même que la connaissance du C est un handicap pour certains ;)


    Intéressant mais alors quel livre me conseilles-tu pour apprendre l'objective-C ?

    dans 1103285828:

    dans 1103275949:

    dans 1103274887:

    Démarre ton programme à  partir du terminal. La fonction scanf nécessite d'utiliser une entrée clavier (via stdin), or XCode, c'est pas trop son truc.


    Et comment fait-on pour démarrer le programme à  partir du Terminal ? Désolé mais quand on est novice...


    Salut,

    Tu tapes ton code dans un bête fichier texte avec le nom que tu veux et l'extension .c
    Tu lances Terminal,
    tu tapes cc , avec 1 espace après
    Fais glisser ton fichier .c sur la fenêtre du terminal
    Si tu veux que le fichier compilé porte un autre nom que "a.out" il faut taper ensuite " -o monzoliprog.compi"
    Apuis sur enter et la compil se fait.

    Après t'as plus qu'à  lancer ton programme UNIX ainsi compilé.  :brule:


    Merci pour les infos...
  • 20:49 modifié #14
    dans 1103293060:

    Intéressant mais alors quel livre me conseilles-tu pour apprendre l'objective-C ?


    Il faut lire le titre des rubriques du forum, il y en a une qui s'appelle "Débutants : par où commencer ?". Plus explicite, j'ai vraiment du mal à  imaginer...
  • Eddy58Eddy58 Membre
    20:49 modifié #15
    dans 1103293060:

    Intéressant mais alors quel livre me conseilles-tu pour apprendre l'objective-C ?

    Tu peux aussi faire des tutoriels Overmac (project omega en a de tres bons)... ;)
  • MaclearnerMaclearner Membre
    20:49 modifié #16
    Salut,

    Si tu as fait du copier coller c'est normal que cela ne fonctionne pas,
    il y à  des /303 ou un trucs comme ça qui viennent se sont des caractère invisible et xCode (et la programmation en générale) n'aiment pas ça...

    Retape ton code à  la main, on apprend plus vite comme sa aussi...
Connectez-vous ou Inscrivez-vous pour répondre.