Aide sur progammation avec C:Urgent

Fermé
king20010 Messages postés 4 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 18 octobre 2009 - 18 oct. 2009 à 22:43
 Utilisateur anonyme - 19 oct. 2009 à 18:17
Bonjour,
Je suis un débutant au programmmation en C, alors je demande votre aide dans certains exercices.
Remarque: le C que j'utilise débute par #include<stdio.h>
Ex1:
Ecrire un programme C qui permet de saisir le sexe (m/f), la taille (cm) et le poids (kg) d'une personne et de :
Afficher le poids idéal PI d'une personne , sachant que :
PI(homme) = (taille-100)-((taille-150)/4)
PI(femme) = (taille-100)-((taille-150)/2)
Trouver l'indicateur d'obésité BMI(Body Mass Index)
BMI = poids/(taille)² avec taille en m
Indiquer si une personne est :
Normale si BMI<=27
Obèse si BMI>27
Malade si BMI>=32

Ex2
Ecrire un programme C qui à partir d'une date représentée sous la forme jj/mm/aa donne la date du lendemain.

Ex3:
Ecrire un programme C qui permet de lire por un jour donné de la semaine, ce qu'il ya a à faire sachant que:
Du lundi au vendredi, il y a cours
Le samedi, il y a un devoir à faire
Le dimanche, le congé hebdomadaire


Ex4:
Ecrire un programme C qui décide de l'admission d'un étudiant dans une école selon les critères suivants :
Il doit avoir un baccalauréat "maths" et une moyenne>=10
Ou un baccalauréat "sciences" et une moyenne>=11
Ou un baccalauréat "lettres" et une moyenne >=12




Et merci d'avance
A voir également:

8 réponses

Utilisateur anonyme
18 oct. 2009 à 23:11
L'exercice 4 c'est le même principe, reste à savoir si c'est l'utilisateur qui entre son bac et sa moyenne. Là tu dois par contre faire des if

if(moyenne<=10 && bac=="maths") cout<<"accepté"<<endl;
else if(moyenne<=11 && bac=="sciences") cout<<"accepté"<<endl;
.....
else cout<<"refusé"<<endl;

cout=afficher

Pour le deux c'est pareil sauf que pour le jour tu regardes si le mois est un mois à 30, 31, 28 ou 29 jours (il y a des calculs simple à faire) et donc si tu incrémente seulement le jour ou si tu le remets à 1. Là tu peux faire une booléenne qui t(indique si tu a changé de mois ou pas, qui passe à un si tu passe du 31 au premier par exemple.

pour le mois tu regardes ta booléenne précédente, si elle est à vrai tu incrémente. Tu crése une autre booléenne pour dire si tu as ou pas changé d'année.

et pour l'année tu incrémentes si la booléenne précédente est passée à vrai.

désolé je fais ça rapidement, si ce n'est pas très clair je réexpliquerai ce que tu ne comprends pas. C'est aussi une solution parmi plusieurs, c'est peut être pas la plus simple, c'est celle qui me vient à l'esprit tout de suite.
1
Utilisateur anonyme
18 oct. 2009 à 22:58
Je vais commencer par le plus simple, et en pseudo code :

l'exercice 3 :

tu dois récupérer le choix du jour comment?

si tu peux faire un menu c'est très simple, tu affiche :

1-lundi
2-mardi
....

tu récupères le choix dans une variable avec cin>>nom_de_variable

et après tu fais un switch :

switch(nom_de_variable){
case 1 : cout<<"vas en cours faignasse!"<<endl; break;
case 2 : cout<<"vas en cours faignasse!"<<endl; break;
....
....
default : cout<<"ceci ne correspond à aucun jour"<<endl;
}

sinon tu fais des if mais c'est plut couteux en ressouces:

if(nom_de_variable>0 && nom_de_variable<5) cout<<"vas en cours faignasse!"<<endl;
else if(nom_de_variable=5)cout<<"T'as révisé pour ton devoir?"<<endl;
....
...


