Ir ao conteúdo
  • Cadastre-se
Jhonathan Marchetto

screva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais

Recommended Posts

Olá, estou precisando de ajuda com duas questões de criação de programa:

 

"Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função para identificar se um caractere é vogal ou não."

 

e o outro é esse:

 

"Usando a linguagem de programação C/C++ escreva um programa que recebe o nome, com até 50 caracteres de um aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo no seu disco. Observe que a nota deverá estar entre zero e dez e números reais são permitidos."

 

se alguém puder ajudar desde ja agradeço^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro, o meu problema esta mais na parte mostrar um vetor contendo as cinco últimas consoantes da string.

E no segundo não sei por onde começar acho que devo usar umas struct mas como, estou apenas iniciando tenho um pouco de dificuldade.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado,

 

Seja bem-vindo ao Fórum do Clube do Hardware; obrigado por sua participação! :)

 

Quanto à sua dúvida, para podermos lhe ajudar, nós precisamos de mais alguns detalhes, tais como:

 

  • parte do código que já foi feito;
  • caso não tenha um código feito, qual o algoritmo que você pretende usar para resolver o problema;
  • você tem experiência com esta linguagem de programação?

 

Por favor, não leve para o lado pessoal, mas o nosso objetivo principal aqui é ajudar você a resolver o problema, se simplesmente postássemos um código já pronto, você nunca aprenderia de fato... ;)

 

Atenciosamente,

Equipe Clube do Hardware

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei me explicando mal mesmo e deixando a questão meio vaga,deculpe.:oops:

Estou usando linguagem c, no Devc++, quanto a minha experiencia, estou cursando Analise e desenvolvimento de sistemas e essas são questões que tenho que resolver.

 

"Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função para identificar se um caractere é vogal ou não."

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



//Função verifica se o caracter é ou não uma vogal
int eh_vogal(char letra)
{
if (letra == 'a' || letra == 'A' ||
letra == 'e' || letra == 'E' ||
letra == 'i' || letra == 'I' ||
letra == 'o' || letra == 'O' ||
letra == 'u' || letra == 'U')
return 1;
else
return 0;
}

int main() 
{

char frase[21], vogalInicio[7], vogalFinal[7];
int tamFrase;



printf("\n\nEscreva uma frase: ");
gets(frase);

tamFrase = strlen(frase);


int cont = 0;
for (int i = 0; (cont < 5) && (i < tamFrase); i++)
{
if (eh_vogal(frase[i]) == 1)
{
vogalInicio[cont] = frase[i];
cont++;
}
}
vogalInicio[cont] = '\0';

cont = 0;
for (int i = tamFrase; (cont < 5) && (i >= 0); i--)
{
if (eh_vogal(frase[i]) == 1)
{
vogalFinal[cont] = frase[i];
cont++;
}
}
vogalFinal[cont] = '\0';


printf("\n\n\n Vogais no inicio da frase %s: ", frase);
for (int i = 0; vogalInicio[i] != NULL; i++)
printf("%c ", vogalInicio[i]);

printf("\n\n\n Vogais no final da frase %s: ", frase);
for (int i = 0; vogalFinal[i] != NULL; i++)
printf("%c ", vogalFinal[i]);
printf("\n\n");

system("PAUSE");
return (0);
}

 

Isso é o que eu tenho feito só gostaria, de alterar de forma que mostrasse as consoantes finais e não as vogais.

 

 

"Usando a linguagem de programação C/C++ escreva um programa que recebe o nome, com até 50 caracteres de um aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo no seu disco. Observe que a nota deverá estar entre zero e dez e números reais são permitidos."

 

Já esse não sei bem por onde começar.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre use a tag CODE, apertando o botão <> no topo da caixa de texto de resposta, para postar códigos, assim você mantém a formatação do código e evita que o autocorretor do forum faça alterações no texto do seu código.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

também estou com mesmo problema, alguém poderia dar uma ajudinha?

adicionado 31 minutos depois

acho que esse da certo... 


 

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

int vogais_consoantes(char letra)
{
	if (letra == 'a' || letra == 'e' ||  //parte da funcao para achar as vogais
	    letra == 'i' || letra == 'o' || letra == 'u' )
	    {
	    	return 1;	
		}

    else if (letra == 'b' || letra == 'c' || letra == 'd' || letra == 'f' || letra == 'g' || letra == 'h' || letra == 'j' || letra == 'k' || letra == 'l' || 
	         letra == 'm' || letra == 'n' || letra == 'p' || letra == 'q' || letra == 'r' || letra == 's' || letra == 't' || letra == 'v' || letra == 'w' ||
			 letra == 'x' || letra == 'y' || letra == 'z') // parte da funcao para achar as consoantes.
			 {
			 	return 0;
			 }
}
    
	
	 int main ()
{
	char string[20], vogal[5], consoante[5];
	int tamanhostring, j = 0,i;
	
		printf("Informe uma string:");
		  gets(string);
		
		printf("\n\n String: %s\n\n",string);
		tamanhostring= strlen(string); //copia o tamanho da string.
		
	for (i = 0; (j < 5) && (i <= tamanhostring); i++)
	
	{
		if (vogais_consoantes(string[i]) == 1)
	{
		vogal[j] = string[i];
	j++;

	}
	}
	vogal[j]= '\0';

	j = 0;
	  
	  for ( i = tamanhostring;(j <= 5) && (i >= 0); i--)
	  {
	  	if (vogais_consoantes(string[i]) == 0)
	{
		consoante[j] = string[i];
		j++;
	}
    }
      consoante[j] = '\0';
      
      
	printf("\n\n Vogais no inicio da string %s: ",string);
	for (int i = 0; vogal[i] != NULL; i++)
	printf("%c ", vogal[i]);
	
	printf("\n\n Consoantes no final da string %s: ",string);
	for (int i = 1; consoante[i] != NULL; i++)
	printf("%c ", consoante[i]);
	printf("\n\n");
	
	
	system("PAUSE");
	return (0);
	
	
	
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o segundo exercício,

 

Segue uma sugestão, é só alterar o último loop acrescentando as funções de escrita no disco.

 

#include <stdio.h>

#define MAX 50

struct aluno{
    char nome[51];
    float nota;
};

typedef struct aluno ALUNO;

int main(){
    ALUNO reg[MAX];
    int i;

    for(i = 0; i < MAX; i++){
        printf("Nome: ");
        scanf("%s", reg[i].nome);
        
        do{
            printf("Nota: ");
            scanf("%f", &reg[i].nota);
        }while(reg[i].nota < 0 || reg[i].nota > 10);
    }

    for(i = 0; i < MAX; i++){
        printf("\n*******\n%s, %f\n********\n",
            reg[i].nome, reg[i].nota);
    }

    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×