4 réponses
Utilisateur anonyme
9 déc. 2020 à 23:45
9 déc. 2020 à 23:45
Bonsoir
Les 2 grandes raisons pour qu'un programme s'arrête c'est
Dans les 2 cas, ça n'est manifestement pas ce que tu attends, pour essayer de t'aider, il qu'on puisse lire ton code sauf que notre boule de cristal est en panne... du coup, il faut que tu les postes.
Et pour poster un code, il faut d'abord lire attentivement et jusqu'au bout ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
j'aimerais bien si quelqu'un me propose une solution
Les 2 grandes raisons pour qu'un programme s'arrête c'est
- qu'il a fini ce qu'il avait à faire
- qu'il a planté
Dans les 2 cas, ça n'est manifestement pas ce que tu attends, pour essayer de t'aider, il qu'on puisse lire ton code sauf que notre boule de cristal est en panne... du coup, il faut que tu les postes.
Et pour poster un code, il faut d'abord lire attentivement et jusqu'au bout ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
#include<stdio.h> #include<math.h> main() {//Ce programme calcul la racine carrée d'un nombre réel float x,racx ; printf("Donnez le real pour caculer son racine") ; scanf("%f",x); printf("x=if\n",x); //traitement if(x<0) printf("x n'admet pas de racine"); else { racx=sqrt(x) ; printf("le racine carée du nombre %f est: %f\n",x,racx); } getch(); }
EDIT : Correction des balises de code
Utilisateur anonyme
19 déc. 2020 à 09:16
19 déc. 2020 à 09:16
Maintenant que c'est lisible, on peut commencer à regarder ton programme.
Pense à remercier Jordane de l'avoir fait à ta place
Le c n'est pas mon fort, il faudra sans doute attendre l'intervention d'un membre plus aguerri dans ce langage.
Cela dit quelques point d'améliorations
Pense à remercier Jordane de l'avoir fait à ta place
Le c n'est pas mon fort, il faudra sans doute attendre l'intervention d'un membre plus aguerri dans ce langage.
Cela dit quelques point d'améliorations
- le mot racine est féminin
- scanf prend en second paramètre un pointeur, actuellement x vaut toujours 0 quoique que tu saisisses.
- cette ligne
printf("x=if\n",x);
lève un warning, qui dit en gros que x ne sert à rien là - pour getch() tu devrais lire https://ans.wiki/q/a-quoi-sert-la-fonction-getch-en-langage-c/
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
19 déc. 2020 à 19:40
19 déc. 2020 à 19:40
Bonjour,
Il a en effet quelques erreurs. Celles que j'ai vues:
- ligne 3 : on doit déclarer
- ligne 6 : tu veux afficher un texte, celui-ci risque de ne pas s'afficher. Pour garantir l'émission du texte, il faut le terminer par le caractère
- ligne 7 : surement la cause de ton plantage et le compilateur a dû t'avertir. Les paramètres après le format doivent être les adresses des variables à remplir. Il manque donc un
- ligne 8 : Le format du printf nécessite le caractère
Ensuite tout va beaucoup mieux.
Il a en effet quelques erreurs. Celles que j'ai vues:
- ligne 3 : on doit déclarer
maincomme ne recevant rien et retournant un entier, qui s'écrit
int main(void), ta syntaxe a dû provoquer un avertissement du compilateur.
- ligne 6 : tu veux afficher un texte, celui-ci risque de ne pas s'afficher. Pour garantir l'émission du texte, il faut le terminer par le caractère
\nou bien tu peux ajouter entre les lignes 6 et 7
fflush(stdout);.
- ligne 7 : surement la cause de ton plantage et le compilateur a dû t'avertir. Les paramètres après le format doivent être les adresses des variables à remplir. Il manque donc un
&juste avant
x.
- ligne 8 : Le format du printf nécessite le caractère
%pour indiquer une variable à afficher. Surement une faute de frappe et de relecture, c'est
%fqu'il faut utiliser pas
if.
Ensuite tout va beaucoup mieux.
Hello, ha oui, j'avais oublié le int main, pourtant je l'avais vu....
Par contre, avec son code et sur ce site https://www.onlinegdb.com/online_c_compiler j'ai aussi un avertissement pour getch, résolu en lisant le wiki.
Par contre, avec son code et sur ce site https://www.onlinegdb.com/online_c_compiler j'ai aussi un avertissement pour getch, résolu en lisant le wiki.
Mes tentatives d'apprentissage remontent à très très (trop) loin, mais j'ai le souvenir que Windows m'affichait une erreur similaire si ma fonction main ne se terminait pas avec un
Edit : ça a déjà été dit plus haut, main doit retourner un entier. Ma mémoire va mieux que mes yeux...
return 0;. Si quelqu'un veut bien corriger ma mémoire...
Edit : ça a déjà été dit plus haut, main doit retourner un entier. Ma mémoire va mieux que mes yeux...