En language C : probleme de return de valeur
Résolu/Fermé
A voir également:
- En language C : probleme de return de valeur
- Language binaire - Guide
- Office 2016 language pack french 64-bit ✓ - Forum Bureautique
- Anno 1404 change language ✓ - Forum Jeux vidéo
- Windows 7 language pack french download offline ✓ - Forum Windows 7
- Windows display language french - Guide
10 réponses
lirey83
Messages postés
75
Date d'inscription
mardi 2 janvier 2007
Statut
Membre
Dernière intervention
18 août 2007
13
30 mars 2007 à 17:27
30 mars 2007 à 17:27
Pour enlever les accents d'une phrase, je verrais plutôt un truc plus simple comme ça :
et ainsi de suite pour les autres accents.
Note que j'écrase la phrase originale, si tu veux la conserver, faut en faire une copie avec la fonction strcpy par exemple.
void EnleveAccent(char *phrase) { int i; for (i=0; i<strlen(phrase); i++) { if (phrase[i] == 'à') phrase[i]='a'; else if ((phrase[i] == 'é') || (phrase[i] == 'è')) phrase[i]='e'; } }
et ainsi de suite pour les autres accents.
Note que j'écrase la phrase originale, si tu veux la conserver, faut en faire une copie avec la fonction strcpy par exemple.
Je ne sais pas pourquoi ton code ne marche pas.
Mais moi quand j'ai a faire une fonction comme a tienne j'ai utiliser sa :
En esperant d'avoir aider.
Bonne année.
Mais moi quand j'ai a faire une fonction comme a tienne j'ai utiliser sa :
if(!(dia == 'à') || !(dia =='â')) { return 'a'; }
En esperant d'avoir aider.
Bonne année.
paul75
Messages postés
3
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
30 décembre 2004
30 déc. 2004 à 18:24
30 déc. 2004 à 18:24
Merci beaucoup mais j'ai essaye avec ce que tu m'a indiqué mais au lieu de remplacer les caracter cela remplace tous par 'a'.
Merci
Merci
En effet, dsl.
J'ai chercher ma fonction mais je la trouve pas.
Par contre d'après les souvenir, j'ai eut beaucoup de mal à gerer les caractères accebtués en c.
Si tu n'arrive pas à trouver je te conseil de demander de l'aide sur le forum, dans la section c, de www.develloppez.com.
C la qu'on m'avait aider.
Par contre je serais interesser de recuperer ta fonction une fois que tu la fini.
En esperant t'avoir aider.
@++
J'ai chercher ma fonction mais je la trouve pas.
Par contre d'après les souvenir, j'ai eut beaucoup de mal à gerer les caractères accebtués en c.
Si tu n'arrive pas à trouver je te conseil de demander de l'aide sur le forum, dans la section c, de www.develloppez.com.
C la qu'on m'avait aider.
Par contre je serais interesser de recuperer ta fonction une fois que tu la fini.
En esperant t'avoir aider.
@++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ou est votre probleme!! ton programme ne retourne pas la valeur donc essayer ça!!
{
if(!(dia == 'à') || !(dia =='â'));\ et ainsi de suite pour les autres valeur..ab.c.e.ect*\
return(dia);
} j espere que ça vs aide..bon chance!
{
if(!(dia == 'à') || !(dia =='â'));\ et ainsi de suite pour les autres valeur..ab.c.e.ect*\
return(dia);
} j espere que ça vs aide..bon chance!
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
8 févr. 2008 à 01:09
8 févr. 2008 à 01:09
Son problème était en décembre 2004, je doute qu'il va te lire aujourd'hui.
Bonjour,
Voila, je souhaite faire un chenillard dont le nombre de led change en fonction d'un switch
Plus bas j'ai fais un switch case avec un return et quand je debbug on me dit
qu'une void function main can not return to a value ! alors je ccomprend pas d'ou vien l'erreur, si quelqu'un peux m'aider...
/*
This example is designed for the REva board with the STM8 daughter board.
It is the simplest possible example for toggling the REva LEDs.
Use it to get to know the REva, STM8, RLink, RIDE, etc.
*/
#include <intrins.h>
#include <STM8\stm8af61xx.h>
#define myGPIO GPIOB
//definition of the port registers B
#define PX_ODR ((myGPIO)->ODR)
#define PX_IDR ((myGPIO)->IDR)
#define PX_DDR ((myGPIO)->DDR)
#define PX_CR1 ((myGPIO)->CR1)
#define PX_CR2 ((myGPIO)->CR2)
#define myGPIO2 GPIOG
//definition of the port registers G
#define PX2_ODR ((myGPIO2)->ODR)
#define PX2_IDR ((myGPIO2)->IDR)
#define PX2_DDR ((myGPIO2)->DDR)
#define PX2_CR1 ((myGPIO2)->CR1)
#define PX2_CR2 ((myGPIO2)->CR2)
//delay function, waiting for a defined period
void delay (unsigned int cnt)
{
//decrement counter until it is zero
while(cnt--)
_nop_();
}
unsigned int i=0;
unsigned char j=0;
//Chenillard avec 1 led
void chenillard_1led()
{
if(j == 0x00)
j = 0x01;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 2 leds
void chenillard_2led()
{
if(j == 0x00)
j = 0x03;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 3 leds
void chenillard_3led()
{
if(j == 0x00)
j = 0x07;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 4 leds
void chenillard_4led()
{
if(j == 0x00)
j = 0x0F;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Program entry point
void main()
{
//configure PB in output push-pull
PX_DDR = 0xFF;
PX_CR1 = 0xFF;
PX_CR2 = 0x00;
//configure PG in input pull up without interrupt
PX2_DDR = 0x00;
PX2_CR1 = 0xFF;
PX2_CR2 = 0x00;
//main loop
while(1)
{
// Affiche le nombre de led sélectionner par les switchs
i = PX2_IDR ;
i &= 0xF0;
switch (i)
{
case 0x80:
return chenillard_1led();
break;
case 0x40:
return chenillard_2led();
break;
case 0x20:
return chenillard_3led();
break;
case 0x10:
return chenillard_4led();
break;
default:
PX_ODR = 0x10;
break;
}
//wait for some time
/*the value of the parameter of this call defines the speed of the toggling*/
delay (10000);
}
}
Voila, je souhaite faire un chenillard dont le nombre de led change en fonction d'un switch
Plus bas j'ai fais un switch case avec un return et quand je debbug on me dit
qu'une void function main can not return to a value ! alors je ccomprend pas d'ou vien l'erreur, si quelqu'un peux m'aider...
/*
This example is designed for the REva board with the STM8 daughter board.
It is the simplest possible example for toggling the REva LEDs.
Use it to get to know the REva, STM8, RLink, RIDE, etc.
*/
#include <intrins.h>
#include <STM8\stm8af61xx.h>
#define myGPIO GPIOB
//definition of the port registers B
#define PX_ODR ((myGPIO)->ODR)
#define PX_IDR ((myGPIO)->IDR)
#define PX_DDR ((myGPIO)->DDR)
#define PX_CR1 ((myGPIO)->CR1)
#define PX_CR2 ((myGPIO)->CR2)
#define myGPIO2 GPIOG
//definition of the port registers G
#define PX2_ODR ((myGPIO2)->ODR)
#define PX2_IDR ((myGPIO2)->IDR)
#define PX2_DDR ((myGPIO2)->DDR)
#define PX2_CR1 ((myGPIO2)->CR1)
#define PX2_CR2 ((myGPIO2)->CR2)
//delay function, waiting for a defined period
void delay (unsigned int cnt)
{
//decrement counter until it is zero
while(cnt--)
_nop_();
}
unsigned int i=0;
unsigned char j=0;
//Chenillard avec 1 led
void chenillard_1led()
{
if(j == 0x00)
j = 0x01;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 2 leds
void chenillard_2led()
{
if(j == 0x00)
j = 0x03;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 3 leds
void chenillard_3led()
{
if(j == 0x00)
j = 0x07;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Chenillard avec 4 leds
void chenillard_4led()
{
if(j == 0x00)
j = 0x0F;
PX_ODR = ~j;
j <<= 1;
// if(j > 7)
// j = 0
}
//Program entry point
void main()
{
//configure PB in output push-pull
PX_DDR = 0xFF;
PX_CR1 = 0xFF;
PX_CR2 = 0x00;
//configure PG in input pull up without interrupt
PX2_DDR = 0x00;
PX2_CR1 = 0xFF;
PX2_CR2 = 0x00;
//main loop
while(1)
{
// Affiche le nombre de led sélectionner par les switchs
i = PX2_IDR ;
i &= 0xF0;
switch (i)
{
case 0x80:
return chenillard_1led();
break;
case 0x40:
return chenillard_2led();
break;
case 0x20:
return chenillard_3led();
break;
case 0x10:
return chenillard_4led();
break;
default:
PX_ODR = 0x10;
break;
}
//wait for some time
/*the value of the parameter of this call defines the speed of the toggling*/
delay (10000);
}
}
Bonjour
void function main can not return to a value
Tu es sûr qu'il y a un 'to' ?
Ce message est très explicite.
Qu'est ce que tu ne comprends dedans ? L'anglais ? Tu sais ce qu'est une 'void function' ? Tu sais ce que veut dire 'rendre une valeur' ? Alors l'erreur est flagrante, surtout que toi tu sais sur quelles lignes elle porte (ça aurait été sympa de nous le dire d'ailleurs).
void function main can not return to a value
Tu es sûr qu'il y a un 'to' ?
Ce message est très explicite.
Qu'est ce que tu ne comprends dedans ? L'anglais ? Tu sais ce qu'est une 'void function' ? Tu sais ce que veut dire 'rendre une valeur' ? Alors l'erreur est flagrante, surtout que toi tu sais sur quelles lignes elle porte (ça aurait été sympa de nous le dire d'ailleurs).