Erreurs de compilation - C - Programmation
Marsh Posté le 06-10-2008 à 21:36:22
Citation : ~/tmp$ gcc -o sanstitre sanstitre.c |
A toi de jouer.
Marsh Posté le 06-10-2008 à 23:38:09
Topic déplacé dans la sous-catégorie : "C".
Et titre édité pour le rendre plus explicite.
Quant au problème lui-même, je pense que le message de Tholdan est suffisament explicite : tu as pas mal de problèmes dans ton code.
Marsh Posté le 07-10-2008 à 09:50:43
voila de quoi faire
void main(void)
{
long int A = 0, B = 0, C = 0,nombre1,nombre2,A_prime,B_prime;
printf("Quel est la hauteur : " );
scanf("%Id", &nombre1);
printf("Quel est la longeur de la ligne de jour : " );
scanf("%Id", &nombre2);
A = (long)((nombre1/17)+0.5);
if (A == 0)
{
printf ("\nHauteur trop petite !" );
A_prime = 0;
}
else
{
A_prime = nombre1/A;
}
B = (long)((nombre2/29)+0.5);
if (B == 0)
{
printf ("\nLigne de jour trop petite !" );
B_prime = 0;
}
else
{
B_prime = nombre2/B;
}
C = B_prime + A_prime;
printf ("\n%d + %d = %d", A_prime, B_prime, C);
return 0;
}
Marsh Posté le 07-10-2008 à 09:52:02
void main(void) + scanf = full of fail...
on est plus ne 1785 hein :E
main c'ets int main() et fgets est bcp plus safe que scanf.
Marsh Posté le 07-10-2008 à 10:08:28
DanyJ a écrit : voila de quoi faire <epic fail code> |
Marsh Posté le 08-10-2008 à 20:38:17
On s'en fou du "main", c'est le code qui compte puisque personne repondait !!! Vaut mieux un code has been avec la reponse que rien du tout avec un environnment high tech !!
J'ai également le code dans l'autre sens pour avec les solutions qui font 63 !
a+
Marsh Posté le 08-10-2008 à 21:17:47
enfait faudrai un réponse qui tourne autour de 63 (61à65). 63 étant la meilleure réponse.
et dans mon résumé d'en haut c'est plutot 2 A' + B' = C
et apres mettre comme dernière phrase :
Il faut x marche de A' par B'.
x = le multiple commun entre A' et B' pour avoir environ 63,
J'ai trouvé quelque chose. Je vous le met demain car c'est sur mon autre ordi.
---------------------------
Nouvelle donée
---------------------------
Entrée un nombre(1) = x
Entrée un nombre(2) = y
Z= (x + y) / 63
arrondire z pour avoir un nombre entier naturel (si plus petit que 1 = faux)
X / Z = A
Y/ Z = B
2A + B = C
Si c est :
< 61 et >65 = mauvais
de 61 à 61.4999... et de 64.511.... à 65 = acceptable
de 61.5 à 62.4999.... et de 62.2111... à 64.5 = bon
de 62.5 à 62 = excellent
------------------------------------
2A'+B' = C
Si C est égale à 63 Tip Top
Marsh Posté le 08-10-2008 à 21:19:36
DanyJ a écrit : On s'en fou du "main", |
Ben pas quand c'est manifestement faux:
DanyJ a écrit : voila de quoi faire |
A+,
Marsh Posté le 08-10-2008 à 21:45:11
DanyJ a écrit : On s'en fou du "main", c'est le code qui compte puisque personne repondait !!! Vaut mieux un code has been avec la reponse que rien du tout avec un environnment high tech !! a+ |
Ton code est faux. Si tu te complais dans le médiocre, c'est ton problème, mais on ne peut décemment pas te laisser conseiller qui que ce soit vu la qualité de ton code.
Au fait, il est interdit de donner du code tout fait, la catégorie s'appelle Programmation, pas Résolution d'Exercices.
Marsh Posté le 08-10-2008 à 22:15:26
Pour Pierre614, jettes un oeil a la fonction rint de math.h.
A+,
Marsh Posté le 06-10-2008 à 21:09:05
BOnjour,
J'aimerai créer un programme enfin des une première partie.
Voilà le résumé.
Entrée un nombre(1) = x
Entrée un nombre(2) = y
X/17 = A, si A est a 0.5 ou plus (4.5, 6.7..) l'arrondire au plus haut (5,7...) si il est moins que 0.5 le dessendre (4,6...)
y/29 = B, si B .....(pareil)
Maintenant il faut faire
X/A = A'
Y/B = B'
A'+B' = C
Si C est égale à 63 Tip Top
Voici ce que j'ai fait mais ATTENTION au erreur car j'ai vraiment beaucoup de peine.
Pouvez-vous m'aider ?
Si jamais je le programme encore en fenêtre ms-dos
Message édité par Elmoricq le 06-10-2008 à 23:37:30