Voilà. Je ne mets pas les codes en entiers pour te permettre de bosser un peu pour apprendre... Si tu a des questions sur ce que j'ai écrit en suposant que tu avais quelques bases triviales, n'hésite pas.
0
king20010 Messages postés 4 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 18 octobre 2009 4
18 oct. 2009 à 23:12
Je veux une solution complète pour que le programme fonctionne , je t'ai dit je suis un débutant.
0
Utilisateur anonyme
18 oct. 2009 à 23:21
Copier et coller des codes sur le net ne t'apprendra pas à manier le langage. Si tu veux je peux être plus précise, mais je croyais que c'était urgent je t'ai donc simplement expliqué les principes afin que tu puise travailler dessus... Si tu veux plus de précision je ferai ça demain à tête reposée, mais je te donnerai pas de code complet. Seulement du peudo code.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'ai commencé à lire le premier exercice... et je l'ai trouvé tendancieux !
Ecrire un programme C qui permet de saisir le sexe ...
Tous les phantasmes sont acceptés, mais inutile de les étaler en public !
Comme quoi, avant de s'exprimer, il n'est pas inutile de tourner quelques fois sa langue dans sa bouche ;-)
Bonne soirée.
0
king20010 Messages postés 4 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 18 octobre 2009 4
18 oct. 2009 à 23:29
Prends ton temps drackenshtein je suis patient et merci
0
feadin91 Messages postés 257 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 28 avril 2010 89
19 oct. 2009 à 10:59
King20010 : Je suppose que si l'on t'a demandé ses exercices, c'est que tu dois être en études d'informatique. Et si tu es en études d'informatique et qu'on t'a demandé ses exercices, c'est que tu es capable de les faire... A moins que tu n'assistes pas aux cours ;) (ce qui ne me regarde absolument pas)

Je suggère donc que tu reprenne les propositions de pseudo code qui ont été faites, et que tu reprenne les idées et que tu code toi même (car sinon, tu n'apprendra pas grand chose en recopiant bêtement)

Maintenant, tu peux peut-être nous dire ce que tu as appri en cours (où vous en êtes? If...Else? Case... Switch? Do... While? etc...) comme ça on pourra peut-être te mettre sur la voie ;)
0
Utilisateur anonyme
19 oct. 2009 à 18:17
Bon alors je te détail un peu plus le premier, tu t'en inspireras pour les autres, en plus des explications que je t'ai données tu devrais pouvoir te débrouiller... Je te l'écris en pseudo code car je programme en C++ et que ce ne sera pas tout à fait la même syntaxe pour du C.

Donc :

déclaration des variable :

sexe : char;
taille : float ou double;
poids : float ou double;
choix=1 : entier;
PI : float ou double;
BMI : float ou double;

récupération des variables :

afficher("veuillez entrer m si vous etes un homme, f si vous etes une femme")
lire(sexe)
afficher("veuillez entrer votre taille en centimetres")
lire(taille)
afficher("veuillez entrer votre poids en kg")
lire(poids)

menu :

tant que choix=1 ou choix =2
afficher("1-mon poids idéal PI
2-mon indice d'obésité BMI
0-quitter")
lire(choix)

traitement des informations : (toujours dans la boucle)

si choix=1
si sexe="m"
PI=(taille-100)-float(taille-150)/4;
sinon
PI=(taille-100)-float(taille-150)/2;
afficher(PI)
fin du si choix=1
si choix=2
BMI=poids/taille/taille;
afficher(BMI)
si BMI <= 27
afficher("vous êtes normal(e)")
si BMI>27 et BMI <32
afficher("vous êtes obèse")
si BMI>=32
afficher("vous êtes malade")
fin du si choix=2
fin du tant que
afficher("aurevoir")

fin du programme

Voilà j'espère que ça te conviendra, je vais corriger mon explication pour l'exercice 2, je viens de me rendre compte que c'est pas du tout clair...

edit :

tu crées une booléenne pour le jour et une pour le jour que tu initialise à faux.

Pour le jour tu regardes si le mois est un mois à 30, 31, 28 ou 29 jours (il y a des calculs simple à faire pour l'année bisextile, cherche sur interet).

Tu incrémentes le jour, à part si tu est le dernier jour du mois. Dans ce cas tu le mets à 1.

Si ton jour est à 1 c'est que ton mois a augmenté. Tu incrémente donc ta variable du mois. Et si c'est le dernier mois de l'année, tu le mets simplement à 1.

Pour les années pareil, si ton nouveau mois est égal à 1 c'est que tu as changé d'année, tu incrémentes donc ton année dans ce cas.

Le seul truc que je ne t'ai pas donné c'est pour récupérer la date en int, je vais chercher comment faire...
0