|
|
|
|
|
salut,
Le problème repose sur le principe du changement de base et de la division euclidienne sur les entiers naturels. Ainsi tu décomposes ton calcul secondes = reste de la division entière du nombre total de secondes par 60 minutes brutes = quotien de la division précédente minutes = reste de la division entière des minutes brutes par 60 heures brutes = quotien de la division précédente Et tu réitères pour les jours en utilisant 24 comme diviseur. L'arithmétique des entiers en C: q = a / b ; donne le quotien entier de la division euclidienne a par b r = a % b ; donner le reste de la division euclidienne a par b Pour que cela fonctionne bien : a, b, q et r doivent être déclaré comme entier (char, short, int, long, long long, et toutes les combinaisons unsigned) A+, bon courage, crabs ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware
|
Salut defati1983
pour ton petit programme, je pense que tu peux raisonnablement te fixer 4 variables entieres j, h, m et s que tu initialises à 0. Tu as normalement stocké dans 'entrée' le nombre de secondes total. Ce qui est logique, c'est de voir en premier combien de jours tu peux mettre dans ce nombre de secondes 'entrée'. Calcule le nombre de secondes dans une journée, ça sera une constante entiere S_j = 86400 (dans la logique de mes noms de variable, tu auras aussi S_h = 3600, S_m = 60 et S_s = 1). Donc en langage algorithmique: soit temp = entree; j = (int) (temp/S_j); /*(le (int) fait la partie entiere du resultat, cela dit, je crois que si j est entier, t'as meme pas besoin de mettre le (int), le compilateur faisant automatiquement la conversion)*/ temp = temp - j*S_j; A ce moment là, tu as dans j le nombre de jours, et dans temp le nombre de secondes qui ne "tiennent" pas dans une journée. Je te laisse trouver la suite, qui est fort similaire. Bon courage, en esperant t'avoir aidée. Bye. *** edit : comme l'a bien dit une autre personne dans le poste, l'utilisation de l'opérateur % c'est la classe aussi, ça fait un modulo que je t'ai fait à la main plus haut. *** Qui ne doute pas acquiert peu. Mais est-ce que "qui n'acquiert rien finit par douter"? J'ai un doute... |
merci pour votre aide et je vais essayer une autre fois...a vous de me souhaiter bonnechance.....merci encore |
|
#include <stdio.h>
main() { int x, j, h, m, s; printf("introduisez un nombre entier:"); scanf("%i",&x); s== x%60; m== x/60; h==x/3600; j==x/86400; if (x<60) printf("0 j,0 h,0 m et x s:%i\n",x); else if(x>=60 && x<3600 ) printf("0 j,0 h,x m et x s:%i\n",x); getchar(); if (x>=3600 && x<86400 ) printf("0 j,x h,x m et x s:%i\n",x); getchar(); if (x>=86400) printf("x j,x h,x m et x s:%i\n",x); printf("%i j,%i h,%i m,%i s\n",j, h, m, s); getch(); } voila ce ke jai fait mais ca me donne des valeur negaatives pour les s et des valeurs grandes pour les autres...... |
Salut,
L'opérateur d'affectation en C, c'est '='. L'opérateur '==' permet de vérifier l'égalité entre les 2 opérandes. Dans tes affectations, remplaces '==' par '='. s= x%60; m= x/60; h=x/3600; j=x/86400; A+, crabs ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware |
bonjour defati
je viens de faire ton exercice en modifiant un peu ton programme: #include <stdio.h> #include <stdlib.h> main( ) { int x, j, h, m, s, r, t,u; printf("introduisez un nombre entier:"); scanf("%i",&x); s= x%60; m= x/60; h=x/3600; r=x%3600; j=x/86400; t=x%86400; if (x<60) {s=x; printf("0 j,0 h,0 m et %d s\n",s);} else if(x>=60 && x<3600 ) {printf(" 0 j, 0 h, %d m, %d s\n",m,s);} else if (x>=3600 && x<86400 ) {m=r/60; printf(" 0 j, %d h, %d m, %d s\n",h,m,s);} else if (x>=86400) {h=t/3600; u=t%3600; m=u/60; printf("%d j,%d h,%d m,%d s\n",j, h, m, s);} system("pause"); } bon courage pour la suite |
merci pour laide.....je me demandais si il nexistait pas une autre façon moins compliker et moins longue sans meme utiliser if..else...merci encore
|
bjr les ingenieurs ;
. Calculez la factiorielle N!= 1.2.3... (N-1).N d'un entier naturel N en respectant que 0!=1. a) Utilisez while , b) Utilisez for . je trouve une difficulté a faire ce prgrame pouviez vs m'ader merciiii a vs |
hé sousou tu as vu la date de leur descussion |
oui mais bon tu peux m'aidé :) tu me fera une tré grande faveure |
| 10/04 18h26 | Exercice assembleur x86 occurence d'un caractère | x86 |
| 26/02 16h55 | Sed - Introduction à SED - Part II | Sed |
| 14/09 10h42 | [Programmation] Critères de choix d'un langage/framework | Programmation |
| 07/03 16h12 | Visual FoxPro et SQL-Server | Visual FoxPro |
| 18/03 12h29 | Exercice assembleur x86 inversion de chaine | x86 |
| 03/07 11h21 | Exercices c# | 3 |
| 12/03 20h06 | Problème avec un exercice C | 5 |
| 28/12 20h48 | Exercices corrigés UML | 6 |
| 17/12 07h10 | Cours et exercices corrigés MERISE | 32 |
| 20/11 17h33 | Exercice c avec vecteur | 7 |
![]() | PrévisiOOo - PrévisiOOo est un logiciel pour faire des prévisionnels. Un budget prévisionnel bien conçu n’a rien d’un laborieux exercice... | Catégorie: Comptabilité/Paie Licence: Freeware/gratuit |
![]() | Mini Lehrer - L'allemand est certes une belle langue, mais elle est tout aussi compliquée. Mini Lehrer est un programme gratuit... | Catégorie: Environnement de travail Licence: Freeware/gratuit |
![]() | CCleaner - CCleaner (Crap Cleaner) est un utilitaire de nettoyage gratuit permettant de garantir un respect de la vie privée en... | Catégorie: Anonymat/Confidentialité Licence: Freeware/gratuit |
![]() | Free Mp3 Wma Converter - Free Mp3 Wma Converter permet de convertir tout vos fichiers Mp3 , Wma , Ogg , AAC , m4a , mp4 , Ape , flac, Wav : ... | Catégorie: Conversion Licence: Freeware/gratuit |
![]() | Sony CMT-CPZ2 | Catégorie: Chaîne Hi-Fi | 185.00 € Ubaldi |
![]() | Coby CX3CD-610 | Catégorie: Chaîne Hi-Fi | |
![]() | Philips SPD3400CC CD-RW/DVD+/-RW (+/-R | Catégorie: Graveur CD/DVD | 60.79 € Inmac Wstore |
![]() | Philips SPD3500CC CD-RW/DVD+/-RW (+/-R | Catégorie: Graveur CD/DVD | 67.99 € Compufirst |