bonjour,
Je souhaite comparer deux chaines de caractères entrées par l'utilisateur.
L'idée est donc de comparer caractère par caractère (mais sans utiliser strcmp) ;
Voici le code ( j'utilise des fonctions) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<string.h>
#include<iostream.h>
 
 
int longueur(char ch[])
//lg d'une chaîne de car.
{
	int i=0 ;
	while (ch[i] != '\0')
	{
		i++ ;
	}
	return (i) ;	
}
 
bool compare(char ch1[], char ch2[])
//compare deux chaînes de car.
{
	if (longueur(ch1) != longueur(ch2))
		return false ;
	int i=0 ;
	while (ch1[i] == ch2[i])
		i++ ;
	if (i == longueur(ch1))
		return true ;
	else 
                return false ;
}
 
main()
{
	char ch1[50], ch2[50] ;
	cout << "Entrez une premiere chaine de caracteres :" ;
	cin >> ch1 ;
	cout << "Entrez une deuxieme chaine de caracteres :" ;
	cin >> ch2 ;
        if (compare(ch1, ch2) == true)
		cout << "les deux chaines sont egales" << endl ;
	else cout << "les deux chaines sont différentes" << endl ;
}
or le programme me sort toujours que les deux chaines sont différentes.
J'ai du mal à voir d'ou ca vient.

Merci bcp de m'aider.