Ir ao conteúdo

Posts recomendados

Postado

@oromotoceu

8 horas atrás, oromotoceu disse:

boa noite fiz esse exercício e não tenho certeza se está de acordo com o enunciado pode me ajudar por favor  

Não está. Veja o enunciado:

8 horas atrás, oromotoceu disse:

3- Ler uma frase e contar quantos caracteres são espaços em branco

Ele menciona "espaços em branco", e isso pode ser espaço comum ( ' ' ), tabulação horizontal ( '\t' ), carriage return ( '\r' ), newline ( '\n' ), tabulação vertical ( '\v' ) ou formfeed ( '\f' ).

isspace() da ctype verifica se o caractere passado como argumento é um caractere de espaço em branco, retorna um valor diferente de 0 caso seja e 0 caso não seja. Use ela ou então faça sua própria função, em geral é a mesma ideia que implementou: uma string com todos os caracteres de espaço em branco e um loop pra verificar se algum deles corresponde a um caractere em questão da string que o usuário digitou.

 

8 horas atrás, oromotoceu disse:

gets(texto);

gets() é obsoleta, melhor evitar. Você poderia usar fgets(), scanf() ou alguma outra função, veja:

char str[101];

/* Usando fgets */
if(fgets(str, sizeof(str), stdin) != NULL) {
    if(str[strlen(str) - 1] == '\n') {
        // '\n' na penultima posição da string
        str[strlen(str) - 1] = '\0';
    } else {
        int ch;
        while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    }
}

/* Usando scanf */
int ch;
while(scanf("%100[^\n]", str) < 1) {
    // Lendo o que ha de resto
    while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    // Informando o usuario
    printf("Entrada invalida!\nDigite novamente:\n");
}
// Lendo o que ha de resto
while((ch = fgetc(stdin)) != '\n' && ch != EOF);
  • Curtir 2
  • Obrigado 1
Postado

@oromotoceu Olá!

 

Penso que reutilizou uma resposta ao exercício anterior que é semelhante. Sendo a pergunta a mesma: contar e buscar elementos do 'conjunto' chave no 'conjunto' fonte. No caso, o conjunto "key" que antes foi as vogais, agora necessita ser o caractere espaço e tabulação [acima citados]. Talvez dividir e conquistar uma solução que resolve para uma chave e depois reutilizar [em forma de função] no problema de muitas chaves simplifique o desenvolvimento e melhore a aprendizagem.

 

O procedimento mental [sem o uso da linguagem C] é quase igual à programação. Se parar e pensar no modo que faria para catar e contar formas/números específicos espelhadas na sala terá mesma impressão que usualmente: 1. Escolhe-se UMA das formas específicas [na ordem que estão], 2. Compara-se com as espelhadas, 3. Incrementa-se a quantidade acumulada quando uma das espalhadas é igual à específica, e repete essas etapas até a última das específicas.

 

Imagino que essa não é resposta que a maioria espera! É com intenção de fazer você começar de novo o código.

[:)

  • Curtir 2
  • Obrigado 1
  • 3 semanas depois...
Postado
Em 11/01/2022 às 09:15, Lucca Rodrigues disse:

@oromotoceu

Não está. Veja o enunciado:

Ele menciona "espaços em branco", e isso pode ser espaço comum ( ' ' ), tabulação horizontal ( '\t' ), carriage return ( '\r' ), newline ( '\n' ), tabulação vertical ( '\v' ) ou formfeed ( '\f' ).

isspace() da ctype verifica se o caractere passado como argumento é um caractere de espaço em branco, retorna um valor diferente de 0 caso seja e 0 caso não seja. Use ela ou então faça sua própria função, em geral é a mesma ideia que implementou: uma string com todos os caracteres de espaço em branco e um loop pra verificar se algum deles corresponde a um caractere em questão da string que o usuário digitou.

 

gets() é obsoleta, melhor evitar. Você poderia usar fgets(), scanf() ou alguma outra função, veja:

char str[101];

/* Usando fgets */
if(fgets(str, sizeof(str), stdin) != NULL) {
    if(str[strlen(str) - 1] == '\n') {
        // '\n' na penultima posição da string
        str[strlen(str) - 1] = '\0';
    } else {
        int ch;
        while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    }
}

/* Usando scanf */
int ch;
while(scanf("%100[^\n]", str) < 1) {
    // Lendo o que ha de resto
    while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    // Informando o usuario
    printf("Entrada invalida!\nDigite novamente:\n");
}
// Lendo o que ha de resto
while((ch = fgetc(stdin)) != '\n' && ch != EOF);

obrigado por ter me ajudado desculpe por não ter visto essa notificação é que eu uso pc e dificilmente eu uso o computador porque não sou o único que usar em casa 

Em 11/01/2022 às 19:51, mauro_b disse:

@oromotoceu Olá!

 

Penso que reutilizou uma resposta ao exercício anterior que é semelhante. Sendo a pergunta a mesma: contar e buscar elementos do 'conjunto' chave no 'conjunto' fonte. No caso, o conjunto "key" que antes foi as vogais, agora necessita ser o caractere espaço e tabulação [acima citados]. Talvez dividir e conquistar uma solução que resolve para uma chave e depois reutilizar [em forma de função] no problema de muitas chaves simplifique o desenvolvimento e melhore a aprendizagem.

 

