🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #9227

probema integrer-punteros

#9227
From: quantium
Date: Wed, 14 Aug 2002 00:11
115 lines
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-mail

Show 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