2016-04-11 4 views
1

Je l'ai déjà résolu en ne affichant pas la dernière lettre du mot puis en localisant la dernière lettre et en la faisant clignoter puis j'ai affiché le mot inversement moins la dernière lettre bien sûr.faire clignoter la lettre du milieu

#include<string.h>  
    #include<conio.h> 
    #include<iostream.h> 
    #include<stdio.h> 

char text[255]; 
int txtposition,txtlength; 

void main() 
{ 
clrscr(); 
gets(text); 
txtlength=strlen(text); 

char lastchar=text[txtlength-1]; 
cout<<"Your text is: "; 
for(txtposition=0;txtposition<txtlength-1;txtposition++) 
{ 
cout<<text[txtposition]; 
} 
textcolor(WHITE+128); 
cprintf("%c", lastchar); 


for(txtposition=txtlength-2;txtposition>=0;txtposition--) 
{ 
    cout<<text[txtposition]; 
} 

getch(); 
} 

Merci pour votre aide!

+1

'iostream.h' n'est pas et n'a jamais été une chose en C++,' string.h' et 'stdio.h' sont obsolètes et TurboC++ est horriblement obsolète.Si vous voulez faire plus avec C++ que de passer cette classe, vous devriez investir dans du matériel d'apprentissage et obtenir un compilateur à jour. –

+0

je vois, que suggérez-vous? –

+0

[ici] (https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) sont des livres populaires en C++ (bien que je ne connaisse pas la plupart d'entre eux moi-même). Les compilateurs courants sont de nos jours gcc, clang (à la fois libre et open source) ou MSVC++ (gratuit pour un usage non commercial). –

Répondre

0

Pour faire un clin de caractères milieu, que ce soit votre borne de sortie doit être en mesure de présenter des caractères à clignoter en utilisant un code de contrôle terminal spécial tel que décrit here, ou utiliser la fonction gotoxy() d'un thread séparé, qui affiche une ' ' ou réelle caractère, en alternance pour une fréquence de clignotement spécifique.

0

La bibliothèque C++ standard ne fournit aucune fonction permettant de faire clignoter les caractères. Vous pouvez le faire de manière spécifique à la plate-forme, mais il convient de noter que les fenêtres de la console Windows ne prennent pas directement en charge le texte clignotant, comme l'a fait le mode Écran d'origine du PC IBM. Sur le PC IBM d'origine, un bit de la spécification de couleur peut être configuré pour générer une intensité élevée ou clignoter, avec le contrôle clignotant par défaut. Je l'ai toujours reconfiguré à haute intensité dans mes programmes, et dans le mécanisme correspondant pour les fenêtres de la console Windows, les bits déterminent toujours la couleur. Donc, ce serait compliqué à faire même sous Windows, sauf si vous utilisez un DOSBox qui émule l'ancien PC. Je ne sais pas quelle fonctionnalité il offre. Peut-être même qu'il clignote. Mais vous pouvez facilement marquer les lettres pertinentes d'autres façons.

Par exemple, vous pouvez utiliser

  • majuscules contre minuscules,

  • caractères soulignant placés sur la ligne suivante,

  • entre parenthèses (comme vous l'avez fait dans votre exemple ici),

  • couleurs (spécifiques à la plate-forme),

  • une police différente, l'audace, peu importe.

Je recommande la mise à jour à un compilateur moderne, si vous avez un PC moderne ordinaire. Les compilateurs sont gratuits. Vous avez également besoin de meilleurs supports d'apprentissage, par ex. void main n'est pas standard et n'est accepté que par quelques compilateurs.

+0

oui j'utilise DOSBox. –

+0

@JaneDoe: ** si ** DOSBox le supporte, alors vous devriez pouvoir utiliser la fonction 'textattr' de Turbo C++. Embarcado fournit toujours [documentation] (http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/FR/html/devwin32/textattr_xml.html). Cependant, je pense que le "bit 8" de cette documentation est faux: si je me souviens bien la spécification de couleur est un octet unique, et c'est le bit 7 qui est configurable et qui contrôle le clignotement par défaut. Donc vous ajouteriez 2^7 = 128 pour obtenir une "couleur" qui clignote. –

+0

je vois mais ma question est comment puis-je obtenir la lettre du milieu? –

0

On dirait que pour Turbo C/C++, vous pouvez utiliser la bibliothèque graphique et/ou les fonctions intégrées de conio. (https://answers.yahoo.com/question/index?qid=20080813072809AAEguz0)

Mais ce qui précède n'est pas portable car la bibliothèque graphique est spécifique à Turbo et conio est spécifique à certains compilateurs/bibliothèques basés sur DOS.

Si vous passez à l'un comme complier gcc/g ++, alors vous voudrez peut-être regarder malédictions bibliothèque: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/