Fonction predefinie en C
Fermé
touf_truc
Messages postés
57
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
23 avril 2007
-
12 févr. 2007 à 16:06
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 - 14 févr. 2007 à 02:00
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 - 14 févr. 2007 à 02:00
A voir également:
- Fonction predefinie c
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
- Fonction ms dos non valide - Forum Windows 8 / 8.1
2 réponses
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
12 févr. 2007 à 16:19
12 févr. 2007 à 16:19
Bonsoir !
Pour passer d'un char à un int, tu peux faire un atoi.
Pour passer d'un int à un char, tu peux lui donner sa valeur ASCII en int et l'utiliser en char. En pratique tu lui rajoutes 30.
Exemple :
Ca va t'afficher '2' et non 32 :) Ca marche dans l'autre sens mais atoi le fait automatiquement.
Pour passer d'un char à un int, tu peux faire un atoi.
Pour passer d'un int à un char, tu peux lui donner sa valeur ASCII en int et l'utiliser en char. En pratique tu lui rajoutes 30.
Exemple :
int valeur_int=2; int valeur_char=30+valeur_int; printf("%c",valeur_char);
Ca va t'afficher '2' et non 32 :) Ca marche dans l'autre sens mais atoi le fait automatiquement.
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 780
14 févr. 2007 à 02:00
14 févr. 2007 à 02:00
D'une chaine vers un entier le plus propre c'est un sprintf, et dans l'autre sens un atoi
Bonne chance
#include <stdio.h> int main(){ char buffer[69]; int x = 2869,y; sprintf(buffer,"%d",x); printf("buffer = %s\n",buffer); y = atoi(buffer); printf("y = %d\n",y); return 0; }
Bonne chance
12 févr. 2007 à 16:39
alors voici mon exemple qu'il fonction correctement
esque je peut ecrire la fonction de façon recurcive.
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int miroir(int x)
{
char buffer1[100];
char buffer2[100];
int n,i;
sprintf(buffer1,"%d",x);
n=strlen(buffer1);
// Recopier de droite à gauche
for(i=0;i<n;++i)
buffer2[n-1-i]=buffer1[i];
return(atoi(buffer2));
}
main()
{
int x;
printf("\n Introduire un nombre : ");
scanf("%d",&x);
printf("\n %d | %d",x,miroir(x));
}
12 févr. 2007 à 16:49
Pour info, pour mettre des fonctions récursives il faut vraiment que la fonction soit simple, ou alors il faut que ça soit vraiment claire et transparent parce que sinon tu trouveras jamais les causes des éventuelles erreurs :)
12 févr. 2007 à 17:24
ecrire la fonction miroir par d'autre façon, par recurence.
13 févr. 2007 à 11:31
Tu veux qu il refasse un miroir dedans ? Comme ca ca revient dans le bon ordre et ainsi de suite ? Détaille un peu plus ^^