" si le premier caractere est un entier et le suivant un point ; lis un float sinon lis un entier
sinon lit un char . "
Tu fais un algo :
si(tab[0] == entier)
{
si(tab[2] == ´.´)
. ...
}
decidement j´ai pas les yeux en face des trou:
calcul " * + 2.5 0.5 5"
decidement j´ai pas les yeux en face des trou
calcul " * + 2.5 0.5 5"
justement je voudrais éviter de faire la lecture des nombres caractere par caractere
mais si il n´y a pas de fonction qui existe deja je vais faire un truc comme ca...
Y´a tjs des fontions qui existent déja. Suffit de chercher.
En gros, tu voudrais faire un parseur de chaine mathématique.
Ce n´est pas évident a programmer, mais c´est intéressant a faire : j´avais fait ça dans un TP de licence.
Il doit cependant exister des libs qui font ça ![]()
slt tout le monde,
cela fait deja presque 4 mois que je suis les tutos de jyy ( et d´autres . ..) et bien qu´ayant deja réaliser plusieurs mini ( mini, mini) programmes sans graphismes, je n´arrive pas à comprendre la véritable utilité des pointeurs.
si quelqu´un pouvait me l´expliquer ce serait sympa car je déteste ne pas comprendre quelque chose
merci d´avance
=>l´utilité des pointeurs...
Vaste question.
je pense que ça sert surtout a bien gerer l´espace memoire d´un programme.
a ne pas reserver en memoire un tableau de 1000 elements si tu n´en utilises que 7.
ça sert aussi dans l´utilisation des files, piles et liste chainées ( bien pratique pour certaine choses) et sans doute plein d´autre truc dont je ne soupçonne meme pas l´existence...
a moi de poser une question:
je me suis mis a ecrire un prog qui reconnait un operateur(+, -, *, / , racine, et carre) ou une operande ( un entier ou un float).
j´ai fais une fct comme ceci:
----------
int est_chiffre(char c)
{
switch ( c)
{
case ´1´: return 1;
break;
case ´2´: return 2;
break;
case ´3´: return 3;
break;
case ´4´: return 4;
break;
case ´5´: return 5;
break;
case ´6´: return 6;
break;
case ´7´: return 7;
break;
case ´8´: return 8;
break;
case ´9´: return 9;
break;
case ´0´: return 0;
break;
case ´.´: return -1;
break;
default : return -2;
break;
}
}
-------------
qui test si un caractere est susceptible d´etre dans un entier ou float ( seul le -2 signifie une erreur)
je voudrait savoir si il n´existe pas une fct du genre
bool IsInt(char c) .
sinon la miene marche mais vu que c´est pour un truc noté j´aimerai faciliter la lisibilité du code..
merci
bon j´ai ecrit une fct qui reconait un entier ou un float au début d´une chaine de char.
mais j´ai un pb avec atof(char *c)
ma chaine est " 055151.0541"
et si je fait
x=atof(chaine);
printf("%d",x);
il m´affiche 55151.0540998
je supose que je n´y peux rien.mais tout de meme ça fait un peu bidon si je doit utiliser des nb comme ça dans une calculatrice.
je me vois mal dire au prof:
" voila le fruit de mon dure labeur : une super calculatrice meme pas capable de lire corectement les nb qu´on lui donne..."
guyver2 > tu as int atoi(char*);
qui te renvoie le nombre demandé.
si tu veux savoir si un char est un chiffre ou non, il te suffit de dire :
if ( c>=´0´ && c<=´9´)
/ / c´est un chiffre
else
/ / ce n´est pas un chiffre.
extasy89 >
Les pointeurs servent a plein de choses :
ils sont ce que le lien internet est a une page.
tu fabriques un site : tu y mets des pages : la page a, la page b, la page c....
le pointeur est le lien.
Ainsi, un lien vers la page a est un pointeur sur a...
Bref.
ça sert aussi d´allocation dynamique, et plein d´autres choses que je développerai dans mon chapitre sur les pointeurs.
Tu verras que dans SDL, les fonctions retournent des pointeurs SDL_Surface*
( SDL_Surface représente une image...)
Prenons le cas d´une fonction qui charge une image en mémoire, prenons 2 cas :
La façon que tu penses inuitive :
SDL_Surface SDL_LoadBMP("image.bmp");
--> cette fonction charge l´image, dans une zone de mémoire qu´elle a en variable locale, puis te retourne une SDL_Surface, c´est a dire qu´elle te recopie toute l´image quand tu l´appelles :
c´est hyper lourd...
Et cette fonction n´est pas utilisée comme ça, mais avec une pointeur :
SDL_Surface* SDL_LoadBMP("image.bmp");
--> cette fonction, qui existe cette fois ci, réserve en mémoire une zone, quelque part, on se fout absolument d´ou : la ou il y a de la place.
elle charge son image ici.
Elle renvoie un pointeur ( un lien ! ) vers cet endroit mystérieux ou elle a mis son image
Un peu comme si moi, je crée une page internet. Toi tu as envie de la voir :
Méthode 1 : je t´envoie mon site par mail ( tous les fichiers HTML, les images, etc... Prend ton mail de 200 Mo)
Méthode 2 : je la crée qq part sur Internet, peu importe ! La ou il y a de la place...
Et je t´envoie juste le lien sur ton mail...
La meme chose ! !! ![]()
JeanYvesYves Posté le 15 avril 2005 à 00:42:33
guyver2 > tu as int atoi(char*);
qui te renvoie le nombre demandé.
je conais cette fonction mais moi c´est un float que je veu lire et pas un entier.
mon pb c´est que atof(char *c) me sort un nb a peu pres egal a celui dont je lui passe la chaine
( a +ou- 0.0001)
ça fait pas une grosse erreur mais ce n´est tout de meme pas le bon nombre.
chouette merci beaucoup dnob700 ! !! ![]()
ça a bien marché !
le bouton d´agrandissement est grisé , le redimensonnement impossible .
guyver : le problème est que le type float ou double n´est pas parfait ( essaye avec des double si tu utilisais des float).
Sinon tu peut réécrire atof, ou dl ma lib ( http://perso.wanadoo.fr/sectionpc/lib ) où je l´ai fait. je ne sais pas si c´est vraiment mieux, mais bon bidouille tu devrait y arriver ( enfin commence par utiliser des double si tu ne le fait pas déjà).
question API windows :
regarde cette image : http://us.f2.yahoofs.com/bc/425ffb7d_4d6/bc/APIWin00.PNG?bfRKAYCBYVDEP5eF
et dis moi pourquoi les couleurs sont différantes .
la couleur par défaut de windows n´est pas la même . ..
Les boites de dialogues prenent la couleur de ton theme de Windows, mais la zone client d´une fenetre SDI ou MDI reste blanche.
bon l´image n´est plus visible, mais je ne suis pas sur de ce que dit ruffi,
la couleur de la zone client d´une fenêtre peut-être définie comme pratiquement toutes les couleurs du bureau.
comment ça , l´image n´est plus visible ?
j´en sais rien, je clique sur ton lien et rien ne s´affiche sauf une page de dns error
Hum.... j´ai revérifié là normalement c´est bon . ..
sinon bah donne moi ton adresse e-mail pour que je t´envoi des image parce que tu va m´être utile , tu sais pleins de choses et y´a pas que le texte pour communiquer ( je me sert beaucoup d´images , de screenshots...)
c´est bon !
finalement sur yahoo ça marche pas ( c´est nul quoi)
et le serveur filespace à rouvert ( le problème d´hier est désolu , disent-ils) bref l´image de ma petite question :
http://www.filespace.org/Dorian/APIWin00.PNG
et puis là où j´en suis en gros :
http://www.filespace.org/Dorian/APIWin01.PNG