Ir ao conteúdo
  • Cadastre-se

Referencia Bibliográfica C++


FABI 2

Posts recomendados

Receba pelo teclado o nome completo de um autor (com pelo menos 3 nomes) e mostre-o no formato de referência Bibliográfica, conforme exemplos abaixo.

 

Exemplo 1:

Nome do autor: Pedro Augusto Furasté

Transformado: FURASTÉ, P. A.

 

Exemplo 2:

Nome do autor: José Augusto Navarro Garcia Manzano

Transformado: MANZANO, J. A. N. G.

 

Parta do princípio que o nome nunca irá começar ou terminar com um espaço e somente existirá um espaço entre cada palavra do nome. Prever que o usuário poderá também digitar todo o nome em letras minúsculas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@FABI 2     para transformar minúsculas em maiúsculas você pode usar a função toupper, então comece pegando a última palavra do nome e transforme essa palavra para maiúscula depois ir pegando as primeiras letras dos outros nomes e também transformando elas em maiúsculas .

     experimente esse código e veja se é o que quer :

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
char nome[100];
char b,c[20];
int i,j,a,f=1,g=0;
int main(){
    printf("Digite O Nome e Os Sobrenomes De Uma Pessoa  separados por um espaco\n");
    printf("Nome --> ");
    gets(nome);
    a=strlen(nome);
    printf("\n");
    for(i=a;i>=0;i--){
        if(nome[i]==' '){
            b=nome[i+1];
            b=toupper(b);
            c[0]=b;
            nome[i]='.';
            for(j=i+2;j<a;j++){
                c[f]=toupper(nome[j]);
                f++;
            }
            printf("Aqui Referencia Bibliografica --> %s,",c);
            g=1;
            break;
        }
    }
    g=0;f=0;
    for(i=0;i<a;i++){
        if(nome[i]=='.'){break;}
        if(nome[i]==' '){
            g=0;
            i++;
            if(nome[i+2]==' '||nome[i+2]=='.'){
                i+=2;g=1;
            }
        }
        if(nome[i]==' '){g=0;i++;}
        if(g==0){
            if(nome[i+2]!=' '){
                b=nome[i];
                g=1;
                printf(" %c.",toupper(b));
            }
        }
    }
    printf("\n\n\n");
    getch();
    return 0;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...