Ir ao conteúdo

Eduarda Menezes da Silveira

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

2
  1. Define uma função que recebe a referência de vetor de produtos e o tamanhoTotal de produtos e o tamanhoReal de produtos e apresenta uma lista dos produtos cadastrados no setor struct produto{ char nome[15]; int quantidade; enum setor setor; float preco; }; int main (){ int tamanhoReal, tamanhoTotal, op, x; struct produto* p = (struct produto*) malloc(sizeof(struct produto) * tamanhoReal); printf ("Qual a quantidade de produtos a serem cadastrados? "); scanf ("%d", &tamanhoReal); } int inserir (int tamanhoReal, int tamanhoTotal, struct produto *p){ int x; setlocale(LC_ALL,""); for (x = 0; x < tamanhoReal; x++){ printf ("Digite o nome do produto: "); scanf ("%s", p->nome); setbuf (stdin, 0); printf ("Digite a quantidade: "); scanf ("%d", &p->quantidade); printf ("Digite o setor: "); scanf ("%s", &p->setor); printf ("Digite o preço: "); scanf ("%f", &p->preco); } } Minha duvida é em como alocar a memória e essa memória não ser preenchida toda de uma vez?
  2. Crie um programa em C que compare dois arquivos texto (execicio2 e exercicio2a) através da leitura de strings de 20 posições dos dois arquivos e verifique se os mesmos são iguais. Mostre uma mensagem na tela avisando ao usuário. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> int main (){ char texto1[20], texto2[20]; FILE *arquivo; setlocale(LC_ALL, ""); if ((arquivo=fopen ("exercicio2.txt", "w")) == NULL){ printf ("Permissao negada.\n"); return 1; } else { printf ("Digite uma string:"); gets (texto1); fputs (texto1, arquivo); fclose (arquivo); } if ((arquivo=fopen ("exercicio2a.txt", "w"))== NULL){ printf("Permissão negada.\n"); return 1; } else { printf("Digite uma string:"); gets (texto2); fputs (texto2, arquivo); fclose (arquivo); } /*if (fscanf(arquivo, "%s", texto1) == fscanf(arquivo, "%s", texto2)){ printf("Conteúdo dos arquivos iguais.\n"); return 1; }*/ if ((strcmp(arquivo,texto1) == strcmp(arquivo,texto2))){ printf("Conteúdo dos arquivos iguais.\n"); return 1; } else { printf("Conteúdo dos arquivos diferente.\n"); fclose(arquivo); } } A minha duvida é em como fazer para que os arquivos sejam comparados
  3. Defina a função quadrados_inv que recebe como argumento um número natural n e devolve a lista dos quadrados perfeitos até n, por ordem decrescente. Entrada quadrados_inv(6) Saída [36, 25, 16, 9, 4, 1] Estou com divida na parte de como fazer o quadrado perfeito e aparecer em ordem decrescente. Tenho isso: #include <stdio.h> int quadros_inv (int n){ int quadrado; if (n==0){ printf("%d\n", n); } else { printf("%d\n", n); return quadros_inv(n-1); } } int main(){ quadros_inv(6); return 0; }
  4. O sistema deverá, utilizando a linguagem C, receber 6 apostas (6 números cada aposta no intervalo de 1 a 60) e armazenar estas informações em uma matriz quadrada de ordem 6. Um vetor chamado vetGabarito deve armazenar 6 números, que são os gabaritos da aposta. Com a matriz de apostas preenchidas, o sistema deverá: a. Mostrar a soma da diagonal principal da matriz de apostas. b. Transferir todas as apostas para vetores de inteiros de 6 posições. c. Indicar quantos números pares e ímpares foram apostados. d. Indicar quantos acertos o jogador obteve para cada conjunto de aposta. Estou com dificuldade de fazer letra d. Meu código esta ai mas esta dando erro (mostrando a quantidade errada de acertos) na parte da letra d. #include <stdio.h> #include <time.h> #include <conio.h> #include <stdlib.h> int main (void){ int mat [6][6], vetGabarito[6], vet1[6], vet2[6], vet3[6], vet4[6], vet5[6], vet6[6], l, c, soma_diagonal=0, impar=0, par=0; srand (time (NULL)); for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf ("Digite a sua aposta de 1 a 60:"); scanf ("%d", &mat [l][c]); } } for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf (" %d", mat [l][c]); } printf ("\n"); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if (l==c){ soma_diagonal=soma_diagonal+mat[l][c]; } } } for (c=0; c<6; c++){ vet1[c]= mat [0][c]; vet2[c]= mat [1][c]; vet3[c]= mat [2][c]; vet4[c]= mat [3][c]; vet5[c]= mat [4][c]; vet6[c]= mat [5][c]; printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet1[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet2[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet3[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet4[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet5[c]); printf ("Aposta do jogador na rodada [%d] e %d\n", c, vet6[c]); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if ((mat[l][c]%2)==0){ par++; } else { impar++; } } } srand (time (NULL)); for (c=0;c<6;c++){ vetGabarito[c]=rand()%10; } for (c=0; c<6; c++){ printf (" %d", vetGabarito[c]); printf ("\n"); } for (c=0; c<6; c++){ vet1[0]==vetGabarito[c]; vet2[1]==vetGabarito[c]; vet3[2]==vetGabarito[c]; vet4[3]==vetGabarito[c]; vet5[4]==vetGabarito[c]; vet6[5]==vetGabarito[c]; } printf ("A soma da diagonal da matriz e: %d\n", soma_diagonal); printf ("A quantidade de numeros pares foi %d, e de numeros impares foi %d\n", par, impar); printf ("O jogador na primeira rodada teve %d de acertos.\n", vet1[0]); printf ("O jogador na segunda rodada teve %d de acertos.\n", vet2[1]); printf ("O jogador na terceira rodada teve %d de acertos.\n", vet3[2]); printf ("O jogador na quarta rodada teve %d de acertos.\n", vet4[3]); printf ("O jogador na quinta rodada teve %d de acertos.\n", vet5[4]); printf ("O jogador na sexta rodada teve %d de acertos.\n", vet6[5]); return 0; }

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!