Campilation

Résolu
Bonjour,
svp expliqué mois ce qui est faut ici parceque le compilateur indiqué des fautes .

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

struct client
{ int num_compte ;
char nom[20] ;
char prenom[20] ;
int code ;
int solde ;
} ;

int retrait( int s , int n);

main()
{

struct client tab[10]={{05,'khalifa','achraf',02,12},{014,'bjaoui','bachra',06,60},
{10,'crous','tom',07,85},{20,'scofield','micheal',45,75},
{24,'beckam','david',057,46}};
int som;
int mp;
int i,j;

printf("saisie votre mot de passe\n");
scanf("%d",&mp);
for (i=0;i<10;i++)
{
if (mp==tab[i].code)
{
j=i;
printf("entrer la somme d'argent que tu veulent prendre (10 DT au minimum): ");
scanf("%d",&som);
retrait( som , j );
}
else printf("votre mot passe est incorrect");

getch();
}

int retrait( int s , int n)

{

int c,r;
if (tab[n].solde <= s)

{ if ((s < 10) || ((s % 10) != 0))
printf("imposible");
else if (s==10) printf("1 billet de 10 DT");
else if (s==20) printf("1 billet de 20 DT");
else if (s==30) printf("1 billet de 30 DT");
else
{ c=(s/30);
r=(s-(c*30));

printf("%d de billet de 30 DT et 1 billet de %d DT",c,r);
}
}
else printf("l'argent que tu veulent prendre est supérieur à votre solde");
}
Configuration: Windows XP
Opera 9.23

4 réponses

  1. bonsoir,

    pourrais-tu nous donner les erreurs qu'il t'as donné s'il te plait ??

    déjà le main n'as pas de type

    void main()
    {
    }

    ou

    int main()
    {

    return 0;
    }

    int main() est la vraie écriture a faire, mais pense a mettre un return 0; à la fin
    0
    1. Compiling...
      a.cpp
      c:\documents and settings\administrateur\bureau\aa\a.cpp(18) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(18) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(18) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(18) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(19) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(19) : warning C4305: 'initializing' : truncation from 'const int' to 'char'
      c:\documents and settings\administrateur\bureau\aa\a.cpp(19) : warning C4309: 'initializing' : truncation of constant value
      c:\documents and settings\administrateur\bureau\aa\a.cpp(19) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(19) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(20) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(20) : error C2015: too many characters in constant
      c:\documents and settings\administrateur\bureau\aa\a.cpp(46) : error C2601: 'retrait' : local function definitions are illegal
      c:\documents and settings\administrateur\bureau\aa\a.cpp(65) : fatal error C1004: unexpected end of file found
      Error executing cl.exe.

      a.obj - 11 error(s), 2 warning(s)
      0
      1. ici déjà
        struct client tab[10]={{05,'khalifa','achraf',02,12},{014,'bjaoui','bachra',06,60},
        {10,'crous','tom',07,85},{20,'scofield','micheal',45,75},
        {24,'beckam','david',057,46}};

        trop de paramètres dans les accolades

        ensuite

        il te manque une accolades à la fin de int retrait (erreur de la ligne 60).

        et met la fonction retrait, au dessus du main pour l'erreur ligne 45
        0
        1. Voici la version corrigé !!!! mais faut réviser votre programme il y a des fautes banal de boucles a éliminer !!!!!

          Jé DEJA vu ce genre d'exercice !! en faite vous n'ete pas par hazard un tunisien dans la l'ISIMS !!!

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

          struct client
          { int num_compte ;
          char nom[20] ;
          char prenom[20] ;
          int code ;
          int solde ;
          } ;

          void retrait( int s , int n)

          {
          struct client tab[100];

          int c,r;
          if (tab[n].solde <= s)

          { if ((s < 10) || ((s % 10) != 0))
          printf("imposible");
          else if (s==10) printf("1 billet de 10 DT");
          else if (s==20) printf("1 billet de 20 DT");
          else if (s==30) printf("1 billet de 30 DT");
          else
          { c=(s/30);
          r=(s-(c*30));

          printf("%d de billet de 30 DT et 1 billet de %d DT",c,r);
          }
          }
          else printf("l'argent que tu veulent prendre est supérieur à votre solde");
          }

          void main()
          {

          struct client tab[10]={{05,"khalifa","achraf",02,12},{014,"bjaoui","bachra",06,60},
          {10,"crous","tom",07,85},{20,"scofield","micheal",45,75},
          {24,"beckam","david",057,46}};
          int som;
          int mp;
          int i,j;

          printf("saisie votre mot de passe\n");
          scanf("%d",&mp);
          for (i=0;i<10;i++)
          {
          if (mp==tab[i].code)
          {
          j=i;
          printf("entrer la somme d'argent que tu veulent prendre (10 DT au minimum): ");
          scanf("%d",&som);
          retrait( som , j );
          }
          else printf("votre mot passe est incorrect");

          getch();
          }

          }
          0
          1. merci pour vous le programme est correct.
            0