O procedimento mental [sem o uso da linguagem C] é quase igual à programação. Se parar e pensar no modo que faria para catar e contar formas/números específicos espelhadas na sala terá mesma impressão que usualmente: 1. Escolhe-se UMA das formas específicas [na ordem que estão], 2. Compara-se com as espelhadas, 3. Incrementa-se a quantidade acumulada quando uma das espalhadas é igual à específica, e repete essas etapas até a última das específicas.

 

Imagino que essa não é resposta que a maioria espera! É com intenção de fazer você começar de novo o código.

[:)

obrigado por ter me ajudado desculpe por não ter visto essa notificação é que eu uso pc e dificilmente eu uso o computador porque não sou o único que usar em casa 

Em 11/01/2022 às 09:15, Lucca Rodrigues disse:

@oromotoceu

Não está. Veja o enunciado:

Ele menciona "espaços em branco", e isso pode ser espaço comum ( ' ' ), tabulação horizontal ( '\t' ), carriage return ( '\r' ), newline ( '\n' ), tabulação vertical ( '\v' ) ou formfeed ( '\f' ).

isspace() da ctype verifica se o caractere passado como argumento é um caractere de espaço em branco, retorna um valor diferente de 0 caso seja e 0 caso não seja. Use ela ou então faça sua própria função, em geral é a mesma ideia que implementou: uma string com todos os caracteres de espaço em branco e um loop pra verificar se algum deles corresponde a um caractere em questão da string que o usuário digitou.

 

gets() é obsoleta, melhor evitar. Você poderia usar fgets(), scanf() ou alguma outra função, veja:

char str[101];

/* Usando fgets */
if(fgets(str, sizeof(str), stdin) != NULL) {
    if(str[strlen(str) - 1] == '\n') {
        // '\n' na penultima posição da string
        str[strlen(str) - 1] = '\0';
    } else {
        int ch;
        while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    }
}

/* Usando scanf */
int ch;
while(scanf("%100[^\n]", str) < 1) {
    // Lendo o que ha de resto
    while((ch = fgetc(stdin)) != '\n' && ch != EOF);
    // Informando o usuario
    printf("Entrada invalida!\nDigite novamente:\n");
}
// Lendo o que ha de resto
while((ch = fgetc(stdin)) != '\n' && ch != EOF);

boa tarde fiz esse exercício e não tenho certeza se está de acordo com o enunciado pode me ajudar por favor  

3) Faça um programa que leia as seguintes informações sobre os alunos:
• Nome do aluno;
• Número de faltas.
• Crie uma turma com 5 alunos. 
• Cada turma terá 20 aulas no semestre.
O programa deve imprimir o percentual de faltas para cada aluno e ao final 
do processamento o total de alunos reprovados por falta (25% de faltas).

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main(){
float notap;  float media;
float notas;  int faltas;
float notat;  int i;
int cont,contr;
int aprovado,reprovado;
for(i=0; i<2; i++){
printf("Digite Suas Notas \n");
printf("Nota 1:");
scanf("%f", &notap);
printf("Digite sua segunda nota \n:");
scanf("%f", &notas);
printf("Digite sua terceira nota\n :");
scanf("%f", &notat);
printf("Digite sua quarta nota\n :");
scanf("%f", &notat);
printf("Digite sua quinta nota\n :");
scanf("%f", &notat);
printf("Digite sua faltas \n");
scanf("%d",&faltas);
media=((notap + notas + notat+ notat+ notat)/5);
printf("Sua media sera %2.f\n",media);
if(media>=9){
cont++;
printf("Seu conceito esta A. voce foi aprovado\n");
}else if(media>=7.5){
 printf("Seu conceito esta B. voce foi reprovado\n");
}else if(media==5.0){
printf("Seu conceito sera C.voce foi reprovado\n");
}else if(media<5.0){
printf("Seu conceito esta D. voce foi aprovado\n");
}else if(media>=8.5){
printf("Seu conceito esta E. voce foi aprovado\n");
}else if(media>=9.5){
contr++;
printf("voce esta Reprovado Va Estudar\n");
}else if(faltas>25){
 printf("voce esta Reprovado\n");
}
else if(media< 7.0 && faltas<= 25){
 printf("voce esta reprovado\n");
 }
 }
printf("Foram aprovados %d\n",cont);
printf("Foram reprovados %d\n",contr);
}


 

  • Curtir 1
  • Amei 1
  • 2 meses depois...
Postado
Em 11/01/2022 às 19:51, mauro_b disse:

@oromotoceu Olá!

 

Penso que reutilizou uma resposta ao exercício anterior que é semelhante. Sendo a pergunta a mesma: contar e buscar elementos do 'conjunto' chave no 'conjunto' fonte. No caso, o conjunto "key" que antes foi as vogais, agora necessita ser o caractere espaço e tabulação [acima citados]. Talvez dividir e conquistar uma solução que resolve para uma chave e depois reutilizar [em forma de função] no problema de muitas chaves simplifique o desenvolvimento e melhore a aprendizagem.

 

O procedimento mental [sem o uso da linguagem C] é quase igual à programação. Se parar e pensar no modo que faria para catar e contar formas/números específicos espelhadas na sala terá mesma impressão que usualmente: 1. Escolhe-se UMA das formas específicas [na ordem que estão], 2. Compara-se com as espelhadas, 3. Incrementa-se a quantidade acumulada quando uma das espalhadas é igual à específica, e repete essas etapas até a última das específicas.

 

Imagino que essa não é resposta que a maioria espera! É com intenção de fazer você começar de novo o código.

[:)

obrigado por ter respondido o meu comentário esses dias eu estava de férias e estava revendo alguns exercícios antigos posso ser seu amigo ?

  • Curtir 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!