Probleme avec la chaine de caractères

Résolu/Fermé
makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 - Modifié par Chris 94 le 28/10/2013 à 16:03
makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 - 28 oct. 2013 à 17:44
bonjours ,
donc voila j'ai un problème avec ma chaine de caractère , si je met un espace (par exp : bonjours commentsamarche ) l'algo mai si je ne le fait pas (par exp : salut) sa marche impec , autrement dit si je met un seul mot sa marche si nn sa marche xD


Help please ^^

#include <stdio.h>
int main()
{
char car ;
char t[80];
int i,n;

printf("enter message: ");
scanf("%s", t);

printf("nombre de decalage (1-25): ");
scanf("%d",&n);
for(i=0;i<=80;i++)
{
car=t[i];
if( (car>=65) && (car <= 90) )
{
car=car+n;
{
if(car>90)
car=car-25;
}
}
if( (car>=97) && (car <= 122) )
{
car=car+n;
{
if(car>122)
car=car-25;
}
}
t[i]=car;
}
printf("%s", t);
return 0;
}
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
28 oct. 2013 à 16:21
Bonjour,

scanf("%s",...) ne récupère qu'un mot. Autrement dit, il s'arrête au premier espace).
Essaie : scanf("%79[^\n]",t);
Ca devrait être mieux.

Cdlt,
3
makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 8
28 oct. 2013 à 17:44
sa marche impec merci beaucoup ^^
0