molka
-
Modifié par KX le 8/03/2016 à 20:25
fiddy
Messages postés11069Date d'inscriptionsamedi 5 mai 2007StatutContributeurDernière intervention23 avril 2022
-
9 mars 2016 à 14:24
Bonjour,
j'ai un problème : ce message s'affiche " undefined reference to WinMain@16"
mon code ce compile mais je ne peux pas faire le run voici mon code (il est un peu long) :
{ il me demande d'implémenter une application de Gestion des Comptes Courants dans une banque.... svppp ca me tue je trouve pas ou est la faute }
l'implémentation par codeblockes
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define max 100
typedef struct
{ int num_cpt ;
char nom_prenom [50] ;
float solde ;
} compte;
typedef struct
{ compte tab[max];
int nb_cpt;
}banque ;
void saisir_cpt (compte* c )
{
printf ("donner votre nom et votre prenom : \n ");
scanf ("%s",c->nom_prenom);
printf ("donner le num de compte de 20 chifree :, ");
scanf ("%d",&c->num_cpt);
printf ("donner le solde que on veut intialiser votre compte :\n ");
scanf ("%f",&c->solde);
}
void affiche_cpt (compte c)
{
printf ("votre numero de compte est: %d \n ",c.num_cpt);
printf ("votre nom & prenom est : %s \n ",c.nom_prenom);
printf ("votre solde est : %0.2f \n",c.solde);
}
void retrait_cpt (compte* c ,float x )
{
if (x<c->solde)
{
c->solde-=x;
printf ("l'operation de retrait se fait avec succeés \n");
}
else
printf ("desole votre solde insuffisant , voulez recharger votre compte \n");
}
void deposer_cpt (compte* c , float x)
{
printf ("votre solde avant l'ajout est : %0.2f \n",c->solde);
c->solde +=x ;
printf ("votre solde apres l'ajout est : %0.2f \n",c->solde);
}
void viver (compte* c1 ,compte* c2 , float x)
{
if (c1->solde >x)
{ c1->solde=c1->solde -x;
c2->solde=c2->solde+x;
printf (" l'operation se fait avec succee \n ");
}
else
printf ("le solde qui va vivre a 2eme compte est insuffissant \n ");
}
void intialsier_ba (banque* b )
{ b->nb_cpt=0;
}
int rech_ba (banque b ,int num_cpt )
{ int i=0;
while ((i<b.nb_cpt)&& (b.tab[i].num_cpt!=num_cpt))
i++;
if (i<b.nb_cpt)
return i;
return -1;
}
void ajouter_ba (banque* b , compte c )
{ int k;
k=rech_ba(*b,c.num_cpt);
if (k==-1)
{b->tab[b->nb_cpt]=c;
b->nb_cpt++;}
}
void retrait (banque* b , int num_cpt , float x )
{ int k =rech_ba (*b,num_cpt);
if (k!= -1)
{ retrait_cpt (&b->tab[k],x );}
else
printf ("ce compte est invalide \n");
}
void deposer_ba (banque *b , int num_cpt , float x )
{ int k =rech_ba (*b,num_cpt);
if (k!=-1)
{ deposer_cpt (&b->tab[k],x);}
else
printf ("cet compte invalide \n");
}
void vivre_ba (banque *b , int c1 ,int c2 ,float x)
{
int k,g;
k=rech_ba( *b , c1);
k=rech_ba (*b,c2);
if ((k!=-1)&& (g!=-1))
{ b->tab[k].solde-=x;
b->tab[g].solde+=x;
printf("l'operation se fait avec succee\n");
}
else
printf ("l'un cet ces 2 compte n'est pas existe deja dans cet banque \n ");
}
float retoun_ba (banque *b)
{ int i ;
float s=0;
for (i=0;i<b->nb_cpt;i++)
s=s+b->tab[i].solde;
return s;
}
void afficher_ba (banque *b )
{ int i;
for (i=0;i<b->nb_cpt;i++)
{ printf ("le compte n° %d dans le banque est \n ",i+1);
affiche_cpt (b->tab[i]);
}
}
int menu_principale()
{ int choix;
while (choix !=3)
{
do
{ printf(" **********************************************************\n");
printf(" **********************************************************\n");
printf(" *** FSB 2016 ***\n");
printf(" *** Bienvenue ***\n");
printf(" *** Menu principale ***\n");
printf(" *** 2016 ***\n");
printf(" *** ***\n");
printf(" *** Voulez Vous : ***\n");
printf(" *** 1- Gérer les comptes d'une banque ***\n");
printf(" *** 2- Inventaire de la banque ***\n");
printf(" *** 3- Quitter l'application ***\n");
printf(" *** ***\n");
printf(" *** ***\n");
printf(" *** :) Voulez Donner Votre Choix :) ***\n");
printf(" **********************************************************\n");
printf(" **********************************************************\n");
printf("\n");
printf("\n");
printf(" Votre Choix est : ");
scanf("%d",&choix);
} while((choix<1)&&(choix>3));
return choix;
}
void menu1 ()
{ int choix=0;
compte l,c ,c1, c2 ;
float x ;
while (choix !=7)
{
do
{
printf(" ******************************************************\n");
printf(" * FSB 2016 *\n");
printf(" * Bienvenue *\n");
printf(" * 2016 *\n");
printf(" * Voulez Vous : *\n");
printf(" * 1- ajouter un compte *\n");
printf(" * 2- consulter un compte *\n");
printf(" * 3- Retrait argent *\n");
printf(" * 4- depot argent *\n");
printf(" * 5- virement *\n");
printf(" * 6- retourner au menu principale *\n");
printf(" * 7- Quitter l'application *\n");
printf(" * *\n");
printf(" * :) Voulez Donner Votre Choix :) *\n");
printf(" ******************************************************\n");
printf("\n");
printf("\n");
printf(" Votre Choix est : ");
scanf("%d",&choix);
}while ((choix<1)&&(choix>7));
switch (choix)
{case 1 :
{
system("cls");
saisir_cpt(&c);
break;
getch();
}
case 2 :
{
system("cls");
affiche_cpt(c);
break;
getch();
}
case 3:
{system("cls");
printf("donner le solde que veut le retrait x :\n ");scanf ("%f",&x);
retrait_cpt(&c,x);
break;
getch();}
case 4:
{system("cls");
printf("donner le solde que veut le ajouter x :\n ");scanf ("%f",&x);
deposer_cpt(&c,x);
break;
getch();}
case 5:
{system("cls");
printf("donner le solde que veut viver x :\n ");
scanf ("%f",&x);
printf("saisir le 1ere compte \n");
saisir_cpt(&c1);
printf("saisir le 2eme compte \n");
saisir_cpt(&c2);
viver(&c1,&c2,x);
break;
getch();}
case 6:
{system("cls");
menu_principale();
break;
getch();}
case 7 :
{
system("cls");
printf(" au revoir \n");
break;
getch();
}
default :
{
system("cls");
printf(" * Merci pour votre attention :) a bientot :) *\n"); break;
getch();
}
}}}
void menu2 ()
{ int l,k,num,num2,c1,c2,choix =0 ;banque b;float j,x; compte c;
while (choix!=8)
{
do {
printf(" ******************************************************\n");
printf(" * FSB 2016 *\n");
printf(" * Bienvenue dans le *\n");
printf(" * Menu n 2 Gestion de banque *\n");
printf(" * 2016 *\n");
printf(" * Voulez Vous : *\n");
printf(" * 1- afficher le solde d'un banque *\n");
printf(" * 2- lister tous les comptes de banque *\n");
printf(" * 3- retourner au menu principale *\n");
printf(" * 4-Quitter l'application *\n");
printf(" * :) Voulez Donner Votre Choix :) *\n");
printf(" ******************************************************\n");
printf("\n");
printf("\n");
scanf("%d",&choix);
} while((choix<1)&&(choix>4));
switch (choix)
{ case 1 :
{
system("cls");
printf ("le solde de cet banque est %f",retoun_ba(&b));
break;
getch();
}
case 2:
{
system("cls");
afficher_ba(&b);
break;
getch();
}
case 3 :
{
system("cls");
printf(" * vous avez retoure au menu principale :) *\n");
menu_principale();
break;
getch();
}
default :
{
system("cls");
printf(" a bientot *\n"); break;
getch();
}
} }}
void main ()
{
float x;
switch ( menu_principale())
{
case 1 :
{
system("cls");
menu1();
break;
getch();
}
case 2 :
{
system("cls");
menu2();
break;
getch();
}
default:
{
system("cls");
printf(" a bientot *\n"); break;
getch();
}
}
}
}
fiddy
Messages postés11069Date d'inscriptionsamedi 5 mai 2007StatutContributeurDernière intervention23 avril 20221 842 8 mars 2016 à 22:34
Bonjour,
Je n'ai pas lu le code, mais l'erreur est classique. Tu as compilé en mode graphique... Recréé un projet et utilise le mode console (nouveau projet / console application). Ca ira mieux.
9 mars 2016 à 14:04
9 mars 2016 à 14:24