begin process at 2012 05 28 11:59:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

aider moi a compiler mon programme en devC++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aider moi a compiler mon programme en devC++

mardi 7 décembre 2010 à 22:01:31 | aider moi a compiler mon programme en devC++

samissam






bonjour,
je demande d'aide sur les arbres binaire car je travaille dessus:
j'ai fait un code en Dev C++ dont le but de lire et extraire les données d'un fichier bien défini qui est structurer d'une telle maniere .
mon programme je l'ai fait de telle sorte me demande d'écrire le nom de fichier puis il va le récupérer pour un traitement éventuel mais moi je bloque ici avant la récupération.


ci dessous mon code;


#include <stdlib.h>
#include <stdio.h>

/*INCLUDES*/
#include <windows.h>
#include<winsock2.h>
#include <mem.h>
#include <stdio.h>
#include <dos.h>
#include <myconio.h>
#include <malloc.h>
#include <errno.h>
#include <stdlib.h>
//#include <dir.h>
#include <string.h>

/*les defenitions*/

#define vide printf("\n");
#define ATT_FONT_G BLUE
#define ATT_TEXT_G WHITE /* definition des couleurs du menu des modules */
#define ATT_FONT_MESS RED
#define ATT_TEXT_MESS WHITE

#define MAXPATH 2
#define MAXDRIVE 2
#define MAXFILE 10
#define MAXDIR 10
#define MAXEXT 10


/*TOUCHE CLAVIER*/
#define ESC 27
#define ret 10 /* définition les touches de clavier utilisées */
#define espace 32
#define arr 46
#define f1 113


/*PROTOTYPE*/
void menu_haut1();
void menu_haut2();
void cadre();
void info(const char * txt);

void construction_n_fich(char *n_fich,const char *type,int cle);
char *acq_nfich(const char *ch,const char *mode);
void message(char *ch);
void exit_prg();
void effacefenetre(int dc,int dl,int fc,int fl,int att_font,int att_text); /* effacer une fent */
void fenetre(int dc,int dl,int fc,int fl,int att_rect,int att_font); /* colorer une fent rectangulaire */
void rectangl(int dc, int dl,int longer, int larg); /* rectangle */
int lec_fich(FILE *p); /* lecture du fichier *.arb */

void error_message(int fc,const char *ch);




/*PROGRAMME PRINCIPALE */
int main ()
{

char *nfich1;
cadre();

info("VEUILLEZ APPUYER SUR UNE TOUCHE SVP POUR ACCEDER A L'APLLICATION");



menu_haut2();

menu_haut1();
nfich1=acq_nfich("NOM DE FILE : ...............(arb)","rt");
// clrscr();


return 0;
}

/*FONCTION*/
void menu_haut1()
{
int i;
char *nfich1;
int tch,cle;
effacefenetre(1,1,80,25,ATT_FONT_G + RED,ATT_TEXT_G);

//window(1,25,80,25);
textcolor(WHITE); textbackground(BLUE);
clrscr();
gotoxy(30,1);
printf("* LOGIQUE *");
gotoxy(50+1,2+1);
textcolor(BLACK);
textbackground(WHITE);
gotoxy(35+1,20+1);
cprintf(" ESC-Quit F1-Aide\n");
//window(1,1,80,1);

getch();

nfich1=acq_nfich("NOM DE L'AdD : ..................(arb)","rt");
//getch();
fenetre(1,2,80,24,ATT_TEXT_G,ATT_FONT_G);

do{

gotoxy(15,1);
printf("INTRODUCTION DES DONNEES LOGIQUES D'UN AdD\n");
getch();
tch=getch();
switch(tch){
case ESC: exit(0);
case f1: ; printf("vous voulez d'aide\n"); break;
default: cle=0; break;}
} while(cle==1);
getch();
}

