problema con arrays
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..
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..
// 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
// 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
