problema con arrays

asas
15 de Marzo del 2004
Tengo un array donde guardo una lista de nombres que he introducido, todos estos nombres son distintos, ¿ como puedo hacer para que cuando meta un nombre que sea igual a uno que ya tenga en el array me diga que el nombre ya esta en la lista???

Tambien tengo problemas porque al introducir numeros me los acepta como nombres como podria eliminar este fallo????

Soy nuevo en esto de c++ asi que agradeceria un poco de ayuda si no esmucho pedir.


GRACIAS..

noel solw
15 de Marzo del 2004
// program asas.cpp - diccionario
// written in c++ ver 3.1

#include <conio.h>
#include <iomanip.h>
#include <iostream.h>
#include <ctype.h>
#include <string.h>

const int N = 10;
const int NOT_FOUND = 999;

char *a[N] = {"sara","betty","carlos","gardel","maria",
"callas","mario","benedetti","amado","nervo"};

void Show() // muestra la lista de nombres
{
for(int i = 0;i < N;i++)
cout << setw(10) << i << setw(15) << a[i] << endl;
cout << endl;
} // SHOW

int GetIndex(char *str) // retorna el indice de un nombre que figura
{ // en la lista o avisa que no esta.
for(int i = 0;i < N;i++)
if(!strcmp(a[i],str))
return i;
return NOT_FOUND;
} // GET INDEX

int Check(char *str) // retorna 0 si hay numeros en la cadena, sino 1.
{
for(int i = 0;i < strlen(str);i++)
if(isdigit(str[i]))
return 0;
return 1;
} // CHECK

void main()
{
clrscr();
Show();
for(char in[20] = "*";strcmp(in,"exit");)
{
cout << "get string - exit for end : ";
cin >> in;
int index = GetIndex(in);
if(!strcmp(in,"exit"))
continue;
if(!Check(in))
cout << "invalid string ! ! !" << endl;
else if(index == NOT_FOUND)
cout << "string not found ! ! !" << endl;
else
cout << "string found in place " << index << endl;
}
cout << endl << "end of program, good bye ! ! !" << endl;
getch();
} // MAIN