void menu_haut2()
{
int tch,cle;
effacefenetre(1,2,80,23,ATT_FONT_G,ATT_TEXT_G);
//window(1,25,80,25);
textcolor(BLACK); textbackground(WHITE); clrscr();
gotoxy(2,2);
cprintf(" ESC-Quit F1-Aide");
// window(1,1,80,1);
textcolor(BLACK); textbackground(WHITE); clrscr();
gotoxy(35,1);
cprintf("* KUMAMOTO *");
fenetre(1,2,80,20+3,ATT_TEXT_G,ATT_FONT_G+RED);
do{
gotoxy(10,10);
printf(" RECHERCHE DES ENSEMBLES MINIMAUX D'UN SYSTEME NON COHERENT ");
gotoxy(25,12);
printf("PAR LA METHODE DESCENDANTE .");
tch=bioskey(0);
switch(tch){
case ESC: exit(0);
case f1: cle=1;printf(" vous voulez d'aide\n"); break;
default: cle=0; break;}
} while(cle==1);
getch();
effacefenetre(3,3,78,23,ATT_FONT_G,ATT_TEXT_G);
gotoxy(7,0);
}
// Affiche dans un cadre
void info(const char * txt)
{
int i;
textcolor(WHITE);
textbackground(GREEN);

gotoxy(2,9); printf("%c",201); for( i=0; i<75; i++) printf("%c",205); printf("%c",187);
gotoxy(2,10); printf("%c %s",186,txt); gotoxy(3+75,10); printf("%c",186);
gotoxy(2,11); printf("%c",200); for( i=0; i<75; i++) printf("%c",205); printf("%c",188);

}

// Créer le cadre
void cadre()
{
int i;
textcolor(WHITE);
textbackground(BLUE);
printf("\n");
for( i=0; i < 70; i++) printf("%c",223);
printf("\n");
for( i=0; i < 20; i++) printf("%c \t\t\t\t\t\t\t\t %c\n",223,223);
for( i=0; i < 70; i++) printf("%c",223);
}


void construction_n_fich(char *n_fich,const char *type,int cle)
{
char FILENAME;
int flag;
char drive[2],file[MAXFILE],ext[MAXEXT],dir[MAXDIR];
char s[MAXPATH];

flag=fnsplit(n_fich,drive,dir,file,ext);

if(flag&FILENAME)
strcpy(ext,type);
if(cle==1)
fnmerge(n_fich,NULL,NULL,file,ext);
else

fnmerge(n_fich,drive,dir,file,ext);
}

void message(char *ch)
{
int tch;

textcolor(ATT_FONT_MESS);
textbackground(WHITE);
gotoxy(7,0);
clrscr();
cprintf("%s",ch);
tch=bioskey(0);
switch(tch){
case f1: printf("VOUS VOULEZ D'AIDE? CONTACTER SMAIL\n");break;
case ESC: exit_prg();
default: clrscr(); break;}
}


void exit_prg()
{
effacefenetre(1,1,80,25,BLACK,BLACK);
gotoxy(7,0);
exit(0);
}

void effacefenetre(int dc,int dl,int fc,int fl,int att_font,int att_text)
{

textbackground(att_font);
textcolor(att_text);
clrscr();

}

void fenetre(int dc,int dl,int fc,int fl,int att_rect,int att_font)
{

textcolor(BLUE);
textbackground(YELLOW);
clrscr();
rectangl(1,1,fc,fl);
gotoxy(7,0);


}

void rectangl(int dc, int dl,int longer, int larg)
{
int i ;
char c1='Í' ,c2='É',c3='&#188;',c4='»',c5='È',c6='º';

for(i=0;i<longer-1;i++)
{ gotoxy(dc+i+1,dl);
cprintf("Í"); }

for(i=0;i<longer-1;i++)
{ gotoxy(dc+i+1,larg+1);
cprintf("Í");}

for(i=1;i<=larg-1;i++)
{ gotoxy(dc,dl+i);
cprintf("º");}

for(i=1;i<=larg-1;i++)
{

gotoxy(longer,dl+i);
cprintf("º");}

gotoxy(dc,dl); cprintf("É");
gotoxy(longer,dl); cprintf("»");
gotoxy(dc,larg+1); cprintf("È");
gotoxy(longer,larg+1); cprintf("&#188;");
}




