Ir ao conteúdo

Posts recomendados

Postado

Alguém pode me ajudar com essa atividade por favor?

 

Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 

Crie um registro para armazenar o seu Nome Completo e o seu RU. 

Solicite ao usuário que digite o seu RU e o seu Nome Completo. 

Crie um ponteiro para o registro. 

Através do ponteiro para o registro verifique se o RU digitado é um número par ou ímpar e informe a resposta na tela. 

Através do ponteiro para o registro imprima o Nome Completo informado de traz para frente, invertido.

Por exemplo: Pedro Alvares Cabral -> larbaC seravlA ordeP

Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu nome completo e o seu RU.

 

Grato

  • Curtir 1
Postado

@Andremar Zocolotto        

1 - esse registro pode bem ser hum arquivo .
2 - para pegar os dados "nome CompleTo  RU " use o comando fgets.
3 - hum ponteiro para arquivo é do FILE*   f ;              " Asterisco significa ponteiro "
    e criar um arquivo é com o comando      f = fopen("nome.txt","w");;;;
4 - abra e leia o arquivo , pegando a RU e verifique , mas seria melhor verificar 
    antes de gravar no arquivo .
5 - a mesma coisa , e para escrever o nome completo de traz para frente use um for 
    começando do final da string , com a função strlen(string) da biblioteca #include <string.h> ,
    até o começo que sempre éh na posição zero da string

    e depois Que você fizer um vódigo sobre esse exercício , e Quiser / puder poste ele Aqui e 
    aJudaremos , caso precise de alguma correção . . . 
 

  • Curtir 1
Postado

@devair1010 consegui até uma parte

meu código até agora foi esse 

#include <stdio.h>

int main(){

    struct estudante{
        int nMatricula;
        char nome[30];
        float vRU;
    };

struct estudante stud1, *ptr_stud1;

    ptr_stud1 = &stud_1;
    pintf("\n" Entre Nome de Matricula: );
    scanf("%s", &ptr_stud1->nMatricula);
    pintf("\n" Entre RU: );
    scanf("%d", &ptr_stud1->vRU);

    printf("\n ***********CADASTRO DO ESTUDANTE**********");
    printf("\n No. do RU = %d, ptr_stud1"->vRU);
    printf("\n Nome = %s, ptr_stud1"->nMatricula);

    return 0;
}

 

poderia me dizer se isso aí está correto ?

Ps: não entendi como fazer para escrever de trás para fren te

essa parte não sei fazer

mesmo assim grato

  • Curtir 1
Postado

@Andremar Zocolotto   seu código  tem erro nessa variavel    "  ptr_stud1 = &stud_1;  "

#include <stdio.h>
int main()
{
    int i=0;
    struct estudante
    {
        int nMatricula;  /// variaveL do tipo int apenas numeros inteiro
        char nome[30];   /// var string para caracteres
        float vRU;      
    };
    struct estudante stud1, *ptr_stud1;
    ptr_stud1 = &stud1;
    printf("\n Entre Nome de Matricula: ");
    ///scanf("%s", &ptr_stud1 -> nome);
    fgets(ptr_stud1 -> nome,29,stdin);
    printf(" Entre RU: ");
    scanf("%f", &ptr_stud1 -> vRU);  /// float
    printf("\n ***********CADASTRO DO ESTUDANTE**********\n");
    printf(" No. do RU = %0.2f\n",ptr_stud1 ->  vRU); /// float
    printf(" Nome ==== = %006s\n",ptr_stud1 -> nome);
    for(i=strlen(ptr_stud1 -> nome)-2; i>=0; i--)
        printf(" %c",ptr_stud1 -> nome[i]);
    printf("\n\n\n");
    return 0;
}

 

  • mês depois...
Postado
Em 17/09/2021 às 10:22, Andremar Zocolotto disse:

@devair1010 consegui até uma parte

meu código até agora foi esse 

 

 

Em 17/09/2021 às 10:22, Andremar Zocolotto disse:

#include <stdio.h>

#include <string.h>//necessário para strlen <<=====

 

int main(){

    struct estudante{
        int nMatricula;
        char nome[30];
        float vRU;
    };

struct estudante stud1, *ptr_stud1;

    ptr_stud1 = &stud_1;
    pintf("\n" Entre Nome de Matricula: );
    scanf("%s", &ptr_stud1->nMatricula);
    pintf("\n" Entre RU: );
    scanf("%d", &ptr_stud1->vRU);

    printf("\n ***********CADASTRO DO ESTUDANTE**********");
    printf("\n No. do RU = %d, ptr_stud1"->vRU);
    printf("\n Nome = %s, ptr_stud1"->nMatricula);

    return 0;
}

 

poderia me dizer se isso aí está correto ?

Ps: não entendi como fazer para escrever de trás para frente

essa parte não sei fazer

mesmo assim grato

Olá amigo teste agora.

  • Obrigado 1
Postado

@espinoza     obrigado  pela atenção ,  eu havia esquecido de colocar essa biblioteca ,  e sem ela realmente o código não funciona mesmo não ,   mas esse aqui funciona sem strlen :

#define _CRT_SECURE_NO_WARNINGS                                 /// para usar scanf e outras funções no visual studio
#include <stdio.h>
#include <windows.h>                                            /// para usar o Sleep
int main()
{
    int i = 0;
    struct estudante
    {
        int nMatricula;                                         /// variaveL do tipo int apenas numeros inteiro
        char nome[30];                                          /// var string para caracteres
        float vRU;
    };
    struct estudante stud1, * ptr_stud1;
    ptr_stud1 = &stud1;
    printf("\n Entre Nome de Matricula: ");
    fgets( ptr_stud1->nome , 29 , stdin  );
    printf(" Entre RU: "                 );
    scanf( "%f", & ptr_stud1->vRU        );                     /// float
    printf("\n ***********CADASTRO DO ESTUDANTE**********\n\n");
    printf(" No. do RU = %0.2f\n", ptr_stud1->vRU );            /// float
    printf(" Nome ==== = %006s\n", ptr_stud1->nome);            /// String
    while (ptr_stud1->nome[i+1] != '\n')        i++;            /// pega o tamanho da string
                                                                /// com i apontando para o ultimo caract
    for (; i >= 0; i--)                                         /// nesse Loop o primeiro i pode ser descartado 
    {
        printf(" %c", ptr_stud1->nome[i]);                      /// escreve as letras uma a uma começando do final da string
        Sleep(700);                                             /// dorme hum pouquinho
    }
    printf("\n\n\n");                                           /// pulçar algumas linhas antes de finalizar a execução
    return 0;                                                   /// retorna para o windows o valor zero
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!