Aide pour un Projet en Algorithme

Fermé
kappamolo Messages postés 2 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 20 mars 2012 - 19 mars 2012 à 17:56
kappamolo Messages postés 2 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 20 mars 2012 - 20 mars 2012 à 00:36
Bonjour,

Alors,je vous expose mon problème.J'ai récemment reçu un projet a faire en algorithme,j'ai essayé de faire l'algorithme,qui me semble d'ailleurs juste mais lors de la transcription en langage C,je me retrouve avec plein de problèmes.Je vous donne d'abord le sujet de sorte a ce que vous puissiez voir de quoi il s'agit :

vous est demandé d'élaborer un programme qui possède les deux principales fonctions suivantes : le calcul des moyennes des élèves de la classe de AIN et le calcul du montant de la facture dans une pharmacie par client.

Ce programme demandera à ces utilisateurs de saisir leurs choix en tapant l'un des caractères "P", "p" et F, "f" et suivant le choix effectuer les opérations suivantes sont effectuées.


*Si le choix de l'utilisateur est "F" ou "f" le programme

- demande la saisie le prix et la quantité de chaque médicament acheté par le client.
- calcule et affiche le brut, la remise, la taxe TVA, les frais de livraison

et prix TTC de la consommation par client.



On précise :

? la remise est de 5% si le brut est compris entre 200 000f et 1 000 000 f et de

10% au-delà.

? La livraison est gratuite si client dispose d'une carte de fidélité, sinon il est de 2% du

brut lorsque le brut est supérieur à 50000F.

? la taxe TVA est de 18% du brut.

Les prix unitaires et les quantités doivent être obligatoirement positifs. L'utilisateur pourra reprendre l'établissement des factures autant de fois qu'il le désire avant de quitter volontairement le programme ou se positionner au niveau du menu principal. Le nombre de médicaments acheté n'est pas connu d'avance. On saisit les médicaments jusqu'au dernier.


*Si le choix de l'utilisateur est "P" ou "p" le programme

- saisit les moyennes des étudiants de la classe pour 5 matières.

- Fait la moyenne pour chaque étudiant;

- Fait le classement des étudiants;

- Fait la moyenne par matière;

- Fait la moyenne générale de la classe;

- Empêche les saisies incorrectes (moyenne négatives ou supérieure à 20 ).



On précise :

? Toutes les valeurs calculées devront être affichée.

? Les valeurs et les moyennes seront affichées avec 2 chiffres après la virgule et arrondies à la moitié supérieure.
? L'utilisateur pourra reprendre le calcul des moyennes autant de fois qu'il le désire avant de quitter volontairement le programme ou se positionner au niveau du menu principal.


Le calcul de moyenne de production et des factures doivent se faire par appel de fonctions sans argument et ne retournant aucune valeur.


J'ai essayé de le faire et voila ce que ça a donné :

#include<stdio.h>
#include<math.h>
#include<stdlib.h>

main(){
int reponse;
char choix;
void facture();
void moyenne();
printf("salut!\n");
printf("bienvenue sur le programme d'Annick Dje et Julien Kouassi.\n comment allez vous?\n");
printf("\n");
printf(" reponse:\n");
printf("\n");
printf("1:bien\n");
printf("2:c'est pas la forme\n");
printf("\n");
printf("votre reponse svp\n");
scanf("%d",&reponse);
switch(reponse)
{
case 1:
printf("gloire a Dieu!\n");
break;
case 2:
printf("j'espere que vous n'avez rien de grave!\n");
printf("ca ira je prie pour vous.\n");
break;
default:
printf("vous ne m'avez pas repondu je suis blesse!");
break;

printf("\n\n");
scanf("%d",&reponse);
return 0;
} printf("\n\n");
{
printf("ce programme permet le calcul des moyennes des eleves de la classe AIN de L'ISTC,et le montant de la facture de la pharmacie Ste Annick par clients\n");
printf("\n");
printf("MENU:\n");
printf("\n");
printf("p:le calcul des moyennes des eleves de la classe AIN de L'ISTC\n");
printf("f: le montant de la facture de la pharmacie Ste Annick par clients\n");
printf("\n");
printf(" votre choix svp\n");
scanf("%c",&choix);
}
scanf("%c",&choix);
switch(choix)
{
case 'p':moyenne();
break;
case 'f':facture();
break;
default:printf("mauvais choix\n");
}

}



