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

 

 


Tema destacado: Tutorial básico de Quickjs


+  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,577 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,504 Ú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,675 Último mensaje 13 Octubre 2011, 20:56 pm
por wolfbcn
basura al final de cadena
Programación C/C++
Kaxperday 4 1,780 Último mensaje 30 Octubre 2015, 21:34 pm
por Kaxperday
Encontrar una cadena en el final de otra en python
Scripting
Schaiden 2 2,358 Ú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 2,905 Último mensaje 27 Agosto 2020, 05:20 am
por .:Xx4NG3LxX:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines