Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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^_^

Link para o comentário
Compartilhar em outros sites

  • Moderador

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

Link para o comentário
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.

 

 

 

Link para o comentário
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
Link para o comentário
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
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...