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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Agregar un punto al final de una cadena.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Agregar un punto al final de una cadena.  (Leído 1,722 veces)
xequielcasaretto

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Agregar un punto al final de una cadena.
« en: 16 Mayo 2016, 22:20 pm »

Buenas gente! este será mi primer post(pero no el último) les pido una mano con este ejercicio.
Me piden que luego de ingresar una cadena (puede tener mezcladas minusculas y mayusculas y mas de un espacio entre palabra y palabra) le haga los arreglos necesarios para:
-La primer palabra de la cadena debe estar en mayuscula.
-La primer palabra luego de un punto debe estar en mayuscula.
-La cadena debe finalizar con un punto (si ya lo tiene no hace falta que lo ponga)

He aquí mi "programa" que cumple todo menos con lo de agregar el punto al final (tengo que admitir que lo que hice fue bastaaaante cabeza de tacho y lo forcé, pero no es la idea:
JELPMEEE!!
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define p printf
#define s scanf
void oracion(char*, char*);


int main()
{
    int N;
    char *t1, *t2;

    p("Ingrese la cantidad de caracteres de la oracion: ");
    s("%d",&N);

    t1=(char*) malloc((N+1)*sizeof(char));
    t2=(char*) malloc((N+2)*sizeof(char));
    if(t1==NULL || t2==NULL)
        {
            p("\n No hay suficiente memoria");
            getch();
            exit(1);
        }
    p("\n Ingrese la oracion: ");
    fflush(stdin);
    gets(t1);

    oracion(t1,t2);

    p("\n La oracion ingresada con los arreglos es: %s. ",t2);

    free(t1);
    free(t2);
    getch();



}

void oracion (char *a, char *b)
{
    int i=0;

    while(*a)
    {
        while(*a==' ') a++;

            while((*a) && *a!=' ' && *a!='.')
            {
                if(i==0)
                {
                    if(*a>='a' && *a<='z') *b=*a-32;
                    else *b=*a;

                }
                else
                {
                    if(*a>='A' && *a<='Z') *b=*a+32;
                    else *b=*a;
                }
                a++;
                b++;
            }
        if(*a==' ')
        {
            i=1;
            *b=*a;
            a++;
            b++;

        }
        else
        {
            i=0;
            *b=*a;
            b++;
            *b=' ';
            a++;
            b++;

        }
    }
    *a=*b;
    b--;
    *b='.';
    }


Gracias!!  ;D




En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Agregar un punto al final de una cadena.
« Respuesta #1 en: 16 Mayo 2016, 22:28 pm »

En el peor de los casos, cuando acabes con lo que tienes hecho, ve al final de la cadena, retrocede hasta encontrar una letra, y coloca el punto.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
quitar lestras de una cadena a partir de un punto
Programación Visual Basic
leliCabello 6 2,669 Último mensaje 6 Noviembre 2010, 20:54 pm
por Dessa
Punto y final a los problemas de conexión con Blackberry
Noticias
wolfbcn 0 1,770 Último mensaje 13 Octubre 2011, 20:56 pm
por wolfbcn
basura al final de cadena
Programación C/C++
Kaxperday 4 1,986 Último mensaje 30 Octubre 2015, 21:34 pm
por Kaxperday
Encontrar una cadena en el final de otra en python
Scripting
Schaiden 2 2,544 Último mensaje 10 Febrero 2017, 00:30 am
por Sk9ITk5Z
[HTML,CSS,JS] recortar palabras y agregar tres puntos (...) al final
Desarrollo Web
.:Xx4NG3LxX:. 2 3,490 Último mensaje 27 Agosto 2020, 05:20 am
por .:Xx4NG3LxX:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines