CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide programme C

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 18:04:37

Bonjour,

Je dois resoudre un probleme grace au language C, j'aurais besoin de votre aide..

Voici le probleme en question :

Soit un entier strictement positif donné. Cet entier est le numéro d’un jour dans une année donnée. Par exemple, le
jour numéro 1 de l’année a est le 1/1/a, le jour numéro 32 de l’année a est le 1/2/a, etc.
On demande de concevoir un programme qui, à partir d’un numéro de jour donné dans une année donnée, affiche
la date associée. Le programme produit doit être lisible et concis.

Merci

Infestor
Infestor
Niveau 10
18 novembre 2010 à 18:10:17

:salut: je peux te faire ça ou du moins y réfléchir...

mais c'est pas sûr que je réponde ce soir!

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 18:11:09

Je sais bien qu'il faut utilise le fait qu'on prenne au cas par cas selon le mois et considerer les années bissextiles mais apart ca, pas grand chose :s

Ah mince, c'est pour demain :s

Infestor
Infestor
Niveau 10
18 novembre 2010 à 18:17:00

Dans ce cas, essayes le forum programmation si tu es pressé.

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 18:18:02

tu créer 2 variables, une Jour, une Mois.

Après tu fait
if (a < 31)
{
   Jour=a;
   Mois=1;
}
else if (a < 59)
{
   Jour=a-31;
   Mois=2;
}
ect...

C'est long, mais tu peut pas vraiment faire autrement à cause des mois à 31, 31 ou 28 jours, et encore en supposant que l'année n'est pas bissextile... enfin, sujet de merde quoi :noel:

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 18:20:41

En utilisant le "case 1" ?

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 18:23:54

ba non, case 1 c'est juste pour a = 1, donc faudrais faire 365 variables... :(

Infestor
Infestor
Niveau 10
18 novembre 2010 à 18:42:03

bah ce qui est sûr c'est qu'il doit classer le nombre du jour entre différentes valeurs pour le placer dans différents mois...

en plus, pour les années bissextiles là je vois pas comment faire car je les connais même pas moi-même! :rire:

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 18:47:04

Il y a une formule toute simple en fait, si je me souvient bien :
Il faut que l'année soit divisible par 4 et non divisible par 100, ou alors divisible par 4, 100, et 400. :-p

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 18:47:34
  1. include <stdio.h>
  2. include<conio.h>

int main()
{
int a, i, j;
int m[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("Entrer une année\n");
scanf("%d", &a);
if ((a % 100 !=0) && (a % 4 ==0) || (a % 100 == 0) && (a % 400 ==0))
m[1] = 29;
printf("Entrer un numero de jour\n");
scanf("%d", &j);
i = 0;
while (j > m[i])
{
j = j- m[i];
i++;
}
printf("%d//%d//%d", j, i + 1, a);
getch () ;
}

Merci de votre aide :)

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 18:51:05

Et tu apprend le C sur quel site?

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 20:14:39

Euh j'ai des cours d'info en ingenieur civil mais je suis une brele dans ce cours la

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 20:23:19

parce qu’il serai peut être temps d'écrire en C++ et d'oublier là :noel:

nan mais ça fait lourd les codes quoi :malade:

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 20:23:36

et d'oublier le C là :noel: *

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 20:25:35

Va savoir pourquoi on apprend le C et pas le C++..

T'aurais une solution à

  1. Voila mon 2eme probleme, apres avoir obtenu
  1. include <stdio.h>
  2. include<conio.h>

int main()
{
int a, i, j;
int m[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("Entrer une année\n");
scanf("%d", &a);
if ((a % 100 !=0) && (a % 4 ==0) || (a % 100 == 0) && (a % 400 ==0))
m[1] = 29;
printf("Entrer un numero de jour\n");
scanf("%d", &j);
i = 0;
while (j > m[i])
{
j = j- m[i];
i++;
}
printf("%d//%d//%d", j, i + 1, a);
getch () ;
}

On me demande :

Le programme écrit doit définir et utiliser deux fonctions dont les
spécifications sont données ci-dessous :
– La fonction anneeEstBiss prend en argument un nombre entier a et retourne un entier. La fonction retourne 0
si a représente une année qui n’est pas bissextile et une valeur différente de 0 sinon.
– La fonction joursMois prend en argument deux nombres entiers m et estBiss et retourne un entier. m représente
un numéro de mois compris entre 1 et 12 inclus. estBiss vaut 0 si l’année considérée n’est pas bissextile, une
autre valeur sinon. La fonction retourne le nombre de jours du mois donné en argument. Si le numéro donné
n’est pas un numéro de mois valide (m <= 0 ou m > 12), la fonction retourne -1.

Merci

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 20:33:27

pour la première :

int anneeEstBiss(int a)
{
   if ((a % 100 !=0) && (a % 4 ==0) || (a % 100 == 0) && (a % 400 ==0))
      return 0;
   else
      return -1;
}

en gros, si l'année est bissextile, la fonction retourne 0, sinon elle retourne quelque chose différent de 0.

pour la seconde (j'arrète l'indentation, c'est chiant de faire ALT+0160 à chaque fois...):

int joursMois (int m, int estBiss)
{
if (m < 1 || m > 12)
return -1
else
{
int m[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 20:36:00

merde, tab :noel:

d'ailleurs, le tableau ne doit plus d'appeller m, on va l'appeller tabMois
bon je continu :

int tabMois[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (estBiss ==0)
tabMois[1]=29;
return tabMois[m]
}
}

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 20:58:35

Ca marche sur otn compilateur?

Comment ecrire ca sur compilateur? texto?

Aleluhia
Aleluhia
Niveau 10
18 novembre 2010 à 21:43:31

Oui tu peut c/c normalement, tu aura juste l'indentation qui sera pas présente...
j'ai pas essayer, mais je sais que ça marche, t'en fait pas :noel:

Mattfer
Mattfer
Niveau 7
18 novembre 2010 à 21:49:46

Je met ca a la suite de ma premiere?

Par contre, tjs un probleme, lorsque je met par exemple le jour 380, il va au 13eme mois..

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment