elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito hacer un programa en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito hacer un programa en C  (Leído 3,330 veces)
Byron15

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Necesito hacer un programa en C
« en: 17 Febrero 2022, 21:10 pm »

El programa me tiene que decir por ejemplo si yo introduzco la letra "A" o "a" que me diga 1 si introduzco la Z que me diga 27, o sea que me diga la posicion de la letra en el alfabeto


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Necesito hacer un programa en C
« Respuesta #1 en: 17 Febrero 2022, 21:19 pm »

¿Y que hiciste hasta ahora? Aca no se hacen tareas, se resuelven dudas puntuales.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Byron15

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Necesito hacer un programa en C
« Respuesta #2 en: 17 Febrero 2022, 21:27 pm »

Código
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. signed int busqueda(char caracter);
  4. int main()
  5. {
  6.    char cadena[200];
  7.    printf("Cadena : ");
  8.    scanf("%199[^\n]", cadena);
  9.    for(signed int i = 0; cadena[i] != '\0'; i++)
  10.    printf("%c = %d\n", cadena[i], busqueda(cadena[i]));
  11.    return 0;
  12. }
  13. signed int busqueda(char caracter)
  14. {
  15.    char abecedario[] = "abcdefghijklmnopqrstuvwxyz";
  16.    for(signed int i = 0; abecedario[i] != '\0'; i++)
  17.    if(tolower(caracter) == abecedario[i])
  18.    return i+1;
  19. }

Tengo esto, pero al intentar ejecutarlo me da un error.

MOD: Etiquetas de Código GeSHi
« Última modificación: 17 Febrero 2022, 22:08 pm por K-YreX » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Necesito hacer un programa en C
« Respuesta #3 en: 17 Febrero 2022, 22:22 pm »

Estaría bien si te da un error, que pusieras el error para facilitar el trabajo a quienes intentan ayudar...

Seguramente el error diga algo así como que la función 'busqueda()' no devuelve ningún valor y es porque qué pasa si metes un número? La función busqueda() recorre todas las letras, no encuentra el número y qué? Qué devuelve? Ahora mismo: NADA.

Por estandarizar se suele hacer que cuando no se encuentra un índice, se devuelva un -1:
Código
  1. int findAlphabeticIndex(char character) {
  2.  int index = -1;
  3.  char alphabet[] = "abcd...";
  4.  char lower_character = tolower(character);
  5.  for(int i = 0; i < strlen(alphabet) && index == -1; ++i)
  6.    if(lower_character == alphabet[i]) index = i + 1;
  7.  return index;
  8. }

O sino... MAGIC!!  :o :o
Código
  1. int findAlphabeticIndex(char character) {
  2.  char lower_character = (character >= 'A' && character <= 'Z') ? character + ('a' - 'A') : character;
  3.  return (lower_character >= 'a' && lower_character <= 'z') ? lower_character - 'a' + 1 : -1;
  4. }

PD: Yo cambiaría la línea 8 de tu programa por:
Código
  1. fgets(cadena, 200, stdin);
« Última modificación: 17 Febrero 2022, 22:27 pm por K-YreX » En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: Necesito hacer un programa en C
« Respuesta #4 en: 17 Febrero 2022, 22:29 pm »

Mirando la tabla ASCII.



Mi idea.

Código
  1. int Busqueda(char Caracter)
  2. {
  3.    if ((int)Caracter >= 97 )
  4.    {
  5.        return ((int)Caracter) - 96;
  6.    }else{
  7.        return ((int)Caracter) - 64;
  8.    }
  9. }
En línea

Un byte a la izquierda.
dario01dr

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Necesito hacer un programa en C
« Respuesta #5 en: 19 Febrero 2022, 15:04 pm »

Hola, te dejo una idea de como hacerlo
Salu2.

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4.  
  5. int main() {
  6.    char alfabeto[26] = {'a','b','c','d','e','f',
  7.        'g','h','i','j','k','l','m','n','o','p','q',
  8.        'r','s','t','u','v','w','x','y','z'
  9.    };
  10.    char letra;
  11.    int i;
  12.  
  13.    printf("Ingrese una letra del alfabeto: ");
  14.    scanf("%c",&letra);
  15.    letra = tolower(letra);
  16.  
  17.    for (i=0; i<strlen(alfabeto); i++) {
  18.        if (letra == alfabeto[i])
  19.            printf("%d",i+1);
  20.    }
  21.  
  22.    return 0;
  23. }
  24.  
  25.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Necesito un programa para hacer instalación...
Software
EuroHack 7 3,415 Último mensaje 18 Mayo 2011, 21:39 pm
por EuroHack
necesito hacer un programa en consola
Programación General
NegoMan 0 2,438 Último mensaje 11 Julio 2012, 19:39 pm
por NegoMan
hacer un programa en c++necesito ayuda
Programación C/C++
aneudys 1 1,985 Último mensaje 1 Octubre 2012, 16:12 pm
por 0xDani
necesito una gran ayuda en hacer un programa es urgente
Programación General
JrFx 2 2,402 Último mensaje 11 Octubre 2013, 20:09 pm
por 1mpuls0
Necesito ayuda para hacer un programa de c++
Programación C/C++
MaximoMeridio28 2 2,433 Último mensaje 6 Marzo 2019, 23:39 pm
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines