Ciao ragazzi,vi scrivo per un problema
Devo realizzare un programmino che date n stringhe,ad ogni stringa mi effettui il controllo per vedere se i caratteri inseriti non siano ne numeri,ne simboli strani.
e successivamente mi ordini le stringhe in ordine crescente o decrescente,in base a quello che preferisce l'utente
ora: per quanto riguarda l'ordinamento ci sono,e anche per quanto riguarda l'algoritmo per il controllo ci sono,ma non so come inserirlo in una funzione,perchè è questo che dovrei fare.
vi posto il codice così magari capite meglio cosa intendo.
codice:
#include<stdio.h>
#include<iostream>
#include<conio.h>
#include<string.h>
#define dim 5
using namespace std;
void controllo();
main()
{
char a[dim][15];
char temp[15];
int flag=1,k=dim-1,i,scelta;
cout<<"Controllo e ordinamento stringhe";
cout<<"\n--------------------------------\n\n\n";
for(i=0;i<dim;i++){
cout<<"\n- Inserisci stringa numero "<<i<<": ";
cin>>a[i];
controllo();
}
cout<<"\nPremere 1 per ordine crescente oppure 2 per ordine decrescente: ";
cin>>scelta;
switch(scelta){case 1:
while(flag==1 && k>0){
flag=0;
for(i=0;i<k;i++){
if(strcmp(a[i],a[i+1])>0){
strcpy(temp,a[i+1]);
strcpy(a[i+1],a[i]);
strcpy(a[i],temp);
flag=1;
}
}
k=k-1;
}
break;
case 2:
while(flag==1 && k>0){
flag=0;
for(i=0;i<k;i++){
if(strcmp(a[i],a[i+1])<0){
strcpy(temp,a[i+1]);
strcpy(a[i+1],a[i]);
strcpy(a[i],temp);
flag=1;
}
}
k=k-1;
}
break;
default:cout<<"\nErrore: le scelte possibili sono 1 o 2";
}
for(i=0;i<dim;i++){
cout<<a[i]<<"\n";
}
getch();
}void controllo(){
int lung=0,flag=1,i;
lung=strlen(a);
for(i=0;i<lung;i++){
a[i]=tolower(a[i]);
}
if(lung+1>15){
cout<<"\nErrore: Dimensione non consentita";
}
while((i<lung) && flag){
if(a[i]<97 && a[i]>122){
flag=0;
cout<<"\n"<<a[i]<<" Carattere non valido";
}
i++;
}
}