void facture(){
float pu,qt,b,brut,rem,tva,ttc,fl;
char reponse,choix,autre;
printf("BIENVENUE A LA PHARMACIE STE ANNICK");
do{
autre=0;
printf("entrer le prix du medicament svp\n");
scanf("%f",&pu);
printf("entrer la quantite du medicament svp\n");
scanf("%f",&qt);
while(pu<0||qt<0)
{
printf("erreur de saisi entrer des valeurs positives svp\n");
printf("entrer le prix du medicament svp\n");
scanf("%f",&pu);
printf("entrer la quantite du medicament svp\n");
scanf("%f",&qt);
}
b=pu*qt;
brut=brut+b;
printf("avez vous un autre medicament a saisir?\n entrer 1 pour oui et 2 pour non\n");
scanf("%d",&autre);
}while(autre==1);
if(brut>1000000)
rem=(brut*10)/100;
else
if(brut>=200000)
rem=(brut*5)/100;
else
rem=0;
printf("la remise est %f\n",rem);
printf("le client a t il une carte de fidelite?\n 1:OUI\n 2:NON\n");
printf("entrer votre reponse svp\n");
scanf("%d",&choix);
switch(choix)
{
case 1: printf("le frais de livraison est gratuit\n");
fl=0;
break;
case 2:
if(brut>50000)
fl=(brut*2)/100;
else
fl=0;
break;
default:printf("erreur de saisi\n entrer 1 ou 2\n");
scanf("%d",&choix);
}
printf("le brut est: %f\n",brut);
printf("les frais de livraison sont: %f\n",fl);
scanf("%c",&reponse);
printf("le remise est: %f\n",rem);
tva=(brut*18)/100;
printf("la taxe tva est: %f\n",tva);
ttc=brut+fl+tva-rem;
printf("le prix ttc est: %f\n",ttc);
//system("PAUSE");
}

void moyenne(){
float moy[1000][5],s=0,som=0,moye[n],moym,moyg,inter,nbre;
int i,j,echang;
printf("entrer le nombre d'etudiant %f, svp");
scanf("%f",&nbre);
for(i=0;i<nbre;i++)
for(j=0;j<5;j++)
{
printf("entrer la moyenne %f de l'etudiant %f\n",i,j);
scanf("%f%f",&moy[i,j]);
while(moy[i,j]<0 || moy[i,j]>20)
{
printf("erreur de saisi:\nentrer une moyenne comprise entre 0 et 20\n");
scanf("%f%f",&moy[i,j]);
}
s+=moy[i,j];
}
moye[n]=(s)/5;
printf("la moyenne de l'etudiant est %f\n",i,j);

do
{
echang=0;
for(i=0;i<500;i++)
if(moy[i]>moy[i+1])
{
echang=1;
inter=moy[i];
moy[i]=moy[i+1];
moy[i+1]=inter;
}
}while(echang==1);
printf("apres le classement on a\n");
printf("le premier est:%3.2f",moy);
for(i=1,i<500,i++)
printf("le %d ieme est:%3.2f",moy[i]);
for(j=0,j<5,j++)
for(i=0,i<500,i++)
{
s+=moy[i][j];
moym+=s/n;
printf("la moyenne dans la",[i,j]" est:",moym);
som+=moym;
}
moyg=som/5;
}




Si vous pouviez m'aider,je vous en serais extremement reconnaissant,je rapelle que je viens a peine de commencer a travailler en langage C,et que c'est pas vraiment clair pour moi....Merci pour votre aide.
A voir également:

1 réponse

kappamolo Messages postés 2 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 20 mars 2012
20 mars 2012 à 00:36
j'ai essayé de modifier le sous programme conçernant la facture et voici ce que ça a donné :

#include <stdio.h>
#include <conio.h>

float choix,brut,remise,tva,total,livr;
char rep[2];

void menu (void)
{
printf("taper f pour la facture\n");
printf("taper p pour la moyenne\n");
scanf("%f",&rep);
}
void facture(void)
{
brut=0;
do
{
do
{
do
{
printf("entrez le prix\n");
lire("%f",&prix);
printf("entrez quantité\n");
lire("%f",&qte);
}
while ( prix>=0 and qte>=0);

brut=brut + (prix * qt);
}
while(prix==0 et qte==0);

remise=0;

if (brut>= 200000) and (brut <= 1000000)
{
remise= brut*(5/100);

}

else
{
if brut> 1000000
{
remise=brut*(10/100);
}

else
{
remise=0;
}
}

tva= (brut-remise)*(18/100);

livr=0;
printf("le client a t'il une carte de fidelité?\n");
printf("o/n\n");
scanf("%c",&rep);

if (rep=='n') and (brut>=50000)
{
livr= brut*(2/100);

}



total=brut-remise + tva + livr;

printf("Prix Brut: %f \n", brut);
printf("remise: %f \n",remise);
printf("TVA: %f \n", tva);
printf("Le montant total a payé est: %d \n" ,total);
}
main ()
{
menu();
facture();
getch();
}

Malheuresement je me retrouve avec plein de /stray 160 erreur,HELP ME PLEASEEEEEEEEE....
0