Salve, ho un programma con il quale l'utente inserirà 3 lettere (a,b,c) e verranno messe in ordine alfabetico. Ho inserito il convertitore da maiuscole a minuscole, così da portarle allo stesso "piano". Ed ho impedito l'inserimento di "caratteri speciali".
Ora mi chiedo, c'è un modo per semplificare il tutto? Per richiedere meno memoria al computer, insomma, se si puo' fare meglio, anche rendendo possibile l'inserimento di una sequenza ben piu lunga di lettere, senza utilizzare mille variabili... ed un bel while semplice semplice
Ecco il codice per intero:
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <time.h>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <math.h>
using namespace std;
char a,b,c;
char continua[2];
int main ()
{
cout<<"Inserisci 3 lettere, distinguile con un'accapo, io te le metterò in ordine alfabetico\n";
do{
cin>>a;cin>>b;cin>>c;
if(((a>=65)&&(a<=90)||(a>=97)&&(a<=122))&&((b>=65)&&(b<=90)||(b>=97)&&(b<=122))&&((c>=65)&&(c<=90)||(c>=97)&&(c<=122)))
{
if((a>=65)&&(a<=90))
a+=32;
if((b>=65)&&(b<=90))
b+=32;
if((c>=65)&&(c<=90))
c+=32;
if((a<b)&&(a<c)&&(b<c))
cout<<a<<b<<c<<endl;
else if((a>b)&&(a>c)&&(b>c))
cout<<c<<b<<a<<endl;
else if((a>b)&&(a>c)&&(b>c))
cout<<b<<c<<a<<endl;
else if((a<b)&&(a>c))
cout<<c<<a<<b<<endl;
else if((a>b)&&(a<c))
cout<<b<<a<<c<<endl;
else
cout<<a<<c<<b<<endl;
}
else
cout<<"Solo lettere, non caratteri speciali!\n";
cout<<"Vuoi ripetere?(y/n)\n";
cin>>continua;
cin.clear();
}while(strcmp (continua,"y")==0);
return 1;
system("pause");
return 0;
}