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)
| | |-+  Problema con programa en lenguaje C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con programa en lenguaje C  (Leído 1,983 veces)
RojoVGA

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con programa en lenguaje C
« en: 6 Marzo 2017, 00:49 am »

Código
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5.  
  6. //programa de vectores donde muestra el elemento mayor
  7.  
  8.  
  9.  
  10.  
  11. int main(){
  12.  
  13. int a,b,i,aux;
  14. int vector[50];
  15.  
  16. printf("Ingrese la opcion deseada\n 1.- Generar vector\n 2.- Salir\n Opcion: ");
  17.  
  18. scanf("%5000['32'-'255'%[A-Z%[a-z%[^1-2]]]]d",&a);
  19.  
  20. if(a=='2'){
  21.  
  22. printf("Hasta luego");
  23.  
  24. }else if(a=='1'){
  25.  
  26. printf("Ingrese el tamaño del vector: \n");
  27.  
  28. scanf("%5000['32'-'255'%[A-Z%[a-z%[^0-9]]]]d",&b);
  29.  
  30. for(i=0;i<b;i++){
  31.  
  32. do{
  33.  
  34. printf("Ingrese el elemento del %d elemento: \n",i+1);
  35.  
  36. scanf("%d",&vector[i]);
  37.  
  38. if(aux<vector[i]){
  39.  
  40.  
  41. aux=vector[i];
  42.  
  43. }
  44.  
  45. }while(aux<aux);
  46.  
  47. }
  48.  
  49.  
  50. printf("el elemento de mayor valor es: %d",aux);
  51.  
  52.  
  53. }else{
  54.  
  55. printf("el valor ingresado es invalido");
  56.  
  57. }
  58.  
  59. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 6 Marzo 2017, 01:31 am por engel lex » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Problema con programa en lenguaje C
« Respuesta #1 en: 6 Marzo 2017, 09:53 am »

A ver, ¿qué intentaste decir con ese argumento del scanf?


En línea

RojoVGA

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema con programa en lenguaje C
« Respuesta #2 en: 6 Marzo 2017, 13:37 pm »

Es una simple validación, donde le digo que ingrese solo el numero 1 o 2, aparte le digo que no acepte otro valor como lo son de la a-z y tampoco que la acepte en mayúscula A-Z, y por ultimo que no me agarre símbolos, por ello le pongo el código ascii desde el 32 (que es el espacio) hasta el ultimo símbolo que es 255, y lo de los 5000 es los caracteres q me agarrara, ya que cuando escribía 1s, me agarraba la opción 1 cosa q no debería pasar. (obviamente se ve que ando aprendiendo pero ya he hecho casi de todo, tengo otras formas de validarlo pero no me agarran tampoco :S).
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Problema con programa en lenguaje C
« Respuesta #3 en: 6 Marzo 2017, 14:04 pm »

Ok. La construcción está mal hecha. Intentas anidar expresiones y eso no está permitido,  hasta donde yo sé.

Después intentas hacer que scanf recoja y guarde un dato numérico cuando tratas con una cadena. El argumento [ indica a scanf que el dato va a ser una cadena. Esa d al final solo indica a scanf que en el buffer va a haber una d al final de todo que debe ser ignorada.

Usa otra técnica.

Por ejemplo recoge una cadena de X caracteres y después mira si tiene más de 1 caracter, si es así da un mensaje de error.
Después miras si ese carácter es un dígito, da un mensaje de error.
Al final tendrás el caracter para comparar con el if. O lo conviertes a un número y podrás usar un switch para facilitar futuras ampliaciones del menú.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con lenguaje de un programa
Ingeniería Inversa
sborin 2 2,306 Último mensaje 17 Abril 2006, 22:00 pm
por Revolutions
porque no me coplia el programa lenguaje #C
Programación C/C++
carlosbds4 4 2,455 Último mensaje 2 Diciembre 2012, 17:15 pm
por rir3760
ayuda: programa en lenguaje c « 1 2 »
Programación C/C++
Dayleap 12 5,793 Último mensaje 22 Abril 2016, 00:04 am
por MAFUS
Ayuda: programa en lenguaje C
Programación C/C++
Dayleap 4 3,201 Último mensaje 29 Abril 2016, 09:53 am
por Dayleap
programa en lenguaje c de facturacion.
Programación C/C++
jorge.helu 0 3,043 Último mensaje 15 Marzo 2018, 22:46 pm
por jorge.helu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines