Page 1 sur 2

C

Posté : 24 juin 2008, 19:37
par teckno1
Ami programmeur Bonjour, je me suis récemment mis à apprendre le langage C, grâce au site du zéro.
Sauf que je n'arrive plus à compiler et exécuter le programme, alors que ce matin j'y arrivais :marteau: . Quelqu'un saurait-il comment éxécuter mon programme?! :desole:
Voilà un screen:

Image

PS: Ne vous moquez pas du programme, c'est vraiment le début :biggrin: .

Posté : 24 juin 2008, 19:47
par teckno1
Oubliez, j'ai trouver un autre soft : CodeBlocks :biggrin:

Posté : 24 juin 2008, 21:26
par Ineluki
Tsssss, noob va ! :biggrin: (je suis quelques chapitres plus loin ^^)

L'instal' de Code:blocks à l'époque m'avait obligé à faire une restauration système, tout avait merdé :(.
Jamais testé Dev, je suis sous Visual C++. Moi quand il me compile rien, c'est que le fichier sur lequel je bosse n'a pas été ajoutée au projet. (mais là c'était peut-être le cas, on voit pas vu que le '+' n'est pas ouvert). Ou encore fichier enregistré dans un dossier qui n'est pas celui du projet...

C'est bien qu'il est intéressant ce tuto. Je me suis remis y'a quelques jours, et ce matin je viens, après avoir bien galéré, de trouver la solution pour trier un tableau par ordre croissant... Tordu dans la logique, des fois...

Fin bref, si t'as b'soin d'aide, ou de conseils (ou moi qui en ai besoin :ouioui:), n'hésite pas. Et pis tiens nous au courant de ta progression. J'suppose qu'on est pas les seuls sur ce site à flirter avec les cours du SDZ!

Vivement qu'j'attaque le TP pendu, si je survis jusque là...

printf("Bonne chance! ;)");

Posté : 24 juin 2008, 21:52
par teckno1
Ineluki a écrit :
Fin bref, si t'as b'soin d'aide, ou de conseils (ou moi qui en ai besoin :ouioui:), n'hésite pas. Et pis tiens nous au courant de ta progression. J'suppose qu'on est pas les seuls sur ce site à flirter avec les cours du SDZ!

Vivement qu'j'attaque le TP pendu, si je survis jusque là...

printf("Bonne chance! ;)");
*/Merci c'est
COOL ;)/* :biggrin:

Posté : 24 juin 2008, 22:04
par thom986
Essaie d'inclure ces librairies en haut de ton programme:
#include <cstdlib>
#include <iostream>
using namespace std;


Je pense que cela devrait suffire, cela marche chez moi, n'hesiter pas a me demander, j'avais un niveau correct en C/C++.

en tout cas, reste sous dev C++, il est très bien comme logiciel. Je me sers que de celui la.

Posté : 25 juin 2008, 21:25
par Ineluki
Ton commentaire est mal ouvert, teckno1 :P /* commentaire */.
Juste par curiosité, thom, tu as suivi les cours d'une école, ou comme ça sur le net? Et sinon, si t'es motivé pour aider, si j'ai un gros doute dans la tête, je pourrais te demander un conseil? :blush:

Posté : 25 juin 2008, 23:17
par miap
ks se c ? bizar , c'est un autre langage non ?

moi je connais binaire et hexadécimale :sleepy:
rien a voir quoi :roll:

Posté : 26 juin 2008, 00:46
par Ineluki
Ouais, c'est sûr, le binaire c'est du pipi de chat... :oops:




Ou pas.

Posté : 26 juin 2008, 10:43
par thom986
Je suis en étude de Licence de Maths, Les trois premiers semestres cella s'appelle Maths Info, et ça port bien son nom, j'ai fais pas mal de C/C++, et un peu d'architecture Matériel (mais là, j'étais nul).
J'ai pas un niveau exceptionnel, mais je pense pouvoir aidée quelqu'un qui "débute".
En tout cas, n'hésiter pas a demander.

Posté : 26 juin 2008, 12:15
par golgot13
thom986 a écrit : Les trois premiers semestres cella s'appelle Maths Info,
C'est ce qu'il y a de bien avec les études de maths, y'a 3 semestres /an ... :biggrin:

Posté : 26 juin 2008, 15:28
par teckno1
Re bonjour ami programmeur :biggrin: , quelqu'un pourrait-il m'aider, je n'arrive pas à faire marcher la librairie mathémathiques dans CodeBlocks, rien ne passe, j'arrive même pas à appliquer une pauvre valeur absolue ou une racine carrée :crazy: .

Voilà mon programme:

Code : Tout sélectionner

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{   double resultat = 0, nombre = 0;
    printf("Choisis un nombre entier positif\n\n");
    scanf("%ld", &nombre);
    resultat = sqrt(nombre);
    printf("la  racine carree de %ld est %ld\n\n", nombre, resultat);

    system("PAUSE");
    return 0;
}
Apparemment il faudrait le compiler avec l'option -lm, comment on fait ça ?! :hein:

Merci :biggrin:

Posté : 26 juin 2008, 15:53
par eraziel
thom986 a écrit :Je suis en étude de Licence de Maths
Copain :cool:

Posté : 26 juin 2008, 15:54
par Essa
Pas copains :)

Posté : 26 juin 2008, 16:13
par thom986
-Dans le langage C/C++, il est souvent plus simple de faire des fonctions a côté, et de se réserver le Main juste pour l'affichage.

-Ensuite, et ça va t'arriver souvent, les scanf, et printf sont assez têtu. La par exemple tu lui demandes de te sortir un int (entier) alors que le nombre est un float (décimaux).

Pour ma part, j'aurai plutôt fait comme ça:

Code : Tout sélectionner

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>

float Racine(float nombre)
{
      float resultat=0;
      resultat=sqrt(nombre);
      return resultat;
}

void affiche(float &nombre)
{     printf("Choisis un nombre entier positif\n\n");
      scanf("%f", &nombre);
}


int main()
{   float resultat = 0, nombre = 0;
    affiche(nombre);
    
    resultat=Racine(nombre);
    
    printf("%f\n", nombre);
    printf("%f", resultat);
 
    system("PAUSE");
    return 0;
}
J'ai créer un fonction "Racine", qui me calcul la racine d'un nombre, et je l'appelle dans le main.
Pour le coup, c'est peut être pas intéressant, mais quand tu aura des programme un peu plus long ça vaut le coup.

Posté : 26 juin 2008, 16:22
par Ineluki
Pas copains du tout, du tout du tout. 3.00 de moyenne en math. Pas un centième de plus.

J'avais jamais testé les fonctions sur les maths en fait...
Et là, je dois avouer que je suis assez embrouillé, comme toi, mais le code ci dessous marche. J'arrive pas à comprendre clairement pourquoi ça foire, mais ça a un rapport avec les types de variables et les "%ld" ou "%f". Un nombre entier, on utilise long et %ld, et un nombre décimal on utilise double et %f.

Code : Tout sélectionner

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{   double resultat = 0;
	long nombre = 0;

    scanf("%ld", &nombre);

    printf("la  racine carree de %ld est %f\n\n", nombre, sqrt(nombre));

    system("PAUSE");
    return 0;
} 

Le soucis, c'est que dans l'exemple, ils utilisent bien deux variables double, et que moi j'utilise un long.

EDIT: supergrilled par thom986. Mais chez moi, j'ai 102 erreurs à la compilation, en enlevant iostream, j'en ai plus que 4.