Article View: es.comp.os.linux.programacion
Article #9227probema integrer-punteros
From: quantium
Date: Wed, 14 Aug 2002 00:11
Date: Wed, 14 Aug 2002 00:11
115 lines
3487 bytes
3487 bytes
Hola.
Tengo un peque�o problema, os cuento, estoy practicando con arrays
bidimensionales, y se me ocurrio hacer un programa el cual dijese el
valor ascii, hexadecimal y octal de una letra del abecedario insertando
la posicion de la letra, osea si ejecutaba: /programa -d 1 , me decia
todos esos datos sobre la letra 'a'.
Hasta aqui todo correcto, pero tambien se me ocurrio hacer insertar la
letra y decir estas mismas caracteristicas, pero el problema me viene
para saber si esa letra existe dentro del array bidimensional, porque
comparo un valor integrer con un punto. (especificamente el argv[2]) .
Seguidamente pongo el codigo del programa para ver si encontrais alguna
soluccion
/* ----------- CODIGO ------------*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
int valor, i;
char abecedario[25][2]={
1,'a',
2,'b',
3,'c',
4,'d',
5,'f',
6,'g',
7,'h',
8,'i',
9,'j',
10,'k',
11,'l',
12,'m',
13,'n',
14,'o',
15,'p',
16,'q',
17,'r',
18,'s',
19,'t',
20,'u',
21,'v',
22,'w',
23,'x',
24,'y',
25,'z' };
/* si no existen tres argumentos o si el argumento 1 no es -l � -d
imprimimos error */
if(argc!=3 || (strcmp(argv[1],"-l")!=0 &&strcmp(argv[1],"-d"))!=0)
{
error();
}
else
{
/*insertar una letra (opcion -l) pasa saber sus caracteristicas*/
if(strcmp(argv[1],"-l")==0) {
for(i=0; i<26; i++) {
/* intentamos buscar si la letra esta dentro del array*/
if(argv[2]==abecedario[i-1][1]) { /* ----- EL ERROR ----- */
printf("encontrado");
}
}
}
/* insertar un numero para la letra del abecedario que ocupa su lugar y
saber las caracteristicas , esta es la opcion -d , esta opcion anda bien*/
else if(strcmp(argv[1],"-d")==0) {
valor=atoi(argv[2]);
printf("\nEl puesto %i corresponde a las letras: '%c'\n",valor,
abecedario[valor-1][1]);
printf("El valor ascii '%c': %i\n",abecedario[valor-1][1],
abecedario[valor-1][1]);
printf("El valor Octal '%c': %o\n",abecedario[valor-1][1],
abecedario[valor-1][1]);
printf("El valor Hexadecimal %c': %x\n",abecedario[valor-1][1],
abecedario[valor-1][1]);
}
}
}
/* funcion del error */
error()
{
puts("\nuso: ./programa opcion (letra|digito[1-25])");
puts("\nopcion: -l indica su posicion en el abecedario y su valor ascii");
puts("opcion: -d indica la letra correspondiente en el abecedario y su
valor ascii");
puts("\nEjemplos:\n");
puts("./programa -l h");
puts("./programa -d 21\n");
}
Technical Details
Message-ID:
<3D59A018.8080202@lycos.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!62.174.160.45!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,38837823d2f3d931,start X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-08-13 17:11:01 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!62.174.160.45!not-for-mail From: quantium <quantium@lycos.es> Newsgroups: es.comp.os.linux.programacion Subject: probema integrer-punteros Date: Wed, 14 Aug 2002 02:11:04 +0200 Lines: 116 Message-ID: <3D59A018.8080202@lycos.es> NNTP-Posting-Host: 62.174.160.45 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1029283860 44222560 62.174.160.45 (16 [129971]) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc3) Gecko/20020523 X-Accept-Language: en-us, en