Ir ao conteúdo
  • Cadastre-se

( RESOLVIDO ) Problemas ( Manipulação de Strings )...


Maxstockler

Posts recomendados

  • Membro VIP

N sei se entendi bem o q você quer, mas crie um vetor char com N posiçoes e use gets para obte-lo.

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

int main(int argv,char* args[])

{

char vet[30];

printf("Digite seu nome\n");

gets(vet);

printf("\nSeu nome é:[%s]",vet);

getche();

}

Aproveite e use da sitnaxe do strcpy para copiar o conteudo de um vetor int ou char para outro e poder assim manipular sem usar while ou for...

Link para o comentário
Compartilhar em outros sites

Olá Plateu...

O que eu gostaria que o programa fizesse, é imprimir o nome de um usuario qualquer em sistema bibliotecário...

Assim que o usuario digitar seu nome inteiro, o programa retorna o nome do usuario em sistema bibliotecário.

Por exemplo.: O usuario digita seu nome.: ( Augusto Jose Silva ), o programa deve retornar o nome digitado da seguinte forma.: ( A. J. Silva ).

Caso possa me ajudar ficarei muito grato.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Só uma obs. eu acho que o sistema de referência de bibliotecas é assim:

Nome: Ricardo Crudo de Almeida

Sist. de Bibliotecas: Almeida, R. C.

Eu fiz o código abaixo de acordo com essa formatação, se você quiser formatar do jeito que você falou antes, basta mudar algumas linhas.

é só testar que o Código está completo! ok?!

#include <stdio.h>
#include <string.h>

char nome[50];
char novoNome[50];

void montarString(int, int, char);

void main()
{

int i, tam_nome, a = 0;
int pos[10];

printf("Digite o nome: ");
gets(nome);
tam_nome = strlen(nome);

pos[0] = 0;
a++;

for(i=0; i<tam_nome; i++)
{
if(nome[i] == ' ')
{
pos[a] = (i + 1);
a++;
}
}

a--;


montarString(pos[a], tam_nome, 1);

for(i=0; i<a; i++)
{
montarString(pos[i], tam_nome - pos[i + 1], 0);
}

printf("%s", novoNome);

}

void montarString(int pos, int fim, char ultimo)
{
int i;
static int a = 0;

if(!ultimo) fim = pos + 1;

for(i=pos; i<fim; i++)
{
novoNome[a] = nome[i];
a++;
}

if(!ultimo)
{ novoNome[a++] = '.'; }
else
{ novoNome[a++] = ','; }

novoNome[a++] = ' ';

}

Link para o comentário
Compartilhar em outros sites

Olá Ricardo...

Boa tarde... Realmente você tem razão. O sistema bibliotecário é como você disse.

Mas não consigo fazer com que o programa imprima o nome.

Ele faz a leitura do nome digitado e depois termina a sessão.

Acho que deve estar faltando alguma coisa... Mas não consigo encontrar o que possa ser...

Este programa está em C ou C++...?

Preciso que o programa seja em C.

Agradeço sua ajuda...

Obrigado.

Link para o comentário
Compartilhar em outros sites

Olá Maxstockler.

O programa está escrito em C sim.

Acho que eu sei o que está acontecendo. Depois que você digita o nome e tecla enter o programa processa a informação (mostra o resultado) e fecha a janela.

Para evitar isso, coloque a seguinte linha (linha em vermelho):

...

printf("%s", novoNome);

getch();

...

Além disso inclua a biblioteca abaixo:

#include <conio.h>

Qualquer prob. é só falar.

abs.

Link para o comentário
Compartilhar em outros sites

Olá galera... Consegui resolver o problema. Segue abaixo o código para quem quiser testar.

#include <stdio.h>

main()

{

char nome[1000];

int tam, i, x = 0;

printf("\nDigite o nome: ");

gets(nome);

printf("\n");

tam = strlen(nome);

i = tam - 1;

do

{

i--;

x = i;

}while (nome != ' ');

for (i=i+1;i<tam;i++)

printf("%c",nome);

printf(",");

printf("%c",nome[0]);

printf(".");

for(i=1;i<x;i++)

if(nome == ' ')

{

printf("%c", nome[i+1]);

printf(".");

}

system("PAUSE>nul");

}

Agora está correto.

Obrigado pela ajuda.

T+.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!