Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''C''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
    • Recomendação de sistemas operacionais
    • Windows
    • GNU/Linux, BSD, Unix-like e software livre
  • Eletrônicos
    • Equipamentos de som, home theaters e gravadores de mesa
    • Televisores e projetores
    • Câmeras e filmadoras
    • Players portáteis
    • Consoles (videogames)
    • GPS
    • Telefonia fixa
    • Eletrônica
    • Retrocomputação
  • Outros
    • Recomendações de serviços e lojas
    • Preços e promoções
    • Notícias
    • Bolsa de empregos, certificações e mercado de trabalho
    • "Causos"
    • Encontros de usuários
    • Feira do Rolo
  • Clube do Hardware
    • Comentários, elogios, críticas, sugestões e questões sobre o Clube do Hardware
    • Comentários de artigos
    • Fórum para testes de funcionalidades

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 1.302 registros

  1. Olá. Preciso fazer o programa deste enunciado: Faça um programa que leia 10 valores inteiros e os armazene em um vetor. Posteriormente informe o maior valor e o índice desse elemento (assuma que o usuário não irá informar valores repetidos). Por fim, informe o valor de todos os elementos com índice menor que o do elemento de valor máximo e também o valor de todos os elementos com índice maior que o do elemento de valor máximo. Ex.: Considere o seguinte vetor {2, 5, 9, 11, 3, 6, 8} Valor máximo = 11, com índice = 3. Elementos com índice menor que 3 são: 2, 5, 9. Elementos com índice maior que 3 são: 3, 6, 8. Não estou conseguindo entender como ponho a última parte (informar o valor dos elementos com índice menor e maior que o elemento de valor máximo). Meu programa está assim: #include <stdio.h> #define TAM 10 // int main() { int valor[TAM], i, maior, posMaior, indmenor, indmaior; for (i = 0; i < TAM; i++) { printf("\nInforme o valor %i \n\n",i+1); scanf("%i", &valor); } maior = valor[0]; posMaior = 0; for (i = 1; i < TAM; i++) { if (valor > maior) { maior = valor; posMaior = i; } } printf("\nOs valores sao: \n\n"); for (i = 0; i < TAM; i++) { printf("%i ", valor); } printf("\nMaior valor: %i - posicao: %i", maior, posMaior+1); return 0; }
  2. Preciso criar um programa que leia dados do teclado, armazene em arquivo, e depois permita a alteração desses dados armazenados. Para tanto preciso escrever o nome do funcionário, localiza-lo no arquivo e aí selecionar qual dado quero modificar. Estou tendo dificuldade nesta parte, pois não estou conseguindo encontrar o funcionário pelo nome. Não sei exatamente em que parte estou errando. prova.txt
  3. Algúem que possa me ajudar a encontrar o erro? #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> #define max 100 #define col 50 typedef struct endereco { char nome[30]; char fone[17]; char email[80]; char rua[40]; int numero; char bairro[50]; char cidade[30]; char sigla_estado[3]; char cep[8]; int dia; int mes; int ano; }Tpessoa; void inclusao(void); void Listar(void); void quick_struct(int); void qs_struct(int,int); void ordenar(void); void pesquisar(void); char Validaresp(); void imprimir(void); static int qtd = 0; Tpessoa Tab[100]; FILE *fp; void inclusao(void){ int total = 0, retorno; char op = 's'; if ((fp = fopen("endereco.db", "a")) == NULL) { printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } while ((total < 100) && (op == 's')) { printf ("Digite o nome: "); gets(Tab[total].nome); printf ("Digite o fone: "); gets(Tab[total].fone); printf ("Digite o E-mail: "); gets(Tab[total].email); printf ("Digite a rua: "); gets(Tab[total].rua); printf ("Digite o numero de sua residencia:"); gets(Tab[total].numero); printf ("Digite o bairro:"); gets(Tab[total].bairro); printf ("Digite a cidade:"); gets(Tab[total].cidade); printf ("Digite a sigla do Estado:"); gets(Tab[total].sigla_estado); printf ("Digite o cep:"); gets(Tab[total].cep); retorno = fwrite (&Tab[total], sizeof(struct endereco) ,1,fp); if (retorno == 1) { printf(" \n Gravacao ok ! "); } total++; op = Validaresp(); qtd++; } fclose (fp); } char Validaresp() { char op; do { printf(" \n Deseja inserir novos dados? [S ou N] ? " ); op = getch(); printf("\n" ); } while (op != 's' && op != 'n'); return op; } void ordenar(void){ Tpessoa vet; int aux,i,j,k,retorno; char *str, *str2, *straux; aux = qtd; for ( i = 0 ; i < aux ; i++ ){ str = Tab.nome; for ( j = i+1 ; j < aux ; j++ ){ str2 = Tab[j].nome; if ( strcmp ( str, str2 ) > 0 ){ vet = Tab; Tab = Tab[j]; Tab[j] = vet; } } } void ordenar(void){ Tpessoa vet; int aux,i,j,k,retorno; char *str, *str2, *straux; aux = qtd; for ( i = 0 ; i < aux ; i++ ){ str = Tab.dia; for ( j = i+1 ; j < aux ; j++ ){ str2 = Tab[j].dia; if ( strcmp ( str, str2 ) > 0 ){ vet = Tab; Tab = Tab[j]; Tab[j] = vet; } } } void ordenar(void){ Tpessoa vet; int aux,i,j,k,retorno; char *str, *str2, *straux; aux = qtd; for ( i = 0 ; i < aux ; i++ ){ str = Tab.mes; for ( j = i+1 ; j < aux ; j++ ){ str2 = Tab[j].mes; if ( strcmp ( str, str2 ) > 0 ){ vet = Tab; Tab = Tab[j]; Tab[j] = vet; } } } remove("endereco.db"); if ((fp = fopen("endereco.db", "w+")) == NULL){ printf ("ERRO!\n"); getch(); exit(1); } for ( k = 0 ; k < aux ; k++ ){ retorno = fwrite (&Tab[k], sizeof(struct endereco) ,1,fp); if (retorno != 1) { printf(" \n ERRO ! "); } } fclose(fp); printf("\n Lista Ordenada! \n"); getch(); } void pesquisar(void){ int indice = 0, retorno = 1, cont = 0; char nome[80],op; if ((fp = fopen("endereco.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o nome: "); gets(nome); retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); while (retorno == 1){ if (strcmp(nome, Tab[indice].nome) == 0 ){ printf("\nNome..: %s\nFone..: %s\nE-mail..:%s\nrua..:%s\numero..: %s\nbairro..:%s\ncidade...%s\nsigla_estado..:%s\ncep ..:%s\n",nome,Tab[indice].fone,Tab[indice].email,Tab[indice].rua,Tab[indice].numero,Tab[indice].bairro,Tab[indice].cidade,Tab[indice].sigla_estado,Tab[indice].cep); cont++; } indice++; retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); } if(cont == 0){ printf("Nao existe contatos com este nome!\n"); } getch(); fclose(fp); } void pesquisarfone(void){ int indice = 0, retorno = 1, cont = 0; char fone[80],op; if ((fp = fopen("endereco.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o telefone: "); gets(fone); retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); while (retorno == 1){ if (strcmp(fone, Tab[indice].fone)==0){ printf ("\nNome ..: %s\nFone ..: %s\nE-mail ..: %s\n", Tab[indice].nome, Tab[indice].fone, Tab[indice].email); cont++; } indice ++; retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); } if(cont == 0){ printf("Nao ha contatos com este Telefone!\n"); } getch(); fclose(fp); } void pesquisaremail(void){ int indice = 0, retorno = 1, cont =0; char email[80],op; if ((fp = fopen("endereco.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o E-mail: "); gets(email); retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); while (retorno == 1){ if (strcmp(email, Tab[indice].email)==0){ printf("\nNome..: %s\nFone..: %s\nE-mail..: %s\nrua..: %s\nnumero..: %s\nbairro..: %s\ncidade... %s\nsigla_estado..: %s\ncep ..: %s\n", Tab[indice].nome, Tab[indice].fone, Tab[indice].email, Tab[indice].rua, Tab[indice].numero, Tab[indice].bairro, Tab[indice].cidade, Tab[indice].sigla_estado, Tab[indice].cep); cont++; } indice ++; retorno = fread(&Tab[indice], sizeof(struct endereco), 1, fp); } if(cont == 0){ printf("Nao existe contatos com este Email!\n"); } getch(); fclose(fp); } void Listar(void){ int i = 0, retorno; if ((fp = fopen("endereco.db", "r")) == NULL) { printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } retorno = fread(&Tab, sizeof(struct endereco), 1, fp); while ( retorno == 1) { printf("\n Nome ..: %s", Tab.nome); printf("\n Fone ..: %s", Tab.fone); printf("\n E-mail ..: %s\n", Tab.email); printf ("\n Rua ..: %s\n", Tab.rua); printf ("\n Numero ..: %s\n", Tab.numero); printf ("\n Bairro ..: %s\n", Tab.bairro); printf ("\n Cidade..: %s\n", Tab.cidade); printf ("\n Sigla do estado ..: %s\n", Tab.sigla_estado); printf ("\n cep ..: %s\n", Tab.cep); i++; retorno = fread(&Tab, sizeof(struct endereco), 1, fp); } printf(" \n\n %d Contatos salvos!\n", i); getch(); fclose(fp); } void menu(void){ char op; int teste; if ((fp = fopen("endereco.db", "r")) != NULL){ qtd = 0; do { teste = fread(&Tab, sizeof(struct endereco), 1, fp); qtd++; }while ( teste == 1 ); qtd--; } do{ system("cls"); printf("\n(1)Incluir\n(2)Listar\n(3)Ordenar por nome\n(4)Pesquisar por nome\n"); printf("(5)Pesquisar por fone\n(6)Pesquisar por E-mail\n(7)Pesquisar por mes de aniversario\n"); printf("(8) Pesquisar por dia de aniversario\n(9)Qualquer outra tecla para sair\n\n"); op = getch(); switch(op){ case '1': inclusao(); break; case '2': Listar(); break; case '3': ordenar(); break; case '4': pesquisar(); break; case '5': pesquisarfone(); break; case '6': pesquisaremail(); break; case '7': pesquisarmesdeaniversario(); break; case '8': pesquisardiadeaniverasario(); break; default: exit(1); } }while (op < '9'); } int main (){ int var; printf("\n\n\n\n\n\n\n\n\n\n"); printf(" .::AGENDA DE TELEFONES:. \n\n"); printf(" Veja todas as funcoes disponiveis no menu \n"); printf(" use os numeros para selecionar a opcao desejada \n"); printf(" pressione qualquer tecla para continuar ou ESC para sair do programa agora."); var=getch(); if(var == 27){ exit(1);} menu(); system("pause"); }
  4. #include <stdio.h> #include <stdlib.h> struct tipo_no { int dado; struct tipo_no * proximo; }; typedef struct tipo_no No; struct tipo_lista{ No *primeiro; No *ultimo; }; typedef struct tipo_lista Lista; void criarLista(Lista* lista){ lista->primeiro = NULL; lista->ultimo=NULL; } int listaVazia(Lista* lista){ if ((lista->primeiro == NULL) || (lista->ultimo==NULL)) return 1; else return 0; } void inserirFinal(Lista* lista,int valor){ No *novo; novo = (No*)malloc(sizeof(No)); novo->dado = valor; novo->proximo=NULL; if(listaVazia(lista)==1){ lista->primeiro = novo; }else{ (lista->ultimo)->proximo = novo; } lista->ultimo = novo; } void inserirInicio(Lista* lista,int valor){ No *novo; novo = (No*)malloc(sizeof(No)); novo->dado = valor; novo->proximo=NULL; if(listaVazia(lista)==1){ lista->ultimo = novo; }else{ novo->proximo = lista->primeiro; } lista->primeiro = novo; } //Função que adiciona os números pares no início da lista e os números ímpares no final da lista void inserir(Lista* lista, int valor){ if(lista(valor) % 2 = 0){ inserirInicio(); } else { inserirFinal(); } } void listar(Lista* lista){ No* ponteiro = lista->primeiro; while(ponteiro!= NULL){ printf("%d ",ponteiro->dado); ponteiro = ponteiro->proximo; } printf("\n"); } int main(int argc, char *argv[]){ Lista* lista = (Lista*) malloc(sizeof (Lista)); criarLista(lista); int op=0,valor; do{ system("cls"); printf("\n1-Inserir no Final\n2-Inserir no Inicio\n3-Listar\n4-Sair\n"); scanf("%d",&op); switch(op){ case 1:printf("\nInforme o Valor:"); scanf("%d",&valor); inserirFinal(lista,valor); break; case 2:printf("\nInforme o Valor:"); scanf("%d",&valor); inserirInicio(lista,valor); break; case 3:system("cls"); listar(lista); system("PAUSE"); } }while(op != 4); system("PAUSE"); return 0; } Boa tarde! preciso fazer a implementação da função: //Função que adiciona os números pares no início da lista e os números ímpares no final da lista void inserir(Lista* lista, int valor){ if(lista(valor) % 2 = 0){ inserirInicio(); } else { inserirFinal(); } } para caso o novo número inserido seja para, vá para o início da lista e caso ímpar, vá para o final da lista. Para isso já foram implementadas as funções InserirFinal() e InserirInicio(), alguém poderia me ajudar e esclarecer onde estou errando?
  5. Olá estou com duvida de como faço para minha lista LESTRAS apontar para CONTATOS. Toda vez que eu digito um novo nome preciso guardar a inicial do nome e apontar ela para os nomes que contem aquela inicial, mas estou com problemas para implementar. #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 50 #define MAX 500 typedef struct CONTATO{ char *nome; char *sobrenome; int numeroT; char *email; struct CONTATO *prox; struct CONTATO *inicial; }contato; typedef struct LETRAS{ char inicial; struct LETRAS *prox; }letras; contato *inserir(char *nome,char *sobrenome,char *email, int numero, contato *c){ contato *novo; novo = (contato*)malloc(sizeof(contato)); novo->nome =(char *)malloc(strlen(nome)+1); strcpy(novo->nome,nome); novo->sobrenome=(char *)malloc(strlen(sobrenome)+1); strcpy(novo->sobrenome,sobrenome); novo->email=(char *)malloc(strlen(email)+1); strcpy(novo->email,email); novo->numeroT=numero; novo->prox = c; return novo; } letras *insereChar(letras *l, char nome){ letras *novo; novo = (letras*)malloc(sizeof(letras)); novo->inicial = nome; novo->prox = l; return novo; } void ordenar(contato *l) { if(l == NULL || l->prox == NULL) return; //se for nulo(vazio), ou apenas 1 elemento contato *aux = l; contato *t; char s[MAX]; //precisa de espacao suficiente para armazenar o nome while(aux != NULL) { t = aux->prox; while(t != NULL) { if(strcmp(aux->nome, t->nome) > 0) { //se vir depois strcpy(s, aux->nome); strcpy(aux->nome, t->nome); strcpy(t->nome, s); } t = t->prox; } aux = aux->prox; } } void imprime(contato *c, letras *l){ contato *p=c; letras *t=l; while(p!=NULL && t!=NULL){ //printf("\n"); printf("%c-> %s %s\n",t->inicial,p->nome,p->sobrenome); t =t->prox; p=p->prox; } } main(){ contato *l; letras *c; l = NULL; c = NULL; char nome[TAM]; char sobrenome[TAM]; char email[TAM]; int numero; printf("_______________________\n"); printf("Bem-Vindo a Sua Agenda\n"); printf("_______________________\n"); //printf("\n"); int escolha; do{ printf("\n"); printf("1: Adicionar contato\n"); printf("2: Remover Contato\n"); printf("3: Exibir Contatos\n"); printf("4: Favoritos\n"); printf("5: Sair\n"); printf("_______________________\n"); printf("Escolha a Opcao Desejada: "); scanf("%d",&escolha); switch(escolha){ case 1: printf("_______________________\n"); printf("voce Selecionou Adicionar Contato\n"); printf("_______________________\n"); printf("Nome do Contato: "); fflush(stdin); gets(nome); char passa = nome[0]; c = insereChar(c,passa); printf("Sobrenome do Contato: "); gets(sobrenome); fflush(stdin); printf("email do contato: "); gets(email); printf("Numero de Contato: "); scanf("%d",&numero); l =inserir(nome,sobrenome,email,numero,l); ordenar(l); break; case 2: break; case 3: imprime(l,c); break; case 4: break; default: printf("Fim do Programa"); break; } }while(escolha != 5); }
  6. DiegoCorrea

    C s s s s

    fdsfsd3
  7. Tenho que fazer essa atividade: 1) Utilizando a estrutura de repetição while, faça um programa em C que leia uma quantidade indeterminada de números. O programa deverá parar de ler números, quando o valor informado for igual a 0(zero). Após a leitura dos números, você deverá informar: a) A quantidade de números lidos; b) A soma dos números lidos; c) A quantidade de números pares lidos; d) A soma dos números ímpares lidos; e) O maior número lido; f) O menor número lido; g) A média dos números pares; h) A média dos números maiores que 10. fiz todo o código, mas na hora de compilar está dando um erro. #include <stdio.h> int main(){ int num,i, maior=0,menor=0,cont1=0,cont2=0,cont4=0,soma3=0,cont3=0,soma=0,soma1=0,soma2=0; float media,media1,media2; while(num!=0) { printf("Digite um numero:"); scanf("%d",&num); //A cont1++; //B soma=soma+num; //C if(num % 2==0) { cont2++; soma1=soma1+num; } else{ cont3++; soma2=soma2+num; } // E e F if(num>maior) { maior=num; } if(cont1==0) { menor=num; } else if (num<maior) { menor=num; } //h if(num>10) { cont4++; soma3=soma3+num; media2=soma3/cont4; } //G e D media=soma1/cont2; media1=soma2/cont3; } printf("\nA quantidade de numeros lidos e:%d",cont1); printf("A soma dos numeros lidos e:%d",soma); printf("\nA quantidade de numeros pares lidos e:%d",cont2); printf("\nA soma dos numeros impares lidos e:%d",soma2); printf("\nO maior numero e:%d\n O menor numero e:%d",maior,menor); printf("\nA media dos numeros pares e:%.1f",media); printf("\nA media dos numeros maiores que 20 e: %.1f",media2); getch(); }
  8. Olá pessoal, então seguinte, sou aluno de análise e desenvolvimento de sistemas, e tenho um trabalho que tem como tema 'Desenvolvimento de um sistema de controle de entrada dos participantes de uma palestra'. Estou aprendendo a programar em C, e gostaria de saber qual seria o melhor modo de desenvolver esse sistema. Desde já agradeço!
  9. A lista que o meu orientador indicou pedia que a gente armazenasse valores num vetor de tamanho 10, fizesse o quadrado de cada valor e atribuisse esse quadrado a outro vetor. Eu tentei fazer chamando uma função QuadVetor, mas quando eu vou printar, ele sai valores extremamente aleatórios, ou sai com valor 0. #include <stdio.h> #include <stdlib.h> #define N 10 int QuadVetor (int a,int c); int main (){ int i; int Vetor[N],c[N]; //armazenar valor no vetor 1. for(i=0;i<N;i++){ printf("insira o %dº número\n",i+1); scanf("%d",&Vetor[i]); } //armazenar o quadrado em um vetor. for(i=0;i<N;i++){ QuadVetor(Vetor[i],c[i]); } //printar a ação 1. printf("os valores inseridos foram\n"); for(i=0;i<N;i++){ printf("%d\n",Vetor[i]); } //printar a ação 2. printf("o quadrado dos valores inseridos são\n"); for(i=0;i<N;i++){ printf("%d\n",c[i]); } return 0; } int QuadVetor (int a, int c){ return c=a*a; }
  10. https://olimpiada.ic.unicamp.br/pratique/p1/2011/f2/calculadora/ Estou com problemas para terminar este programa, estou pensando em usar a Tabela ASCII mas sempre que tento da erro. segue a baixo o programa que fiz: #include <stdio.h> #include <stdlib.h> int main() { int num; float res=1; char op; printf("3\n"); do{ scanf("%d", &num); scanf("%c", &op); if(op=='*' && num>=1 && num<=9) res=(res*num); if(op=='/' && num>=1 && num<=9) res=(res/num); }while(op=='*' || op=='/'); printf("%.1f", res); return 0; } O UNICO PROBLE É QUE QUANDO faço A CORREÇÃO NO SITE O programa ZERA!
  11. #include <stdio.h > #include <ctype.h > #include <stdlib.h> #include <string.h> #include <windows.h> struct vacas{ int cod ,atual,ano_nas; float qtd_alim,leite_p_se ; char abate ,op ; }; int i,j,cont; struct vacas vet[10]; void cadastrar(){ textcolor(14,0); system("cls"); printf(" Cadastrando\n\n"); do{ printf("Entre com codigo do Gado : "); fflush(stdin); scanf("%d",&vet[cont].cod); printf("Entre Com Ano De nascimento do Gado : "); fflush(stdin); scanf("%d",&vet[cont].ano_nas); printf("Entre Com a Quantidade de Alimento : "); fflush(stdin); scanf("%f",&vet[cont].qtd_alim); printf("A quantidade De leite por Semanalmente: "); fflush(stdin); scanf("%f",&vet[cont].leite_p_se); printf("Deseja Continuar [ S / N ] : "); fflush(stdin); scanf("%c",&vet[cont].op); vet[cont].atual=vet[cont].atual-vet[cont].ano_nas;/*//so funciona com 10 e nao i*/ if(cont < 10)cont++; som(500); }while(toupper(vet[cont-1].op) !='N'); } int main(){ struct vacas recebe; recebe.abate='s'; recebe.op='s'; int op; textcolor(14,0); system("cls"); printf("Entre com Ano atual : "); fflush(stdin); scanf("%d",&vet[cont].atual); do{ system("cls"); textcolor(10,0); for(i=0;i<52;i++){ gotoxy(i+8,00);printf("%c",205); gotoxy(i+8,10);printf("%c",205); gotoxy(i+8,12);printf("%c",205); if(i<13){ gotoxy( 8,i);printf("%c",186); gotoxy(60,i);printf("%c",186); } } gotoxy( 8,00);printf("%c",201); gotoxy( 8,12);printf("%c",200); gotoxy(60,00);printf("%c",187); gotoxy(60,12);printf("%c",188); gotoxy( 8,10);printf("%c",204); gotoxy(60,10);printf("%c",185); textcolor(14,0); gotoxy(10, 2);printf("0 - Sair Do Programa"); gotoxy(10, 3);printf("1 - cadastrar"); gotoxy(10, 4);printf("2 - mostrar total de leite por semana"); gotoxy(10, 5);printf("3 - mostrar total alimento por semana"); gotoxy(10, 6);printf("4 - mostrar total leite por semana apos abate"); gotoxy(10, 7);printf("5 - mostrar total alimento por semana apos abate"); gotoxy(10, 8);printf("6 - mostrar total gado para abate"); textcolor(11,0); for(i=0;i<7;i++){ gotoxy(10,i+2); printf("%c",i+48); } gotoxy(10,11);printf("Escolha Uma Opcao : "); scanf("%d",&op); switch(op){ case 0: textcolor(14,0); gotoxy(10,14); printf("Saindo Do Programa . . . !\n\n"); Sleep(100); som(400); Sleep(200); textcolor(7,0); exit(0); case 1: cadastrar(); break; default: printf("Opcao Invalida . . . !"); Sleep(1000); } }while(op!=0); printf("\n"); textcolor(10,0); for(i=0;i<cont;i++){ printf("Ano Atual --> %d",vet[i].atual); /*///fazia ele parar e nao entrva no codigo*/ /*//fazer os validaores pare ele nao aceitar qualquer idade // escrever as condiçoes de abate*/ } textcolor(7,0); printf("\n\n"); return 0; } void leite() { for(i=0;i<;i++) { if(vet[cont].leite_p_se > 5) { leite_p_se += vet[cont].leite_p_se; } } printf("%f",vet[cont].leite_p_se); }
  12. Olá sou novo aqui! Preciso de uma ajuda com um exercicio Tenho dois exercicios de programação em C sobre LISTA ENCADEADA, mas tem um exercicio que não estou conseguindo terminar. agradeço quem puder me ajudar *Exercicio Um banco precisa com frequência inserir, remover, ordenar, exibir e zerar seus clientes de acordo com algum critério. Neste trabalho, você deverá implementar um sistema que permita ao funcionário do banco ordenar os clientes do banco pelo seu saldo (em ordem decrescente) ou pelo número da conta do cliente (por ordem crescente). Os dados dos clientes a serem inseridos devem conter para cada cliente, o seu nome, número da conta (número inteiro positivo de até 5 dígitos) e saldo. deve conter os seguintes menus: - Inserção, - Remoção, - Ordenação, - Exibir Lista, - Zerar Lista struct Banco { int numero_conta; char nome_cliente [30]; float saldo; Banco *prox; Banco *ant; }; typedef struct Banco node;
  13. Tenho que resolver o seguinte exercicio em C: #include<stdio.h> #include<string.h> #define TAM 2 typedef struct{ int hora; int minutos; int segundos; } Horario; typedef struct{ int dia; int mes; int ano; } Data; typedef struct{ char descricao[50]; Horario horario_compromisso; Data data_compromisso; } Compromisso; void ler(Compromisso a); //Funcao de leitura dos compromissos void imprime(Compromisso a,int cont); //Funcao que imprime os compromissos int main(){ Compromisso vet[TAM]; int m,a,cont_mes=0,cont_ano=0; for(int i=0;i<TAM;i++){ printf("Digite os dados do compromisso %d\n",(i+1)); ler(vet[i]); //Chamando a funcao de leitura } //O erro esta dentro deste while e possivelmente dentro da funcao imprime while(m!=0){ printf("\nDigite o mes e o ano para visualizar os compromissos totais do ano e mes digitado(Digite 0 para parar):"); scanf("%d%d",&m,&a); if(m==vet.data_compromisso.mes){ cont_mes++; printf("\nCompromissos do mes digitado:"); imprime(vet,cont_mes); }else if(a==vet.data_compromisso.ano){ cont_ano++; printf("\nCompromissos do ano digitado:"); imprime(vet,cont_ano); }else printf("\nNenhum compromisso no mes e ano digitado"); } return 0; } void ler(Compromisso a){ //Lendo os dados dos compromissos printf("\nDescreva o seu compromisso:"); fflush(stdin); gets(a.descricao); printf("\nSobre o horario do compromisso"); printf("\nHora:"); scanf("%d",&a.horario_compromisso.hora); printf("\nMinuto:"); scanf("%d",&a.horario_compromisso.minutos); printf("\nSegundo:"); scanf("%d",&a.horario_compromisso.segundos); printf("\nSobre a data do compromisso"); printf("\nDia:\n"); scanf("%d",&a.data_compromisso.dia); printf("Mes:\n"); scanf("%d",&a.data_compromisso.mes); printf("Ano:"); scanf("%d",&a.data_compromisso.ano); } void imprime(Compromisso a,int cont){ int i; //Função printando os compromissos do ano e mes digitado for(i=0;i<cont;i++){ printf("\nCompromisso %d",(i+1)); printf("O compromisso %s, será às %d horas %d minutos e %d segundos\nDia %d do mes %d e ano %d",a.descricao,a.horario_compromisso.hora,a.horario_compromisso.minutos,a.horario_compromisso.segundos,a.data_compromisso.dia,a.data_compromisso.mes,a.data_compromisso.ano); } } Caso for um erro simples, considerem que sou iniciante na programação ainda, obrigado a quem ajudar
  14. Elaborar um algoritmo que auxilie no controle de uma fazenda de gado que possuí um total de 2000 cabeças de gado. A base de dados é formada por um conjunto de estruturas (registros) contendo os seguintes campos referente a cada cabeça de gado: código: código da cabeça de gado, leite: número de litros de leite produzido por semana, alim: quantidade de alimento ingerida por semana - em quilos, nasc: ano de nascimento, abate: ‘N" (não) ou ‘S’ (sim). Elaborar um programa que permita: a) Ler a base de dados (código, leite, alim, nasc), armazenado em um vetor de estruturas. b) Preencher o campo abate, considerando que a cabeça de gado irá para o abate caso: tenha mais de 5 anos, ou; produza menos de 40 litros de leite por semana, ou; produza entre 50 e 70 litros de leite por semana e ingira mais de 50 quilos de alimento por dia. Crie o menu de opções para: c) Devolver a quantidade total de leite produzida por semana na fazenda. d) Devolver a quantidade total de alimento consumido por semana na fazenda. e) Devolver a quantidade total de leite que vai ser produzido por semana na fazenda, após o abate f) Devolver a quantidade total de alimento que vai ser consumido por semana na fazenda, após o abate g) Devolver número de cabeças de gado que irão para o abate. h) Sair do programa. --------------------------------------------- codigo em c #include<stdio.h> main(){ struct vacas{ int cod; float qtdalim; int ano_nas; char abate; float leite; int atual; char op = 's'; }; struct vacas recebe; recebe.abate='s'; struct vacas vet[10]; printf("Entre com Ano atual: \n "); scanf("%i",&vet[10].atual); fflush(stdin); do{ printf("Entre com codigo do Gado: \n "); scanf("%i",&vet[10].cod); fflush(stdin); printf("Entre Com Ano De nascimento do Gado: \n "); scanf("%i",&vet[10].ano_nas); fflush(stdin); printf("Entre Com a Quantidade de Alimento : \n"); scanf("%f",&vet[10].qtdalim); fflush(stdin); printf("Entre com A quantidade De leite produzida Semanalmente: \n"); scanf("%f",&vet[10].leite); fflush(stdin); printf("Deseja Continuar[s/n]: ");scanf("%c",&vet[10].op); fflush(stdin); vet[10].atual=vet[10].atual-vet[10].ano_nas;//so funciona com 10 e nao i }while(vet[10].op !='n'); for(int i=0;i<=5;i++){ printf("%i",vet[10].atual); ///fazia ele parar e nao entrva no codigo //fazer os validaores pare ele nao aceitar qualquer idade // escrever as condiçoes de abate } }
  15. Olá estou com um problema onde preciso passar algumas informações e na hora do printa ele esta duplicando a string. Minha dúvida é como eu passo strings para uma lista encadeada. Pois quando eu mando a primeira string ele vai normal mas quando eu adiciono outra pessoa ele muda o nome da pessoa anterior para o nome que foi digitado. #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 50 typedef struct CONTATO{ char *nome; char *sobrenome; int numeroT; char *email; struct CONTATO *prox; struct CONTATO *inicial; }contato; contato *inserir(char *nome,char *sobrenome,char *email, int numero, contato *c){ contato *novo; novo = (contato*)malloc(sizeof(contato)); novo->nome = nome; novo->sobrenome=sobrenome; novo->email=email; novo->numeroT=numero; novo->prox = c; return novo; } void ordenar(contato *l) { if(l == NULL || l->prox == NULL) return; //se for nulo(vazio), ou apenas 1 elemento contato *aux = l; contato *t; char s[100]; //precisa de espacao suficiente para armazenar o nome while(aux != NULL) { t = aux->prox; while(t != NULL) { if(strcmp(aux->nome, t->nome) > 0) { //se vir depois strcpy(s, aux->nome); strcpy(aux->nome, t->nome); strcpy(t->nome, s); } t = t->prox; } aux = aux->prox; } } contato *l; l = NULL; char nome[TAM]; char sobrenome[TAM]; char email[TAM]; int numero; printf("_______________________\n"); printf("Bem-Vindo a Sua Agenda\n"); printf("_______________________\n"); //printf("\n"); int escolha; do{ printf("1: Adicionar contato\n"); printf("2: Remover Contato\n"); printf("3: Exibir Contatos\n"); printf("4: Favoritos\n"); printf("5: Sair\n"); printf("_______________________\n"); printf("Escolha a Opcao Desejada: "); scanf("%d",&escolha); switch(escolha){ case 1: printf("_______________________\n"); printf("voce Selecionou Adicionar Contato\n"); printf("_______________________\n"); printf("Nome do Contato: "); fflush(stdin); gets(nome); printf("Sobrenome do Contato: "); gets(sobrenome); fflush(stdin); printf("email do contato: "); gets(email); printf("Numero de Contato: "); scanf("%d",&numero); l =inserir(nome,sobrenome,email,numero,l); //ordenar(l); break; case 2: break; case 3: imprime(l); break; case 4: break; default: printf("Fim do Programa"); break; } }while(escolha != 5); }
  16. Meu orientador em programação pediu para que eu criasse um programa que armazenasse e guardasse números em cada vetor, somasse os vetores de poisção 0,1 e 5 e depois atribuisse o valor 100 ao vetor de numero 4 e printasse todos os números correspondentes de cada vetor, mas o programa tá dando um valor de saída dos dados extremamente absurda, como se estivesse somando valores 'lixo'. #include <stdio.h> #include <stdlib.h> #define N 6 int main (){ int A[N]={0,0,0,0,0,0}; int i,c; for (i=0;i<N;i++){ printf("insira o número da posição %d\n",i+1); scanf("%d",&A[i]); } c=A[0]+A[1]+A[5]; printf("a soma será %d\n",c); A[4]=100; for(i=0;i<=N;i++){ printf("%d",A[i]); } return 0; }
  17. #include <stdio.h> int div(int numero); int main(int argc, char** argv) { int teste, n, divisores, i; scanf("%d", &teste); while(teste--) { scanf("%d", &n); for(i = 1; i <= 1000000; i++) { divisores = div(i); if(divisores == n) { printf("%d\n", i); break; } } } return 0; } int div(int numero) { int i, c = 0; for (i = 1; i * i <= numero; ++i) { if (numero % i) continue; c++; if ((numero / i) == i) continue; c++; } return c; } Bom a questão dá o número de divisores e quer o menor número que tem esses divisores por exemplo 4 divisores o número é 6, só o que meu algoritmo é muito lento, como otimizar ?
  18. Uma estacao de radio quer implementar um sistemas de tocar musicas pedidas pelos ouvintes. 0 sistema vai recebendo um pedido a partir de uma lista de musicas ja predefinidas e vai colocando numa fila, em ordem dos pedidos, depois de tocar a musica essa devera ser removida da lista de musicas a tocar. Implementação de uma solução para a estação.
  19. Bom dia! Pessoal alguém poderia me ajudar nesse trabalho? Definição do problema Implemente um programa que tenha a capacidade de ler e converter números inteiros e decimais entre as bases decimal e binária e também entre decimal e hexadecimal, nas duas direções. O programa deve ter um menu oferecendo ao usuário os quatro tipos de operações disponíveis. Após a escolha do usuário, deve ser lido do teclado – de uma vez – um número de acordo com a opção escolhida, e apresentado ao usuário a conversão deste número. Por exemplo, se o usuário escolhe “de binário para decimal”, a entrada 10010110 deve gerar a resposta 150. O usuário pode realizar quantas conversões quiser. Os passos para o desenvolvimento do programa são: 1- Declarar as variáveis a serem utilizadas no programa, seguindo a política de nomeação de variáveis. 2- Elaborar um menu que obedeça às boas práticas de interface com usuário, valide devidamente as entradas, apresente mensagens de erro significativas, e limpe a tela a cada ciclo de interação. 3- A cada opção escolhida no menu, o resultado correspondente deve ser exibido.
  20. Galera, boa noite, Estou com um problema pra resolver o seguinte exercicio e preciso entregar hj até 00:00 Se alguem puder me dar uma luz ao menos agradeço!!
  21. ola, preciso de uma ajuda, to fazendo um trabalho e o professor pediu que se for substituir cada letra do meu nome em dois strings de um vetor, ou seja se a letra A tiver na posição 1 tem que ser substituido pelas letras da posição 1 e 2: #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <string.h> main(){ int i=0,tamanho=0,tamanho_alfa=0,j=0,m,achei=0; char vetor_alfabeto[100]="abcdefghijklmnopqrstuvwxyz "; char vetor_matriz[100]="bcdefghijklmnopqrstuvwxyza "; char vetor_analise[50]="samario oliveira feitosa"; char vetor_resultado[100]=""; tamanho_alfa=strlen(vetor_alfabeto); tamanho=strlen(vetor_analise); for(m=0;m<tamanho;m++) { achei=0; i=0; while ((achei==0) && (i<tamanho_alfa)) { if (vetor_analise[m] == vetor_alfabeto) {printf("\nlocalizei a letra==>%c",vetor_alfabeto); printf("\nVou substituir por==>%c\n",vetor_matriz); system("pause"); vetor_resultado[m]=vetor_matriz; achei=1;}; i=i+1;};}; printf("%s\n",vetor_resultado); system("PAUSE");};
  22. Boa tarde, como vão? Estou a resolver um exercício de recursividade. Ainda encontro dificuldades com funções recursivas, mas estamos indo. Nesse exercício em específico não consegui entender o que estava sendo pedido. Segue o enunciado: Escreva um algoritmo recursivo capaz de gerar todos os elementos do conjunto potência dado um conjunto formado por letras. PARA FICAR CLARO! NÃO PRECISO QUE RESOLVAM PARA MIM, APENAS ME DIGAM O QUE O EXERCICIO QUER EXATAMENTE. De primeira achei que era para criar varias variaveis e elevalas ao mesmo expoente, mas acho que nao seria isso. Sobre elavar ao expoente usando recursao eu ja fiz, mas esse exercicio nao ficou claro exatamente o que ele esta querendo. (Professor nao soube me explicar)
  23. Bom dia clube, É o seguinte, sempre que executo o for para ler quem sao os alunos e as notas o programa não lê nada após, pois eu quero colocar um if para saber quem são os aprovados. Qual o erro que estou cometendo ? Questão_Os alunos de informática tiveram cinco provas (uma de cada matéria/disciplina): 1, 2, 3, 4 e 5. Considere aprovado o aluno com nota igual ou superior a 7.0. Criar um programa que leia o Nome dos alunos e as suas respectivas cinco notas. Inicialmente o programa deve perguntar quantos alunos existem na turma e deve também imprimir: Nome dos que foram aprovados em todas as matérias; Nome dos alunos aprovados nas matérias 1 e 4; A porcentagem dos aprovados na matéria 3; Meu programa: int main(int argc, char *argv[]) { char aluno; int i, n, aprovadoNota3; double nota1, nota2, nota3, nota4, nota5, porcentagem; printf("\n Quantos alunos tem na turma:"); scanf("%d", &n); for( i = 1; i <= n ; i++) { printf("\n Digite o nome do aluno %i: ", i); scanf("%s", &aluno); printf("\n Digite a nota da p1: "); scanf("%f", &nota1); printf("\n Digite a nota da p2: "); scanf("%f", &nota2); printf("\n Digite a nota da p3: "); scanf("%f", &nota3); printf("\n Digite a nota da p4: "); scanf("%f", &nota4); printf("\n Digite a nota da p5: "); scanf("%f", &nota5); if( nota1 >= 7 && nota2 >= 7 && nota3 >= 7 && nota4 >= 7 && nota5 >= 7) { printf("\n Aprovado: %s", aluno); }else if( nota1 >= 7 && nota4 >= 7 ) { printf("\n Alunos aprovados na p1 e p4: %s", aluno); }else if( nota3 >= 7) { aprovadoNota3++; } } porcentagem = aprovadoNota3*100 / n; printf("\n Alunos aprovados na p3: %f", porcentagem); return 0; }
  24. Dale galera , to com um problema aqui meio cabeludo.. O exercício é o seguinte.. criar um ponteiro void que vai armazenar quantidade x de usuários , nome e idade.. Porém minha dúvida é o seguinte.. como eu vou utilizar o ponteiro void e fazer ele armazenar as informações corretamente ? Eu tentei fazer ele armazenar os valores de forma adjacente , porém depois desse teste : void Buffer(){ void *pBuffer; printf("\n%d",pBuffer); pBuffer = malloc(sizeof(int)); printf("\nmalloc-int>%d",pBuffer); pBuffer += sizeof(int); printf("\npulo-4>%d",pBuffer); pBuffer = malloc(20*sizeof(char)); printf("\nmalloc-char>%d",pBuffer); pBuffer += 20*sizeof(char); printf("\npulo-20>%d",pBuffer); pBuffer = malloc(sizeof(int)); printf("\nmalloc-int>%d",pBuffer); } eu percebi que ele não armazena de forma adjacente.. ou seja as posições de memória que saem no escape %d não são adjacentes ... então eu não conseguiria acessar os valores seguindo essa lógica.. Não tenho ideia de como fazer isso agora.. :/
  25. Ola, Alguem pode me ajudar a fazer um programa que mostre 3 numeros aleatorios da seguinte maneia. o primeiro numero vai de 1 a 10 o segundo de 11 a 20 e o terceiro de 21 a 30; Eu estou aprendendo a linguagem a pouco tempo, e me disseram pra fazer com vetores porém so consigo criar um.

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

×