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
    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)
      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
        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();
          }

          }
          1. merci pour vous le programme est correct.