Ir ao conteúdo
  • Cadastre-se

guivaldevieso

Membro Pleno
  • Posts

    64
  • Cadastrado em

  • Última visita

Reputação

6
  1. Está cansado de cadastrar clientes, calcular a média dos alunos, calcular o fatorial de um número..?? aueihaiuhaeea, sei bem como é amigo. Uma ideia legal, agora que você domina a linguagem, é investir nas libs tais como Allegro, SDL, Glut. Que tal fazer um game? Comece com algo como um Pong e vá evoluindo, é um bom método para se praticar programação em C e conhecer o poder da linguagem.
  2. Amigo tente mudar a função desta forma: bool create_message(string nome_arquivo, string text) { nome_arquivo += ".txt"; FILE * pFile; [COLOR="Red"][B] pFile = fopen(nome_arquivo.c_str(), "r");[/B][/COLOR] if(pFile == NULL) { return false; } else { fprintf(text); fclose(text); return true; } }
  3. Olá, é interessante dividir o programa em duas partes, um com uma função para detectar se é primo ou não e outra para realizar a soma, veja: #include <stdio.h> int isPrimo(int numero){ int i; //Variável de controle do Loop if(numero > 1){ //Caso a var número for 0 ou 1 retornamos 0(falso) for(i=2;i<numero;i++) //Loop de iteração { if(numero%i == 0) //Caso o resto da divisão de numero/i=0 o número não é primo return 0; } return 1; //Caso contrário o número é primo e retornamos 1(verdadeiro) }else return 0; } main(){ int numeros[10]; int i; int soma=0; for (i=0;i<10;i++){ printf("\n\n Digite um numero: "); scanf("%d",&numeros[i]); if(isPrimo(numeros[i])) soma+= numeros[i]; } printf("Soma: %d\n",soma); }
  4. Olá mateusherzog, tirei um pedaço do meu tempo e resolvi os 3 exercícios. Use-os para estudar. Basicamente utilizei alocação dinâmica de memória e structs. Exercício 1 Created by Guilherme Soares Valdevieso All Rights Reserved Inc. */ #include <stdio.h> #include <stdlib.h> void zeroSort(int* vector, int size){ int x,y; for(x=0;x<size;x++) for(y=0;y<size-1;y++) { if (vector[y] == 0 && vector[y+1] != 0){ vector[y] = vector[y+1]; vector[y+1] = 0; } } } int main(){ int* vector; int vSize; int i; printf("Qual o tamanho do vetor? "); scanf("%d",&vSize); vector = malloc(sizeof(int) * vSize); for(i=0;i<vSize;i++){ printf("Valor da posição %d: ",i); scanf("%d",&vector[i]); } zeroSort(vector,vSize); for(i=0;i<vSize;i++) printf("%d\n",vector[i]); return 0; } /*1- Faça um programa que leia um vetor de inteiros e “remova” os elementos contendo o valor 0 (transfira- os para o final do vetor). Mostre o vetor resultante na tela. Ex.: O vetor 0 1 3 -1 0 0 5 ficaria: 1 3 -1 5 0 0 0. Exercício 2 2- Declare o vetor "carros" com 5 posições do tipo da estrutura definida abaixo. Faça a leitura de "carros" e em seguida mostre seu conteúdo na tela. Created by Guilherme Soares Valdevieso All Rights Reserved Inc. */ #include <stdio.h> #include <stdlib.h> typedef struct carro Carro; struct carro{ char nome[10]; char marca[15]; int ano; char cor[10]; double preco; }; void lerCarros(Carro *c, int vSize){ int i; for(i=0;i<vSize;i++){ printf("Nome:\t%s\n",c[i].nome); printf("Marca:\t%s\n",c[i].marca); printf("Ano:\t%d\n",c[i].ano); printf("Cor:\t%s\n",c[i].cor); printf("Valor:\t%lf\n",c[i].preco); } } int main(){ int vSize; int i; Carro *c; printf("Quantos carros ira cadastrar? "); scanf("%d",&vSize); c = malloc(sizeof(Carro) * vSize); for(i=0;i<vSize;i++){ printf("Qual o nome do carro? "); scanf("%s",c[i].nome); printf("Qual a marca do carro? "); scanf("%s",c[i].marca); printf("Qual o ano do carro? "); scanf("%d",&c[i].ano); printf("Qual a cor do carro? "); scanf("%s",c[i].cor); printf("Qual o valor do carro? "); scanf("%lf",&c[i].preco); } lerCarros(c,vSize); return 0; } /* Exercício 3 3- Faça um programa para ler o nome e a média de 5 alunos. Ao final exiba o nome do aluno que possui a maior média. Use uma estrutura para representar os dados do aluno. Created by Guilherme Soares Valdevieso All Rights Reserved Inc. */ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct aluno Aluno; struct aluno{ char nome[50]; double media; }; void swap(Aluno *i, Aluno *j) { Aluno t; //t.nome = i->nome; strcpy(t.nome,i->nome); t.media = i->media; *i = *j; // j->nome = t.nome; strcpy(j->nome,t.nome); j->media = t.media; } void alunoSort(Aluno *al,int vSize){ int x,y; for(x=0;x<vSize;x++) for(y=0;y<vSize-1;y++) { if(al[y].media < al[y+1].media){ swap(&al[y],&al[y+1]); } } } void listarAlunos(Aluno *al,int vSize){ int i; for(i=0;i<vSize;i++){ printf("%dº lugar\n",i+1); printf("Nome:\t%s\n",al[i].nome); printf("Média:\t%0.2lf\n",al[i].media); } } int main(){ Aluno *al; int vSize; int i; printf("Quantos alunos serão cadastrados? "); scanf("%d",&vSize); al = malloc(sizeof(Aluno) * vSize); for(i=0;i<vSize;i++){ printf("Qual é o nome do aluno? "); scanf("%s",al[i].nome); printf("Qual é a média anual do aluno? "); scanf("%lf",&al[i].media); } alunoSort(al,vSize); listarAlunos(al,vSize); return 0; } /* Abraços.

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