Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - diegofah

#1
Programación C/C++ / Problema con ñ,Ñ, y acentos.
1 Septiembre 2014, 08:10 AM
Buenas a todos, desde ya gracias de antemano, tengo problemas a la hora de imprimir las ñ, Ñ, y letras con acento, el programa tiene hacer lo siguiente:
Al introducir por teclado un texto (minúsculas y mayúsculas con espacios) a la salida debe mostrar su correspondiente en ASCII asociado a su carácter, bueno mejor les dejo un ejemplo:
Entrada         "aDñ s1á!"
Salida            a=97 (Caracter)
                     D=68 (Caracter)
                     ñ=164 (Caracter)
                   " "=32 (Espacio no imprimible)
                     s=115 (Caracter)
                     1=49 (Digito)
                     á=160(Caracter)
                     !=33 (Signo de Puntuacion)

Esa es la idea, y la verdad no se como hacer funcionar la parte de la ñ, y las letras con acento aqui lo que hice hasta ahora:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main ()
{
    char palabra[80];
    int a,i,v;
    printf("Introduzca los caracteres:\n");
    gets(palabra);
    a=strlen(palabra);
    a=a-1;
    for(i=0;i<=a;i++)
    {
        v=palabra[i];
        if((v>=65 & v<=90)||(v>=97 & v<=122))
        {
          printf(" %c = %d \t (Car%ccter)\n", palabra[i],v,160);
        }
        else
        {
            if(v>=48 & v<=57)
            {
                printf(" %c = %d \t (Digito)\n", palabra[i],v);
            }
            else
            {
               if((v==164)||(v==165)||(v==160)||(v==130)||(v==162)||(v==163)||(v==161)||(v==181)||(v==144)||(v==181)||(v==214)||(v==214)||(v==224)||(v==233))
               {
                   printf(" %c = %d \t (Car%ccter)\n", palabra[i],v,160);
               }
               else
               {
                    if((v==63)||(v==64)||(v==168)||(v==173)||(v==33)||(v==58)||(v==47)||(v==92))
                    {
                        printf(" %c = %d \t (Signo de puntuaci%cn)\n", palabra[i],v,162);
                    }
                    else
                    {
                        if((v==32))
                        {
                            printf(" %c = %d \t (Espacio no imprimible)\n", palabra[i],v);
                        }
                        else
                        {
                            printf(" %c = %d \t (Car%ccter no imprimible)\n", palabra[i],v,160);
                        }
                    }
               }

            }

        }
    }
    system ("pause");
}
#2
Buenas a todos, este es el primer mensaje que hago ya que recién estoy comenzando en esto de la programación, no se si es muy básica mi pregunta (ya que veo preguntas que no entiendo en el foro), ojala me puedan ayudar, bueno yendo al punto, tengo que hacer un código para hallar el factorial de un número del 1 al 27 y tiene que ser impar positivo sin decimales, todo bien, pero cuando quiero sacar el factorial digamos de 25 no me da el valor correcto (comprobando con la calculador de la PC), no se donde podría estar el problema? ojala me puedan ayudar, y sry si es muy de novato la pregunta, gracias de antemano a todos.

#include<stdio.h>
#include<math.h>
#include<conio.h>
//factorial de un numero dado en rago de 1 a 27
main()
{
int i,x,z;
double P;
float n,y;
printf("\t\tInserte un numero entero impar entre 1 y 27\n\n");
printf("n:");
if (fscanf(stdin,"%f",&n))
 {
 x=n;
 y=n-x;
 if(y==0)
  {
   z=fmod(x,2);
if((x>0) && (x<28))
{
 if(z==1)
      {
       P=1;
       i=1;
       while(i<=n)
        {
         P*=i;
         i++;
        }
        printf("El factorial de n=%1.0f es %1.0f",n,P);
      }
     else printf("no es un numero impar");
}
else printf("no esta dentro el rango");
  }
  else printf("No es un numero entero");
 }
else
 {
  printf("no es un numero\n");
 }
 getch ();
 return 0;
}