Undefined reference to 'WinMain@16'
molka
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
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
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();
}
}
}
}
A voir également:
- Undefined reference to 'WinMain@16'
- Qwerty to azerty - Guide
- Samsung a 16 avis - Accueil - Téléphones
- Video to video - Télécharger - Conversion & Codecs
- Reboot to bootloader - Guide
- Majuscule to minuscule - Guide
1 réponse
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.
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.
molka
salut merci pour ta réponse mais ça marche plus ..
fiddy
Messages postés
11653
Statut
Contributeur
1 847
Ca va être dur de t'aider si tu ne donnes pas de précision...