begin process at 2012 05 27 14:56:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CONVERTIR MINUSCULE EN MAJUSCULE ET INVERSSEMENT SANS "STRING.H"

CONVERTIR MINUSCULE EN MAJUSCULE ET INVERSSEMENT SANS "STRING.H"


 Information sur la source

Note :
1,6 / 10 - par 5 personnes
1,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :14/02/2004 Vu :23 184

Auteur : skone007

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

#include "include.h"

// Si l'on fais un fais un programme style :

for(int i = 1; i <= 255; i++)
{
cout << char(i) << " = " << i << endl;
}
/*
min maj difference
A 65 97 32
Z 90 122 32

on remarque que les majuscules et les minuscules sont espacées de 32 donc c'est ce qui ma permis de faire cette fonction.
*/

Source

  • char MAJUSCULE(char min) // minuscule --> MAJUSCULE
  • {
  • char maj;
  • (char)maj = (char)min;
  • if((int)min <= 90 && (int)min >= 65) // majuscule
  • {
  • return (char)maj;
  • }
  • else
  • {
  • if((int)min <= 122 && (int)min >= 97) // minuscule
  • {
  • return (char)((int)maj - 32);
  • }
  • else
  • {
  • return min; // ce n'est pas une lettre
  • }
  • }
  • }
  • char minuscule(char maj) // MAJUSCULE --> minuscule
  • {
  • char min;
  • (char)min = (char)maj;
  • if((int)maj <= 90 && (int)maj >= 65) // majuscule
  • {
  • return (char)((int)min + 32);
  • }
  • else
  • {
  • if((int)maj <= 122 && (int)maj >= 97) // minuscule
  • {
  • return (char)min;
  • }
  • else
  • {
  • return maj; // ce n'est pas une lettre
  • }
  • }
  • }
char MAJUSCULE(char min) // minuscule --> MAJUSCULE
{
	char maj;
	(char)maj = (char)min;
 	if((int)min <= 90 && (int)min >= 65) // majuscule
	{
		return (char)maj;
	}
	else
	{
		if((int)min <= 122 && (int)min >= 97) // minuscule
		{
			return (char)((int)maj - 32);
		}
		else
		{
			return min; // ce n'est pas une lettre
		}
	}
}

char minuscule(char maj) // MAJUSCULE --> minuscule
{
	char min;
	(char)min = (char)maj;
 	if((int)maj <= 90 && (int)maj >= 65) // majuscule
	{
		return (char)((int)min + 32);
	}
	else
	{
		if((int)maj <= 122 && (int)maj >= 97) // minuscule
		{
			return (char)min;
		}
		else
		{
			return maj; // ce n'est pas une lettre
		}
	}
}

 Conclusion

//- - - - - - - - - -
/*eXemple*/

cout << MAJUSCULE("a"); // --> resultat "A"
cout << muniscule("A"); // --> resultat "a"
cout << MAJUSCULE("A"); // --> resultat "A"
cout << miniscule("a"); // --> resultat "a"
cout << MAJUSCULE("!"); // --> resultat "!"
cout << minuscule("!"); // --> resultat "!"

/*Enfin pour resumer C relativement basic*/


 Sources du même auteur

Source avec Zip Source avec une capture RÉSOLUTION NUMERIQUE
Source avec Zip Source avec une capture MOTEUR PHYSIQUE : SOFT BODY (CORPS DEFORMABLE, MASSE-RESSORT...
Source avec Zip Source avec une capture DECALER L'ENCODAGE D'UN BMP
Source avec Zip ALGORITHME DU JEU DE DAME + AI
Source avec Zip MORPION + AI (EXPERT)

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de garslouche le 14/02/2004 20:13:51

Ta source ne tient pas compte des caractères accentués et des cédilles ni de æ et o. De plus elle ne permet pas de passer toutes une chaine de caractères en maujuscules ou en minuscule
-&gt; interet très très limité !

Commentaire de Gerald le 15/02/2004 13:51:21

#define tolower(caractere) caractere|=(1&lt;&lt;5)
:p

Commentaire de skone007 le 15/02/2004 20:43:18

garslouche --&gt; Même string ne gère pas ca mais C fesable ce que tu demande Mais C trop long a gerer les IF et tt ca

Gerald --&gt; Je veux bien mais je comprend pas ton truk

Commentaire de garslouche le 16/02/2004 00:01:40

C'est pas parceque string ne la gère pas de base que c'est difficile à faire! Et string est loin d'être une classe complète....

Quoiqu'il en soit, un code comme celui-ci devrait faire l'affaire

string minuscule(string szTexte)
{
string szMin = "abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ";
string szMaj = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ";

string szRes = "";

for (int i=0; i&lt;szTexte.length(); i++)
{
int nPos = szMaj.find(szTexte.at(i));
if (nPos != -1)
szRes.append(szMin.substr(nPos,1));
else
szRes.append(szTexte.substr(i,1));
}

return szRes;
}

Commentaire de Gerald le 16/02/2004 13:52:43

lol non c juste que si tu regarde le code ASCII pour passer de maj. en min. il faut placer un 1 au bit 5:
b7 b6 b5 b4 b3 b2 b1 b0
  0   1  0   0   0   0  0   1     A(65)
  0   1  1   0   0   0  0   1     a(97)
d'où le 1&lt;&lt;5, qui, ajouté à une majuscule ASCII passe en minuscule.
Bon, il faut faire le test soit meme sinon, on obtient des résultats non-voulus

Commentaire de LordBob le 16/02/2004 14:29:12

c'est plutot simple, on aurait pu se dispenser de la mettre sur le réseau !!!

Commentaire de skone007 le 16/02/2004 21:35:47

garslouche --&gt; C une solution j'y avais pas pense merci
Gerald --&gt; j'ai compris C aussi une solution
LordBob --&gt; C une autre solution que t'aurai pu te garder car je vois pas l'interet de ton intervention. T'aurais aussi pu te dispencer de la mettre sur le reseau ca serais bien. SI C pour parler pour rien dire C pas la peine. OK !!! &gt;:-|
bon les enfants je V vous laisser et retourner a mon code.
Je boss sur un jeu en 3D d'aventure C un "LBA 3" pour ce qui connais bon @+

PS : J'ai pas les LarveBob

Commentaire de alixim le 17/10/2006 11:45:01

je vois que ce code est compliqué pour moi ,il n'y a pas d'autre moyen de convertir les majuscules et les minuscule

Commentaire de skone007 le 18/10/2006 12:51:21

Si c'est pour ce moquer de moi c'est pas grave je m'en souvenais même plus que j'avais codé ca mais c'est pas grave et si il existe des fonctions pour ca !!!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales