Stiu ca nu este chiar cel mai eficient algoritm si ar putea fi facut mult mai usor.
doresc ca textul de dupa "text aparat" sa fie alta culoare dar nu si textul de dupa cum ar fi "introduceti sirul".
#include <iostream.h>
#ifdef WIN32
#include <windows.h>
#endif
#include <string.h>
using namespace std;
char schimbare(char r[100])
{
int i=0,j;
j=strlen(r);
while (i<j)
{
if (r[i]=='a')
{
#ifdef WIN32
HANDLE hstdo;
hstdo = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hstdo, FOREGROUND_GREEN|FOREGROUND_INTENSITY);
#endif
cout<<'T';
}
if (r[i]=='b')
cout<<'U';
if (r[i]=='c')
cout<<'V';
if (r[i]=='d')
cout<<'W';
if (r[i]=='e')
cout<<'X';
if (r[i]=='f')
cout<<'Y';
if (r[i]=='g')
cout<<'Z';
if (r[i]=='h')
cout<<'1';
if (r[i]=='i')
cout<<'2';
if (r[i]=='j')
cout<<'3';
if (r[i]=='k')
cout<<'4';
if (r[i]=='l')
cout<<'5';
if (r[i]=='m')
cout<<'6';
if (r[i]=='n')
cout<<'7';
if (r[i]=='o')
cout<<'8';
if (r[i]=='p')
cout<<'9';
if (r[i]=='q')
cout<<'0';
if (r[i]=='r')
cout<<'.';
if (r[i]=='s')
cout<<'-';
if (r[i]=='t')
cout<<'A';
if (r[i]=='u')
cout<<'B';
if (r[i]=='v')
cout<<'C';
if (r[i]=='w')
cout<<'D';
if (r[i]=='x')
cout<<'E';
if (r[i]=='y')
cout<<'F';
if (r[i]=='z')
cout<<'G';
if (r[i]=='1')
cout<<'H';
if (r[i]=='2')
cout<<'I';
if (r[i]=='3')
cout<<'J';
if (r[i]=='4')
cout<<'K';
if (r[i]=='5')
cout<<'L';
if (r[i]=='6')
cout<<'M';
if (r[i]=='7')
cout<<'N';
if (r[i]=='8')
cout<<'O';
if (r[i]=='9')
cout<<'P';
if (r[i]=='0')
cout<<'Q';
if (r[i]=='.')
cout<<'R';
if (r[i]=='-')
cout<<'S';
if (r[i]==' ')
cout<<'_';
i++;
}
}
int main()
{
int i=0;
char r[100];
cout<<"Introduceti sirul: ";
cin.get(r,100);
do
{
if (strlen(r)>=11)
{
cout<<"Sirul este prea lung!"<<endl<<"Reintroduceti sirul: ";
cin.get();
cin.get(r,100);
}
else
{
cout<<"Text aparat("<<(strlen(r))<<" caractere): ";
schimbare(r);
cout<<endl;
cout<<"Introduceti sirul: ";
cin.get();
cin.get(r,100);
}
}
while(r[0]!='*');
}
Multumesc anticipat!