Corriger moi ce programme

Fermé
amirrrr Messages postés 6 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 22 décembre 2009 - 25 mars 2009 à 16:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 25 mars 2009 à 18:16
Bonjour,
je suis un debutant en C, svp corriger moi ce programme et merci d'avance :
**************************************************************************
#include<stdio.h>
#include<conio.h>
char client[100];
int compte[20];
int mt,s,i;
//***************************************//
void saisie()
{
printf("Ajouter un client svp : ");
scanf("%c",&client[i]);
}
//***************************************//
void saisie_c()
{
for(i=0;i<5;i++)
{
printf("Ajouter un compte svp : ");
scanf("%d",&compte[i]);}
}
//*************************************//
void deposer(int mt,int s)
{
s=s+mt;
}
//*************************************//
void retirer(int mt,int s)
{
s=s-mt;
}
//************************************//
void supprime_cl()
{
client[i]=0;
}
//***********************************//
void supprime_cmt()
{
compte[i]=0;
}

//*************************************//

void main()
{
for(i=1;i<=100;i++)
{
if(client[i]=="")
{
saisie();
}
else
{
printf("choisir une action de ce menu : ");
printf("entrer 1 pour ajouter un client");
printf("entrer 2 pour ajouter un compte");
printf("entrer 3 pour deposer de l'argent");
printf("entrer 4 pour retirer de l'argent");
printf("entrer 5 pour supprimer un client");
printf("entrer 6 pour supprimer un compte");
scanf("%d",&c);
switch(c)
{
case 1 :saisie();break;
case 2 :saisie_c();break;
case 3 :deposer(int mt,int s);break;
case 4 :retirer(int mt,int s);break;
case 5 :supprime_cl();break;
case 6 :supprime_cmt();break;
defaut : printf("fausse valeur,ressayer");
}}}
getch();
}
**************************************************************************
j'éspere vos aides
et merci....
A voir également:

4 réponses

tuxun Messages postés 357 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 16 décembre 2010 34
25 mars 2009 à 17:16
Tiens!
Une petite astuce:
Met ton code indenté entre "<code>" et "<code/>"!

<code>
#include "mmlib.h"

int fonction(void)
{
if ( mmputstr("Ce code est plus lisible,tu ne trouve pas?") == 0 )
return 0;
return -1;
}

int main(int argc, char argv[])
{
return fonction();
}
//Tu as vu la gestion d'erreur grace au retour? cela sert beaucoup...
<code/>

Je plancherai sur ton code après mais dis deja ce qui ne va pas s'il te plait...
Cdt, TuXuN.
0
amirrrr Messages postés 6 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 22 décembre 2009
25 mars 2009 à 17:37
merci, mais la saisie est correcte je pense mais la compilation est erroné ... svp compilé mon programme est essayer de me corriger mes fautes........
car j'ai essayer plusieur fois et sans succé............
merci une autre fois monsieur.....
j'attent votre solution avec plaisir.......
0
tuxun Messages postés 357 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 16 décembre 2010 34
25 mars 2009 à 17:45
Je n'ai pas de solution, je ne lis pas les codes non-indenté (c'est la mise en forme du code)
Fait moi plaisir, recolle ton code comme je te l'ai dit et apres, j'essaierai...
En te remerciant d'avance...
PS: il y a un espace entre "#include" et "<nomdeheader>", essaie comme cela, pour voir...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 mars 2009 à 18:16
PS: il y a un espace entre "#include" et "<nomdeheader>"
Non pas nécessairement.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 mars 2009 à 18:15
Salut,

En C, le main renvoie un int. Donc essaie : int main(void)

for(i=1;i<=100;i++)
Un tableau en C commence à l'indice 0. Donc il faut mettre : for(i=0;i<100;i++)

deposer(int mt,int s);
Erreur subtile. Tu envoies en paramètre une variable globale. Ainsi dans la fonction, si l'une des variables est modifiée son changement n'aura pas lieu puisque la variable globale sera cachée par la variable locale.
De même pour les fonctions fondées sur le même modèle.

N'oublie pas le return 0 finale (pour rester en accord avec int main).

Sinon, évite les variables globales. D'autant plus que ton code, il y en a nullement besoin.
De plus, je n'ai pas lu tout ton code car non indenté, mais l'algorithme me semble étrange.

Et enfin, la prochaine fois, utilise les balises "code" (bouton à droite de souligner) avant de poster sur le forum. Sinon ça ne donne pas envie de lire ton code.
0