Garzul > c´est Dt() et non dt()
respecte les maj en C !
Bah je respecte les maj mais je voulais renommer le nom de la variable
.
pas évident ! ça dépend du prog
en général, la regle est de faire un fichier :
truc.h
truc.cpp
dans le truc.h, tu mets les prototypes des fonctions
dans truc.cpp, tu mets :
dans le fichier qui contient le main, tu mets également
regarde comme j´ai fait pour mon tuto de promenade.
Non toujour pareil
il me dit la même erreur en pointant vers cette ligne ==>
return ( (t*pps)/1000)-(((t-Dt())*pps)/1000);
ah ! normal, tu n´as pas ma fonction Dt()
lol !
recupere mon fichier futils qui est dans le tuto de la promenade et recupere cette fonction...
C´est pas professionel du tout sa JYY :D !
Merci ; )
le prob c´est qu´il m´affiche
Please consider using one of the 32 headers found in section 17.4.1.2 of the \
C++ standard. Examples include substituting the < X> header for the < X.h> \
header for C++ includes, or < iostream> instead of the deprecated header \
< iostream.h>. To disable this warning use -Wno-deprecated.
et je sai pas quoi faire.
en fait le probleme c´est que dans le 1 code source je met un goto qui va vers le 2 code source.
y aurait pas une autre fonction pour passer d´un truc à l´autre?
JYY > > Merci, ça sera bien en debut de boucle
extasy89 :
essaye en enlevant le . h de tes headers
genre , #include < iostream>
et , tu devras aussi mettre
using namespace std;
en dessous , ca raccourcira les noms des fonctions
le prob c´est que alors il écrit
No such file or directory.
juste comme ca , parceque je ne connais pas du tout ton niveau , mais tu sais qu´il n´y a pas d´espace entre < et iostream hein ?
c´est le forum qui les mets , mais il ne faut pas en mettre
bon puisque mon probleme n´a pas l´air d´etre tres clair je vai mieux l´expliquer:
j´ai fait une interface pour mon programme ( menu, . ..)qui est un calendrier, et que j´ai mis dans le code source numeros 1.
using namespace std;
struct entree
{
char nom[500];
char jour[500];
char mois[500];
char annee[500];
};
int main()
{
time_t t;
time(&);
printf(ctime(&));
menu:
int condition;
cout<<"pour entrer une nouvelle donnee presser 1, pour quitter presser 2"<<endl;
cin>> condition;
if ( condition==1)
{
goto entree;
}
if ( condition==2)
{
goto fin;
}
struct entree f;
entree:
int entree;
cout < < " entrez le nom" < < endl;
cin > > f.nom;
cout < < " entrez le jour" < < endl;
cin > > f.jour;
cout<<"entrez le mois"<<endl;
cin>>f.mois;
cout<<"entrez l´annee"<<endl;
cin>>f.annee;
int enregistrement;
cout < < " references: " < <"*"<<f.nom < < " / " < < f.jour < < " /"<<f.mois<<"/"<<f.annee<<" pressez 1 pour enregistrer ou sur 0 pour revenir au menu"<<endl;
cin>> enregistrement;
if ( enregistrement==1)
{
goto renseignement;
}
if ( enregistrement==0)
{
goto menu;
}
fin:
int fin;
cout<<"voulez vous consulter les donnees enregistrees? ( o=1/n=2)"<<endl;
cin>> fin;
if ( fin==1)
{
goto registre;
}
else
{
goto quitter;
quitter:
int quitter;
cout<<"voulez vous quittez? ( o=1/n=2)"<<endl;
cin>>quitter;
if ( quitter==1)
{
return 0;
}
if ( quitter==2)
{
goto menu;
}
}
system("PAUSE");
return main();
}
ensuite, j´aimerais bien mettre les fonctions qui permetent de d´écrire les infos ( nom,mois,jour,année) dans un fichier texte ( ofstream et ifstream) dans un deuxième code source.
ces deux infos ont pour nom renseignement et registre et j´aimerais que grace a une fonction comme goto ( qui est inscrite dans le prog mais qui ne marche pas) pouvoir passer d´un code source à l´autre ( pour que par exemple lorsque j´entre une nouvelle donnée la fonction goto permete de passer au deuxieme code source et donc d´enregistrer ces données).
using namespace std;
struct entree g=f;
renseignement:
ofstream fichier("données.txt",ios::app| ios::out);
if ( !fichier){
cerr<<"impossible d´ouvrir le fichier!"<<endl;
system ( "pause");
return ( -1);
}
fichier<<"*"<<f.nom<<"/"<<f.jour<<"/"<<f.mois<<"/"
<<f.annee<<endl;
fichier.close();
int caca;
cout<<"pour revenir au menu pressez 1, pour voir les donnees sauvegarder, presser 2"<<endl;
cin>> caca;
if ( caca==1)
{
goto menu;
}
else
{
goto registre;
struct entree h=g=f;
registre:
if ( !fichier){
cerr<<"impossible d´ouvrir le fichier!"<<endl;
system ( "pause");
return(-1);
}
ifstream fichier("données.txt");
char txt [1024];
fichier>>txt;
cout < <"donnees:"<<endl<<endl;
cout<<txt<<endl<<endl;
int i;
for(i=0;i<163;i++)
{
fichier>>txt;
cout<<txt<<endl<<endl;
}
fichier.close();
voila c´est un prob assez compliquer mais ce serait génial si quelqu´un pouvait m´aider ce serait super
un grand merci d´avance!!!!!!!
si ton deuxième fichier s´appelle fichier2.cpp tu cré un fichier appelé fichier2.h
ton fichier2.cpp tu l´écrit AVEC DES FONCTIONS !
pas juste des bout de code.
par exemple une fonction renseignement et une fonction registre comme tu le ferais si elle était dans ton fichier normal.
sauf qu´elle n´ont pas le droit d´utiliser des variables que tu aurais défini dans le fichier1.cpp ( sauf si elle les recoive en argument).
ensuite si t´as fonction renseignement s´appelle :
int renseignement(int truc,char bidule,...)
{
. ..
}
dans le fichier2.h tu mets juste cette ligne :
int renseignement(int truc,char bidule,...); / / < -- il y a un ;
et une autre ligne pareil pour la fonction registre.
ensuite dans le fichier1.cpp tu mets au début :
dans le fichier2.cpp tu enlève tes horreur de label, dans le fichier1.cpp tu enlève des goto et tu les remplace par des appell de fonction et voila ! tout devrait marcher.
dedans
JYY : en effet , il y a un problème ![]()
mais , je crois l´avoir localisé ( dans le Render() de fmap:
int xm=xoffset/W;
c´est cette ligne ( et son equivalent ordonnee ) qui ne fonctionnent plus avec des tiles de 64*64 j´ai l´impression ( enfin , c´est peut etre pas ça du tout , mais c´est une ligne que je ne comprends pas du tout ^^ )
en effet , elle sert ensuite dans l´affichage :
Blit(chipset,xc,yc,xtile,ytile,GetScreen(),i*W-xm,
j*H-ym);
Mais , ensuite , je sais que j´ai un peu touche le code ( notemment , j´ai enleve tous les . cpp et je les ai mis dans des headers , j´ai pas compris pourquoi tu as un Fmap.h et un fmap.cpp , alors qu´on peut tres bien ecrire le code dans le header ? ) , alors peut etre que j´ai change une ligne sans faire expres . .. ?
Est-ce que tu as essaye de mettre des tiles de 64*64 stp ?
merci dnob 700 j´ai pu en partie résoudre le probleme.
il n´y a plus que une seule erreur dans le programme, c´est qu´il inscrit
ofstream.h: No such file or directory.
comment faire?
merci d´avance
enleve le , il existe pas ton header ( enfin , je le connais pas , c´est pas pareil
)
de toute façon , les seul headers dont tu as beosin pour ton programme sont :
iostream
fstream
time
je crois pas qu´il y en ai d´autre . ..
Sinon , ben , JYY , je crois que l´erreur vient pas de là en fait ^^ parceque , j´ai reessaye avec des tiles de 16*16 et euh . .. ben , ca marche plus du tout ![]()
faut que je remette comme avant . ..
Bon , le probleme est quasiment regle ( enfin . .. voila quoi : http://img49.exs.cx/my.phphp?loc=img49&image=tsk4qq.png )
assez flashi , je trouve ca joli nan ?
sa fait meme mal au yeux a force ^^
Boah , la tu vois pas un quart de l´ecran , et surtout , tu ne vois pas que ca clignote !
ras le bol
^^
bon voila mon code a l´heure actuel
d´abord le 1 code source:
using namespace std;
int ecriture();
int lecture();
struct entree
{
char nom[500];
char jour[500];
char mois[500];
char annee[500];
};
int main()
{
time_t t;
time(&);
printf(ctime(&));
menu:
int condition;
cout<<"pour entrer une nouvelle donnee presser 1, pour quitter presser 2"<<endl;
cin>> condition;
if ( condition==1)
{
goto entree;
}
if ( condition==2)
{
goto fin;
}
struct entree f;
entree:
int entree;
cout < < " entrez le nom" < < endl;
cin > > f.nom;
cout < < " entrez le jour" < < endl;
cin > > f.jour;
cout<<"entrez le mois"<<endl;
cin>>f.mois;
cout<<"entrez l´annee"<<endl;
cin>>f.annee;
int enregistrement;
cout < < " references: " < <"*"<<f.nom < < " / " < < f.jour < < " /"<<f.mois<<"/"<<f.annee<<" pressez 1 pour enregistrer ou sur 0 pour revenir au menu"<<endl;
cin>> enregistrement;
if ( enregistrement==1)
{
ecriture();
}
if ( enregistrement==0)
{
goto menu;
}
fin:
int fin;
cout<<"voulez vous consulter les donnees enregistrees? ( o=1/n=2)"<<endl;
cin>> fin;
if ( fin==1)
{
lecture();
}
else
{
goto quitter;
quitter:
int quitter;
cout<<"voulez vous quittez? ( o=1/n=2)"<<endl;
cin>>quitter;
if ( quitter==1)
{
return 0;
}
if ( quitter==2)
{
goto menu;
}
}
system("PAUSE");
return main();
}
puis le 2:
using namespace std;
void ecriture()
{
struct entree g=f;
ofstream fichier("données.txt",ios::app| ios::out);
if ( !fichier){
cerr<<"impossible d´ouvrir le fichier!"<<endl;
system ( "pause");
return ( -1);
}
fichier<<"*"<<f.nom<<"/"<<f.jour<<"/"<<f.mois<<"/"
<<f.annee<<endl;
fichier.close();
int caca;
cout<<"pour revenir au menu pressez 1, pour voir les donnees sauvegarder, presser 2"<<endl;
cin>> caca;
if ( caca==1)
{
goto menu;
}
else
{
goto registre;
}
void lecture()
{
struct entree h=g=f;
registre:
if ( !fichier){
cerr<<"impossible d´ouvrir le fichier!"<<endl;
system ( "pause");
return(-1);
}
ifstream fichier("données.txt");
char txt [1024];
fichier>>txt;
cout < <"donnees:"<<endl<<endl;
cout<<txt<<endl<<endl;
int i;
for(i=0;i<163;i++)
{
fichier>>txt;
cout<<txt<<endl<<endl;
}
fichier.close();
}
le probleme est que je n´arrive tjs pas a passer d´un code a l´autre
comment faire????
merci d´avance
premièrement arrète de postyer ton code ici, ça soule, mets le là : wall
ensuite, je te l´ai déjà expliquer comment faire.
tu cré un fichier . h pour ton deuxième fichier et tu appelletes fonction normallement, l´explication est au dessus dans mon précédent messages.