int lec_fich(FILE *p) // la fonction de lecture des données de mon file
{


unsigned int i,j,i1;
int a;
int NP,NE,NBE;
char *chaine,*ch;
int *E;


fscanf(p,"%d",&NP);
fscanf(p,"%d",&NE);
fscanf(p,"%d",&NBE);

if((p=malloc(NP*(NE+1)*sizeof(chaine)))==NULL)
{ error_message(62,"Mémoire insuffisante pour cet AdD. ESC"); exit(0);
}
if((E=malloc(NP*sizeof(int)))==NULL)
{ error_message(62,"M&#8218;moire insuffisante pour cet AdD. ESC"); exit(0);}
for(i=0;i<NP;i++)
{
fscanf(p,"%s",(p+0+i*(NE+1))->ch);

a=strlen((p+0+i*(NE+1))->ch);

if(strncmp((p+0+i*(NE+1))->ch,"g+",2)!=0
&& strncmp((p+0+i*(NE+1))->ch,"g*",2)!=0
&& strncmp((p+0+i*(NE+1))->ch,"n+",2)!=0
&& strncmp((p+0+i*(NE+1))->ch,"n*",2)!=0
&& strncmp((p+0+i*(NE+1))->ch,"gx",2)!=0
) return(0);
else if(a<3) return(0);
else { for(i1=2;i1<a;i1++)
if((isdigit((p+0+i*(NE+1))->ch[i1]))==0) return(0);}

a=extrait((p+0+i*(NE+1))->ch); if(a<0||a>NP-1) return(0);

fscanf(p,"%u",(E+i));
if(*(E+i)<0 ||*(E+i)> NE) return(0);
for(j=1;j<=*(E+i);j++)
{ fscanf(p,"%s",(p+j+i*(NE+1))->ch);
a=strlen((p+j+i*(NE+1))->ch);
if(strncmp((p+j+i*(NE+1))->ch,"g+",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"g*",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"n+",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"n*",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"gx",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"e+",2)!=0
&& strncmp((p+j+i*(NE+1))->ch,"e-",2)!=0
) return(0);
else if(a<3) return(0);
else { for(i1=2;i1<a;i1++)
if((isdigit((p+j+i*(NE+1))->ch[i1]))==0) return(0);}

a=extrait((p+j+i*(NE+1))->ch);

if(strncmp((p+j+i*(NE+1))->ch,"g+",2)==0
|| strncmp((p+j+i*(NE+1))->ch,"g*",2)==0
|| strncmp((p+j+i*(NE+1))->ch,"n*",2)==0
|| strncmp((p+j+i*(NE+1))->ch,"n+",2)==0
|| strncmp((p+j+i*(NE+1))->ch,"gx",2)==0)
{ if(a<0||a>NP-1) return(0); }
else if(strncmp((p+j+i*(NE+1))->ch,"e+",2)==0
|| strncmp((p+j+i*(NE+1))->ch,"e-",2)==0 )
{ if(a<0||a>NBE) return(0); }}
}
fclose(p);
return(1);
}
void error_message(int fc,const char *ch)
{
int dc=20,dl=10,fl=12;
int cle=0,tch;
fenetre(dc,dl,fc,fl,ATT_TEXT_MESS,ATT_FONT_MESS);

gotoxy(2,1);
cprintf("%s",ch);
do{
tch=bioskey(0);
switch(tch){
case ESC
: clrscr(); cle=1; break;
defaulte: cle=0;break;
}} while(cle==0);
effacefenetre(dc,dl,fc,fl,ATT_FONT_G,ATT_TEXT_G);
}




int extrait(char *ptr)
{
int n1;
n1=atoi(ptr+2);
return(n1);
}
void gprintf(int *p,int lig ,int col)
{
int i,j;
printf("\n");//vide;
for(i=0;i<lig;i++)
{ for(j=0;j<col;j++)
printf("% d",*(p+j+i*col));
printf("\n");}
}




char *acq_nfich(const char *ch,const char *mode)
{
char *nfich;
FILE *fp;
int NBE,NE,NP,dc1=15,dl1=10,fc1=65,fl1=12;

do{
fenetre(dc1,dl1,fc1,fl1,BLUE,WHITE);
gotoxy(dc1+2,dl1+1);
cprintf("%s",ch);
// nfich=ascanf(MAXPATH,dc1+strlen(ch)-12,dl1+1,fc1-2,fl1-1);
// construction_n_fich(nfich,".arb",0);
if((fp=fopen(nfich,mode))==NULL)
{
free(nfich);
message("Erreur d'ouverture !");}
}while(fp==NULL);
effacefenetre(dc1,dl1,fc1,fl1,BLUE,WHITE);
if(!(lec_fich(fp))||NP==0||NBE==0||NE==0)
{
error_message(50,"Erreur de format. ESC"); exit(0);}
return(nfich);
}



la fonction de lecture de mon file ça marche pas

* tout les variable sont connue , elles nous donnent des information sur notre file or notre arbre car mon fichier contient un arbre dont a un structure bien defini
NP nmbre de porte logique
NE nmbre événement
NBE nmbre maximal des entree d'une porte
nfich==nom de mon arbre ou fichier dont je traite
les g signifient gate or porte qui sont dans mon file
les e sont les entrees des portes qui sont dans file

or mon file structuré sous forme des ligne chaque ligne presente une porte suivi des ces entrées ..

*j'arrive pas à fonctionner la ta traduction de la touche appuyer pour que mon prog exécute exemple quand je clic sur ESC mon programme doit sortir ou F1 pour demander d'aide ...etc



















LE SAVOIR NE S'ACHETE PAS MAIS IL VIENT AVEC LE SACRIFICE


Cette discussion est classée dans : int, void, char, att, strncmp


Répondre à ce message

Sujets en rapport avec ce message

Help.... probleme avec un programme de tri de char [ par ratp ] Es ce que vous pouvez m'aider. j'ai réaliser un programme qui normalement doit permettre de trier les caracteres. mais sa ne marche pas. merci de m'ai quelqun peut il corriger ce qui ne vas pas dans ce programme s'il vous plait [ par gasy72 ] en fait je commence à programmer en C++ maintenant et j'apprend en modifiant et en essayant de comprendre certain programme.voici par exemple un code aide en c/c++ gestion classe [ par moussadjijunior ] Bonjour à tous J'oses croire que vous allez tous bien et que vos familles ne manque de rien.Je viens aujourd'hui auprés de vous car j'ai u probleme av chaine de caractere [ par superstarz ] Bonjour, Je suis débutant en C++, et je seche sur un TP concernant les chaines de caractère.Les érreurs qui surviennent lors de la compilation sont le un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe qu'en pensez vous?? besoin d'aide!! lol [ par nelly77 ] bonjour je voudrai créer un tableau avec une liste de produits ayant des attributs comme  leur nom, leur etat dans un stock, la duree de fabrication e IntToStr en C [ par RENTMEESTERS ] bonjour à tous, Je dois convertir un nombre entier INT en une chaîne de caractère qui devra être affichée sur un LCD (*char). J'utilise un 16F887 et probleme avec une chaine de caractere [ par joben22 ] Bonsoir, j'ai un petit soucis avec une fonction que j'essaie de coder. En fait, je lis le contenue d'un fichier, le place dans un char* et la j'aimer erreur code [ par ucf662 ] [code=cpp]class point{ int x,y; public: void initialiser( int x1 , int y1 ) ; void deplacer( i


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,841 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales