Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''linguagem c''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Apenas para fins didáticos, e sem me responsabilizar por uso indevido, apresento este gerador de cpf. O gerador aqui proposto pode gerar até 11 cpfs de uma só vez, e foi criado em linguagem C. Quantidades inferiores a 1, ou maior que 11 não passa pela entrada, como também qualquer caractere, passando mesmo tão somente dígitos. Fica em sua responsabilidade o uso, não indicado pelo autor que sou eu mesmo. Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2017/10/gerador-de-cpf-linguagem-c.html
  2. mkz301

    Dúvida!!!

    Galera estou com uma dúvida! Gostaria de saber porque não posso chamar o método scanf() como parâmetro da chamada de uma função. Ex: funcao(scanf("%d",&n)); Ao fazer isso ele sempre passa o valor 1 como parâmetro. Alguém poderia me explicar? Desde já agradeço!
  3. #include<stdio.h> #include<stdlib.h> main(){ int a,b; printf(" informe o numero de linhas da matriz 1"); scanf("%f",&a); printf(" informe o numeros de coluna da matriz 1"); scanf(" %f",&b); int x [a]; int c,d; printf(" informe o numero de linhas da matriz 1"); scanf("%f",&c); printf(" informe o numeros de coluna da matriz 1"); scanf(" %f",&d); int y [c][d]; for(int i=0;i<1;i++){ for(int j=0;j<1;j++){ int z= x[a]+y[c][d]; }} }
  4. Olá programadores de C inteligentes, eu sou novo no Fórum, mas preciso de ajuda... estou a programar um jogo de xadrez em linguagem C, as peças estão funcionando bem em geral, mas há uma peça que está bem teimosa, o CAVALO! extrai parte do código de forma bem besta(o programa inteiro não é assim), para ver se vocês conseguem ver o problema: #include <stdio.h> char xadrez[8][8] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', 'c', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '} }; int ImprimeTabuleiro() { system("cls"); int linha, coluna, repete; for (linha=0; linha<8; linha++) { for(repete=0; repete<3; repete++) { for (coluna=0; coluna<8; coluna++) { char peca = xadrez[linha][coluna]; char letra = ((linha+coluna)%2==0) ? '\xB2' : ' '; letra = (repete == 1 && peca != ' ') ? peca : letra; if((linha+coluna)%2==0) { printf("\xB2\%c\xB2", letra); } else { printf(" %c ", letra); } } printf(" \n"); } } } int movimento(int LinOri, int ColOri, int LinDes, int ColDes) { int mover = 0; char peca; int Vertical = abs(LinDes - LinOri); int Horizontal = abs(ColDes - ColOri); if((peca == 'c') && (Vertical == 2 && Horizontal == 1)) { mover = 1; } if((peca == 'c') && (Vertical == 1 && Horizontal == 2)) { mover = 1; } if(mover == 1) { xadrez[LinDes][ColDes] = xadrez[LinOri][ColOri]; xadrez[LinOri][ColOri] = ' '; return 1; } else { return 2; } } int main() { int LinOri, LinDes, ColOri, ColDes; while (1) { ImprimeTabuleiro(); printf("\nCOORDENADAS DE ORIGEM DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinOri, &ColOri); printf("\nCOORDENADAS DE DESTINO DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinDes, &ColDes); if (movimento(LinOri,ColOri,LinDes,ColDes) != 1) { printf("\nERRO: O CAVALO não SE MOVIMENTA ASSIM!"); getch(); } } getch(); return 0; } Na teoria, se eu digitasse 3 3 e depois 1 2, era para ele se movimentar. por favor, me digam qual é o problema... Obrigado!
  5. Olá pessoal, mais uma das questões difíceis para iniciante, estou tendo dificuldades para encontrar os erros no algoritmo que desenvolvi, conto com a colaboração de todos, e serei grato a toda dica construtiva de vocês que são mais experientes. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); } inicol=1; fimcol=n; inilin=1; fimlin=n; degrau=0; logico=1; while((logico=1)&&(inicol<fimcol) && (inilin<fimlin)){ for(i=inicol;i=fimcol;i++){ if(matriz[inilin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimcol=(fimcol-1); for(i=fimcol;i=inicol;i--){ if(matriz[fimlin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimlin=(fimlin-1); for(i=fimlin;i=inilin;i--){ if(matriz[i][inicol]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } inicol=(inicol+1); } if(logico=1){ printf("A matriz e inca"); } else{ printf("A matriz não e inca"); } return 0; } Até essa parte abaixo o algoritmo está executando ok. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); }
  6. #include <stdio.h> int palindromo (int num){ /*Essa função acha o reverso do número e o retorna para a função principal*/ int rev; while(num){ rev = (num%10 + rev)*10; num = num/10; } return (rev); } int main (void){ /*Na função main, o valor é inserido pelo usuário e o programa chama a função palindromo para determinar seu reverso. Depois a função main compara se o reverso é igual ao numero e se isso for verdade retorna se ele é palindromo.*/ int pal,num; printf("Informe um valor: "); scanf("%d",&num); //printf("%d",num); pal = palindromo(num)/10; if (pal==num) printf("O numero %d é palindromo!!",pal); else printf("O numero %d não é palindromo!!",pal); return 0; system ("pause"); } O que está em negrito é a adaptação que eu tive que fazer. Se executado o código, sem atribuir a função palíndromo dividido por 10 à uma variável, o alor retornado da função possuía sempre uma casa decimal a mais, ou seja, se o usuário digita 121 retornaria que o valor 1210 não é palíndromo. Gostaria da ajuda do pessoal para saber porque o número está retornando multiplicado por 10 e não em seu valor correto.
  7. Consegui fazer o código para o registro(o que mudou bastante o foco da postagem, hehe), agora a duvida é como fazer a exclusão, desses dados. A exclusão deve ser feita utilizando a matricula dos alunos registrados. Agradeço qualquer ajuda. ENUNCIADO: Faça um programa pra um sistema acadêmico que gerencia o desempenho dos alunos. O programa deve conter um registro com os membros: nome, matrícula, nota, frequência e turma para os alunos. O programa deve receber esses valores pelo teclado para um certo número de alunos previamente digitados pelo teclado (para isso, utilize alocação de memória). Peça para o usuário digitar uma opção do seguinte menu e faça o que se pede: 1-Cadastrar aluno; 2-Excluir um aluno. #include<stdlib.h> #include<stdio.h> struct dados { char nome [100]; int matricula; float nota; int turma; float frequencia; }; int main () { struct dados aluno, *p; int y, i, opcao, senha, n; do{ printf("Escolha uma dentre as seguintes opcoes:\n1-Cadastrar aluno.\n2-Excluir aluno.\n\n"); scanf("%d", &opcao); switch(opcao){ case(1): printf("\n\nDigite a senha: "); scanf("%d", &senha); if(senha == 1234){ printf("Digite o numero de alunos que deseja cadastar: "); scanf("%d", &y); p = (dados *) malloc(y *sizeof(dados)); for(i=1; i<=y; i++){ fflush (stdin); printf("\n\nNome: "); gets(aluno.nome); do{ printf("Matricula: "); scanf("%d", &(aluno.matricula)); } while (aluno.matricula<0 || aluno.matricula>100000); do{ printf("Nota: "); scanf("%f", &(aluno.nota)); }while (aluno.nota<0 || aluno.nota>10); do{ printf("Frequencia(percentual): "); scanf("%f", &(aluno.frequencia)); }while( aluno.frequencia>100 || aluno.frequencia<0); do{ printf("Turma: "); scanf("%d", &(aluno.turma)); }while(aluno.turma<1 || aluno.turma>4); } printf("\n\nAperte 1 para voltar ao menu: "); }else{ printf("\n\nAperte 1 para voltar ao menu: "); } break; case(2): printf("\n\nEm breve...\n\n"); printf("\n\nAperte 1 para voltar ao menu: "); break; } scanf("%d", &n); system("cls"); }while(n==1); return 0; }
  8. Meu primeiro projeto de linguagem C é esse xadrez, fiz como uma realização pessoal, pois desde o começo do meu curso de engenharia de software queria fazer algo parecido em C. Para executar o xadrez basta copiar o arquivo para a área de trabalho do seu linux abrir o terminal e executar 2 comandos cd Área\ de\ Trabalho/ ./a.out A dinâmica do xadrez é bem simples, no arquivo anexado tem as instruções de entrada para jogar, consiste em um xadrez para 2 jogadores onde ambos jogam no mesmo teclado executando os movimentos alternadamente. Para o feedback e mais informações sobre, contate no e-mail gustavomarques.gml@gmail.com Disponibilizarei o código assim esse tópico tiver um bom feedback. Segue o link de download do xadrez. https://www.dropbox.com/s/isnjerj8ybonykh/Xadrex.zip?dl=0
  9. Booa noite. Galera, estou com um problema. Depois que coloco esse programa para compilar, ele lê os dados que o usuário insere porém na função de imprimir para no meio da execução e sai do programa, o que eu errei? #include <stdio.h> #include <stdlib.h> #define TAM 30 char opc; typedef struct lista { int codigo; float media; struct lista *prox; }LISTA; LISTA*inicia() { return NULL; } LISTA*cadastrar(LISTA*l) { LISTA*elem = (LISTA*)malloc(sizeof(LISTA)); if(elem == NULL) { exit(1); // SE NÃO ALOCOU O NOVO ELEMENTO, SAIA DO PROGRAMA. } printf("INFORME O CODIGO DO ALUNO: "); scanf(" %d", elem->codigo); printf("INFORME A MEDIA DO ALUNO: "); scanf(" %f", elem->media); elem->prox=l; return elem; } LISTA*imprimi_cadastro(LISTA*l) { LISTA*aux; for(aux=l; aux!=NULL; aux=aux->prox) printf("CODIGO: %d\n", aux->codigo); printf("MEDIA: %f", aux->media); } int main() { LISTA*l; inicia(); while(opc != 'S'){ l = cadastrar(l); l = imprimi_cadastro(l); printf("\nDESEJA CONTINUAR?(S)<SAIR> (C)<CONTINUAR>: "); scanf(" %c", &opc); printf("\n"); } system ("pause"); return 0; } POR FAVOR ME AJUDEM
  10. fala galera beleza? estou ralando pra fazer um codigo, gostaria de saber se poderiam me ajudar. O enunciado do exercicio diz o seguinte: 10) Escreva programa que leia o número de horas semanais trabalhadas e o valor da hora de trabalho e calcule o salário semanal. Inclua as horas extras pagando 50% a mais que o valor das horas normais (40hs). Imprima o salário do empregado. meu codigo esta assim, não terminei a parte que calcula os 50% ainda, pois não consegui sair dai, da erro quando calcula o For com hora extra.. #include <stdlib.h> #include <stdio.h> int main() { float valor; float hora; int dia; float total; float horae; int string; printf("digite o valor da hora em seu trabalho:\n"); scanf("%f", &valor); printf("quantas horas por dia voce trabalha:\n"); scanf("%f", &hora); printf("quantos dias por semana voce costuma trabalhar?\n"); scanf(" %i", &dia); printf("você faz hora extra?\n digite 1 para sim ou 2 para não:\n "); scanf("%i", &string); for(string=0;string!=1&&2;printf("valo incorreto, tente de novo\n"), scanf("%i", &string)); if(string==1) { printf("quantas extras horas por semana?\n"); scanf("%f\n", horae); total = valor*hora*dia*horae; } else if (string==2) { total = valor*hora*dia; } printf("este é o seu salario semanal:\n R$%.2f\n\n",total); system("pause"); return 0; }
  11. Olá pessoal sou no aqui forum, como estou estudando linguagem C agora estou com dúvidas e problemas a serem resolvidos, e tenho a seguinte questão que estou tentando resolver, porém os resultados do programas que fiz esta dando errado gostaria de saber onde posso estar errando, agradecido. Escrever um algoritmo que le um valor N inteiro e positivo e que calcula e escreve o valor de E. E = 1 + 1/1! + 1/2! + 1/3!... + 1/N!. consegui isso, mas a respostas estão dando erradas. #include<stdio.h> int main (void){ int i, n; float fat, result; printf("Digite um numero : \n "); scanf("%d", &n); fat = 1; for(i=1; i<=n; i++){ fat = fat * i; result = result + (1/fat); } printf("O valor de E é %d :", result); return 0;
  12. #include <iostream> #include <stdio.h> #include <vector> #include <string> #include <string.h> #include <sstream> #include <stdlib.h> #include <algorithm> #include <cmath> #include <ctype.h> #include <iomanip> using namespace std; int main() { char entrada[100]; bool isTimeMaiscula=true; fflush(stdin); while(gets(entrada)) { for(unsigned int i=0;entrada[i] != '\0' ;i++) { if(entrada[i] != ' ') { if(isTimeMaiscula) { //TEM QUE SER MAÍSCULA if(isupper(entrada[i])) { isTimeMaiscula=false; } else { entrada[i] = toupper(entrada[i]); isTimeMaiscula=false; } } else { //TEM QUE SER MINÚSCULA if(islower(entrada[i])) { isTimeMaiscula=true; } else { entrada[i] = tolower(entrada[i]); isTimeMaiscula=true; } } } } puts(entrada); isTimeMaiscula = true; fflush(stdin); } return 0; } Estava resolvendo um problema no URI no link: https://www.urionlinejudge.com.br/judge/pt/problems/view/1234 Notei que quando eu colocava o comando "fflush(stdin)" só imprimia a primeira entrada do arquivo e não consegui pensar numa hipótese para isso alguém poderia me dar algumas possíveis hipóteses? OBS) Basta tirar o "fflush()" que resolver o problema.
  13. Galera, Estou tentando criar uma urna eletrônica, mas estou com um pouco de dificuldade. No momento que o usuário vai inserir o seu voto, por exemplo, existem 4 opções: 1-Nulo 2-Opção1 3-Opção2 4-Opção3 Ou seja, poderá entrar como dado no scanf valores de 1 até 4. Tentei utilizar if else, para limitar a esses valores, mas não foi válido. Sendo assim, se na hora do voto, o usuário digitar um caractere especial, ou uma letra, ele trava a urna. Se alguém puder ajudar, agradeço.
  14. Boas eu tenho um projeto na escola que consiste em gerir uma lista de compras onde temos que criar categorias, criar produtos, nome, categoria, caloria, com/sem lactose, criar lista de compras, inserir eliminar e editar produtos, ler e gravar as listas de compras em formato txt, eu fiz o codigo mas não estou a conseguir acabar e tem varios erros gostava que vissem e me dessem dicas como acabar e que erros estou a cometer, neste momento não sei como meter os produtos nem a dizer quantas calorias e lactose. Aqui vai o codico: #include <stdio.h> #include <string.h> #include <locale.h> //ESTRUTURAS// struct categoria{ int carboidratos, verduras, frutas; int carnes, laticinios, lipidos; char nome[50]; char lactose[50]; char categoria[100]; int kcl; } lista; // FUNÇÕES// void criar_categorias_produto(); void mostrar_categorias(); void criar_produtos(); void inserir_listas(); void menu_principal(); void modificar_lista(); void remover_lista(); void remover_categorias(); //VARIAVES // int listacount=1; //FUNÇÃO MAIN// int main(){ menu_principal(); } //FUNÇÕES// void menu_principal(){ int opcao; printf("\n\n-Menu\n\n"); printf("1- Criar uma categoria\n"); printf("2- Inserir uma lista\n"); printf("3- Remover as listas\n"); printf("4- Modificar uma lista\n"); printf("5- Remover os produtos de uma lista\n"); printf("6- Mostrar uma categoria\n"); printf("7- Remover uma categoria\n"); printf("8. Sair\n"); do { printf("\n\nO que pretende fazer: "); scanf(" %d",&opcao); switch (opcao) { case 1: criar_categorias_produto(); //criaçao das categorias break; case 2: //inserir uma lista inserir_lista(); break; case 3: //remover listas remover_listas(); break; case 4: //modificar listas modificar_lista(); break; case 5: //remover produtos remover_produto(); break; case 6: //mostrar categorias criadas mostrar_categorias(); break; case 7: //remover categorias remover_categorias(); exit(0); break; case 8: // terminar o programa exit(0); break; default: // opção inválida break; } } while (opcao != 8); } void criar_categorias_produto(){ // algoritmo para criar uma agenda char nome_categoria[50]; char nome_categoriatxt[50]; char nome_categoriaics[50]; char nome_categoriacsv[50]; FILE *categoria; printf("\n\nDigite o nome para a sua categoria: "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu strcpy(nome_categoriatxt,nome_categoria); strcat(&nome_categoriatxt, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado categoria = fopen(nome_categoriatxt, "w"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na criacao do arquivo\n"); return; } strcpy(nome_categoriaics,nome_categoria); strcat(&nome_categoriaics, ".ics");//acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .ics categoria = fopen(nome_categoriaics, "w"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } strcpy(nome_categoriacsv,nome_categoria); strcat(&nome_categoriacsv, ".csv");//acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .csv categoria = fopen(nome_categoriacsv, "w"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } printf("\nCategoria criada com sucesso em tres formatos de ficheiro (txt, ics, csv) !\n\n"); fclose(categoria); //fecha o ficheiro agendas } void inserir_lista(){ // algoritmo para inserir uma nova lista em uma categoria char nome_categoria[50]; char nome_categoriatxt[50]; char nome_categoriaics[50]; char nome_categoriacsv[50]; FILE *categoria; //abre a lista pretendida pelo o utilizador e apresenta as opcoes para adicionar os produtos printf("\nDigite o nome da sua lista: "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu strcpy(nome_categoriatxt,nome_categoria); strcat(&nome_categoriatxt, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt strcpy(nome_categoriaics,nome_categoria); strcat(&nome_categoriaics, ".ics"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .ics strcpy(nome_categoriacsv,nome_categoria); strcat(&nome_categoriacsv, ".csv"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .csv //guarda a variavel titulo indicada pelo o utilizador printf("Digite o titulo da lista: "); fflush(stdin); fgets(lista.categoria,50,stdin); lista.categoria[strlen(lista.categoria)-1]='\0'; //guarda a variavel local indicada pelo o utilizador printf("Digite o local da lista: "); fflush(stdin); fgets(lista.nome,50,stdin); lista.nome[strlen(lista.nome)-1]='\0'; //guarda a variavel descricao indicada pelo o utilizador printf("Digite a descricao do lista: "); fflush(stdin); fgets(lista.lactose,100,stdin); lista.lactose[strlen(lista.lactose)-1]='\0'; //gravaçao no txt categoria = fopen(nome_categoriatxt, "a+"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } fprintf(categoria,"\nCarboidratos: %d\n",lista.carboidratos); fprintf(categoria,"\nVerduras: %d\n",lista.verduras); fprintf(categoria,"\nFrutas: %d\n",lista.frutas); fprintf(categoria,"\nCarnes: %d\n",lista.carnes); fprintf(categoria,"\nLaticinios: %d\n",lista.laticinios); fprintf(categoria,"\nLipidos: %d\n",lista.lipidos); //gravaçao em ics categoria = fopen(nome_categoriaics, "a+"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } fprintf(categoria,"\nCarboidratos: %d\n",lista.carboidratos); fprintf(categoria,"\nVerduras: %d\n",lista.verduras); fprintf(categoria,"\nFrutas: %d\n",lista.frutas); fprintf(categoria,"\nCarnes: %d\n",lista.carnes); fprintf(categoria,"\nLaticinios: %d\n",lista.laticinios); fprintf(categoria,"\nLipidos: %d\n",lista.lipidos); //gravaçao no csv categoria = fopen(nome_categoriacsv, "a+"); // abre em modo de escrita if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } fprintf(categoria,"\nCarboidratos: %d\n",lista.carboidratos); fprintf(categoria,"\nVerduras: %d\n",lista.verduras); fprintf(categoria,"\nFrutas: %d\n",lista.frutas); fprintf(categoria,"\nCarnes: %d\n",lista.carnes); fprintf(categoria,"\nLaticinios: %d\n",lista.laticinios); fprintf(categoria,"\nLipidos: %d\n",lista.lipidos); printf("\nLista inserida com sucesso!\n\n"); fclose(categoria); } void mostrar_categorias() { // algoritmo para mostrar eventos de uma agenda int c; int opcao; char nome_categoria[50]; char nome_categoriatxt[50]; char nome_categoriaics[50]; char nome_categoriacsv[50]; FILE *categoria; printf("\n\n---------------------Menu----------------------\n\n"); printf("1. Ficheiro txt\n"); printf("2. Ficheiro csv\n"); printf("3. Ficheiro ics\n"); printf("-----------------------------------------------\n\n"); scanf(" %d", &opcao); printf("\nDigite o nome da sua categoria: "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu if(opcao==1) { strcpy(nome_categoriatxt,nome_categoria); strcat(&nome_categoriatxt, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt categoria=fopen(nome_categoriatxt,"r"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } printf("\n\nEsta e a categoria %s:\n\n",nome_categoriatxt); if (categoria) { while ((c = getc(categoria)) != EOF) { putchar(c); } } } else if(opcao==2) { strcpy(nome_categoriacsv,nome_categoria); strcat(&nome_categoriacsv, ".csv"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt categoria=fopen(nome_categoriacsv,"r");//abertura do ficheiro em modo leitura if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } printf("\n\nEsta e a categoria %s:\n\n",nome_categoriacsv); if (categoria) { while ((c = getc(categoria)) != EOF) { putchar(c); } } } else if(opcao==3) { strcpy(nome_categoriaics,nome_categoria); strcat(&nome_categoriaics, ".ics"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt categoria=fopen(nome_categoriaics,"r"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } printf("\n\nEsta e a agenda %s:\n\n",nome_categoriaics); if (categoria) { while ((c = getc(categoria)) != EOF) { putchar(c); } } } else {} fclose(categoria); } void modificar_lista(){ // algoritmo para modificar uma lista de uma categoria //Menu de edicao dqs listas int op_alterar; char c; int temp; int numerolista,linha_lista; int num_lista(); char nome_categoria[50]; FILE *categoria, *categoria2; printf("\n\n---------------------Menu de Edicao----------------------\n"); printf("\nDigite o nome da categoria que pretende editar: "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu strcat(&nome_categoria, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt categoria = fopen(nome_categoria, "r"); // abre em modo de leitura if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } //pergunta ao utilizador qual o numero do evento que pretende modificar. printf("\nQual a lista que pretende mudar: "); scanf(" %d",&numerolista); linha_lista= (11 * numerolista) - 9; //coloca ficheiro categoria no inicio. rewind(categoria); //abre um copy.txt em modo de escrita categoria2 = fopen("copy.txt", "w"); // abre em modo de escrita if(categoria2 == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } c = getc(categoria); while (c != EOF) { if (c == ' ') { temp++; } //até á linha da lista, copia a informaçao de um ficheiro para o outro if (temp != linha_lista) { putc(c, categoria2); } else //quando a linha da lista aparece { while ((c = getc(categoria)) != ' ') { fprintf(categoria,"\nLsta: %d\n",listacount++); num_lista(); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista : "); scanf(" %d",&lista.carboidratos); fprintf(categoria2,"\nCArboidratos: %d\n",lista.carboidratos); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista : "); scanf(" %d",&lista.verduras); fprintf(categoria2,"Verduras: %d\n",lista.verduras); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista: "); scanf(" %d",&lista.frutas); fprintf(categoria2,"Frutas: %d\n",lista.frutas); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista: "); scanf(" %d",&lista.carnes); fprintf(categoria2,"Carnes: %d\n",lista.carnes); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista: "); scanf(" %d",&lista.lipidos); fprintf(categoria2,"Lipidos: %d\n",lista.lipidos); //escreve no ficheiro txt(categoria) a categoria indicada pelo o utilizador printf("Digite a categoria da lista: "); scanf(" %d",&lista.laticinios); fprintf(categoria2,"Laticinios: %d\n",lista.laticinios); } fflush(stdin);//limpar o buffer do teclado putc(' ', categoria2); //poe ' ' no novo ficheiro while ((c = getchar()) != ' ') { putc(c, categoria2); //obtem os dados enviados pelo utilizador e copias para o segundo ficheiro fputs(" ", categoria2); temp++; } //continua ate ao fim do ficheiro c = getc(categoria); } //fecha ambos os ficheiros fclose(categoria); fclose(categoria2); //elimina o ficheiro original remove(nome_categoria); //muda o nome do novo ficheiro para o nome do ficheiro original e abre-o em modo leitura rename("copy.txt", nome_categoria); categoria=fopen(nome_categoria,"r"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } //le o caratere do ficheiro c = getc(categoria); //ate o ultimo carater do ficheiro ser encontrado while (c != EOF) { printf("%c", c); //todos os carateres obtidos são copiados c = getc(categoria); } //fecha o ficheiro fclose(categoria); } } void remover_listas() { // algoritmo para remover um evento de uma agenda FILE *categoria; char nome_categoria[50]; char nome_categoriatxt[50]; char nome_categoriaics[50]; char nome_categoriacsv[50]; printf("\nDigite o nome da lista que pretende remover das categorias : "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu strcpy(nome_categoriatxt,nome_categoria); strcat(&nome_categoriatxt, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt categoria=fopen(nome_categoriatxt,"w"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } strcpy(nome_categoriaics,nome_categoria); strcat(&nome_categoriaics, ".ics"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .ics categoria=fopen(nome_categoriaics,"w"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } strcpy(nome_categoriacsv,nome_categoria); strcat(&nome_categoriacsv, ".csv"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .csv categoria=fopen(nome_categoriacsv,"w"); if(categoria == NULL) { printf("Problemas na Criacao do arquivo\n"); return; } printf("\nListas removidas com sucesso\n"); fclose(categoria); } void remover_categorias() { char nome_categoria[50]; char nome_categoriatxt[50]; char nome_categoriaics[50]; char nome_categoriacsv[50]; printf("\nDigite o nome da categoria que pretende remover: "); fflush(stdin); //limpar o buffer do teclado gets(nome_categoria); //obtem o nome que o utilizador escreveu strcpy(nome_categoriatxt,nome_categoria); strcat(&nome_categoriatxt, ".txt"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .txt remove(nome_categoriatxt); strcpy(nome_categoriaics,nome_categoria); strcat(&nome_categoriaics, ".ics"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .ics remove(nome_categoriaics); strcpy(nome_categoriacsv,nome_categoria); strcat(&nome_categoriacsv, ".csv"); //acrescenta ao nome que o utilizador indicou o formato de ficheiro em que vai ser gravado, neste caso .csv remove(nome_categoriacsv); printf("\nCategoria removida com sucesso\n\n"); }
  15. E ae pessoal preciso de uma ajuda para implementar este programa: como posso criar arquivos com nomes dos candidatos escolhidos ao criar uma sessão e armazenar os votos para imprimir os resultados parciais. Uma comunidade sempre realiza reuniões administrativas para escolherem os líderes das secretarias que irão participar da administração do bairro durante o próximo ano. Eles precisam de um sistema para gerenciar a indicação e votação dos candidatos aos cargos. O sistema deverá permitir o início de uma nova seção de votação. Durante este início, o diretor define uma chave que será usada por todos eleitores que desejarem participar das votações.Após o início da seção, o sistema permite a definição do nome da secretaria e da lista de nomes indicados ao cargo. O sistema então submete os dados para um arquivo para que outras janelas no mesmo computador consigam votar. Após a submissão dos dados, o sistema ficará em uma tela exibindo os resultados parciais. Estes resultados são obtidos lendo o arquivo que estará registrando os votos.O sistema deverá permitir participar de uma seção já ativa. Para isto, será solicitada a chave da seção. Após a leitura da chave, o sistema tentará ler o arquivo responsável pela seção e obter o nome da secretaria que atualmente está em votação e a lista de nomes dos candidatos. O sistema permitirá que o usuário escolha um candidato e registrará seu voto no arquivo.
  16. Galera alguém poderia me ajudar? Estou com dúvidas em implementar uma busca com sentinela e binária em C com arquivo e não vetor! . Se possível alguém poderia fazer um módulo com esses tipos de busca para eu entender como funciona? Lembrando que eu preciso desse módulo em arquivo ;) Obrigado e aguardo retorno!
  17. Boa noite pessoal, estudo ciência da computação e estou na modalidade do curso em C que estuda métodos de pesquisa e ordenação, porém meu professor não sabe explicar muito bem e estou com muita dificuldade para entender os algoritmos (bubble sort, quicksort e etc). Poderiam me ajudar com essas perguntas? Vi alguns vídeos no youtube mas também fiquei com dificuldades. Qual método de ordenação gasta mais tempo para classificar o conjunto de dados? O método Bubble Sort, pois consome tempo e processamento. (de acordo com o que eu entendi pelo meu professor seria o método bubble sort) Qual método de ordenação gasta menos tempo para classificar o conjunto de dados? O Quicksort é um método de ordenação mais rápido e eficiente. (e o método mais rápido o quicksort) Por que para algumas quantidade de valores, o quicksort teve o tempo zerado. Isso era esperado? Explique! a)Qual é a chamada para executar o método quick sort? Escreva a instrução. b)Como é escolhido o elemento pivô? c)Após a primeira partição do vetor, como ficarão as duas chamadas dentro da função quicksort()? d)Quantas chamadas ao método quicksort() ocorrerão? Segue um código que meu professor passou e pediu para explicarmos o porquê de algumas coisas, mas tentei rodar ele no DEVC++ e não consigo entender!! #include<stdio.h> #include<time.h> #define MAX 10 void aleatorio(); void exibir(); void quicksort(int e,int d); int a[MAX]; main(){ aleatorio(); printf("\nVetor gerado\n"); exibir(); system("pause"); quicksort(0,MAX-1); printf("\n\nVetor ordenado\n"); exibir(); } void exibir(){ int i; for(i=0;i<MAX;i++) printf("a[%d]=%d\n",i,a[i]); } void aleatorio(){ int i; srand(time(NULL)); for(i=0;i<MAX;i++) a[i]=rand()%MAX; } void quicksort(int e,int d){ int i; if(d>e){ i=particao(e,d); /* Particionando o vetor */ quicksort(e,i-1); quicksort(i+1,d); } } int particao(int e,int d){ int v,i,j,t; v=a[d]; i=e-1; j=d; do{ do{ i=i+1; /* Procura o maior*/ }while ((a[i]<v) && (i<d)); do{ j=j-1; /* Procura o menor*/ } while ((a[j]>v) && (j>0)); t=a[i]; a[i]=a[j]; a[j]=t; } while (j > i); // colocando o pivo a[d] em seu lugar a[j]=a[i]; a[i]=a[d]; a[d]=t; return i; }
  18. Queria saber qual o erro no meu jogo? #include<stdio.h> int main(void) { int tabuleiro[5][5]; int linhanavio1, colunanavio1; int linhanavio2, colunanavio2; int tentativa1=0, acertos1=0; int tentativa2=0, acertos2=0; printf("\n\n Bem vind@ a Batalha Naval! \n\n"); printf(" Voce deve escolher linha e coluna, ate acertar o navio!\n\n Boa Sorte!\n\n\n"); void zeraTabuleiro(int tabuleiro[][5]) { int i, j; for(i = 0 ; i < 5 ; i++) for(j = 0 ; j < 5 ; j++) tabuleiro[j] = 0; } void exibeTabuleiro(int tabuleiro[][5]) { int i, j; putchar('\n'); for(i = 0 ; i < 5 ; i++) { for(j = 0 ; j < 5 ; j++) { if(tabuleiro[j] == 0) printf(" . "); else if(tabuleiro[j] == 1) printf(" X "); else if (tabuleiro[j] == 2) printf(" ~ "); if(j != (5-1)) printf("|"); } putchar('\n'); } putchar('\n'); } printf("\n\n\n Player 1, escolha as coordenadas para seu navio! (não deixe o player 2 ver!)"); printf("\n\n Qual a linha do navio?"); scanf("%d" , &linhanavio1); printf("\n E a coluna?"); scanf("%d" , &colunanavio1); system("cls"); //limpei tudo para o player 2 não ver void exibeTabuleiro(int tabuleiro[][5]); printf("\n\n Player 2, escolha as coordenadas para seu navio! (não deixe o player 1 ver!)"); printf("\n\n Qual a linha do navio?"); scanf("%d" , &linhanavio2); printf("\n E a coluna?"); scanf("%d" , &colunanavio2); system("cls"); printf("\n\n\n\n VAMOS COMECAR! "); printf("\n\n Voce deve atirar ate achar o navio! "); printf("\n\n\n"); void exibeTabuleiro(int tabuleiro[][5]); do{ printf("\n\n Player 1, voce quer acertar qual linha?"); scanf("%d" , &i); printf("\n\n Player 1, voce quer acertar qual coluna?"); scanf("%d" , &j); tentativa1++; if (i==linhanavio2 && j==colunanavio2){ i=i-1; j=j-1; acertos1++; tabuleiro[j] = 1; void exibeTabuleiro(int tabuleiro[][5]); printf("\n\n PARABENS PLAYER 1 VOCE VENCEU EM %d TENTATIVAS" , tentativa1); printf("\n\n Player 2 voce perdeu na\s %d tentativas ):" , tentativa2); return 0; } else if (i!=linhanavio2 || j!=colunanavio2) { i=i-1; j=j-1; tabuleiro[j]= 2; void exibeTabuleiro(int tabuleiro[][5]); printf("\n\nPlayer 1 , voce acertou na agua ):\n\n"); } void exibeTabuleiro(int tabuleiro[][5]); printf("\n\n Player 2, voce quer acertar qual linha?"); scanf("%d" , &i); printf("\n\n Player 2, voce quer acertar qual coluna?"); scanf("%d" , &j); tentativa2++; if (i==linhanavio1 && j==colunanavio1){ i=i-1; j=j-1; acertos2++; tabuleiro[j] = 1; void exibeTabuleiro(int tabuleiro[][5]); printf("\n\n PARABENS PLAYER 2 VOCE VENCEU EM %d TENTATIVAS" , tentativa2); printf("\n\n Player 1 voce perdeu na\s %d tentativas ):" , tentativa1); return 0; } else if (i!=linhanavio1 || j!=colunanavio1) { i=i-1; j=j-1; tabuleiro[j]= 2; void exibeTabuleiro(int tabuleiro[][5]); printf("\n\nPlayer 2 , voce acertou na agua ):\n\n"); } } while (acertos1==0 || acertos2==0); }
  19. Olá Galera, Estou com uma aplicação que não sei por onde partir. Preciso de Ajuda. Tem um programa em um controlador arduino, com acesso a rede RJ45, preciso alimentar o MySql, irei acessar de uma conexão de internet, para acessar o Banco de dados de uma hospedagem de site, ou seja o ip é fixo onde ficará o banco de dados, preciso autenticar usuario e senha. o Arduino irá acessar alimentar (incrementar o Mysql ) com dados que numericos tipo tabela excel. e irá ler algumas informações do Mysql, diferentes da que o Arduino incrementou. Como fazer isso? alguém pode me ajudar?
  20. Olá, pessoas... Sou novo aqui e um dos motivos de me cadastrar nesse fórum é perguntar algo que talvez seja considerado bem iniciante pra muitos (bom, sou leigo no assunto também né rsrsrsrs). Queria saber se há algum comando na linguagem C que permita ao usuário utilizar a o comando ctrl+V quando for inserir alguma informação no programa, que será captada por scanf(), gets(), etc.
  21. Criar um programa em C com tema livre que consiga satisfazer os seguintes requisitos: - Struct principal deve possuir pelo menos 10 campos; - Implementar um lista, fila ou pilha, em qualquer uma das escolhas usando alocação dinâmica; - Utilizar pelo menos 3 métodos de ordenação, ordenando pelo menos por 3 campos. ex ordenar por nome, idade e email. - Criar as funções para Busca binária e sequencial, fazendo busca por pelo menos 3 campos. - Utilizar todos os conteúdos abordados nas disciplinas de programação, focando na aparência, interatividade e usabilidade.
  22. Geramos doze côres diferentes para cada posição, pode ver na tabela que temos também doze posições, só que apenas uma entre as dozes côres geradas são chamadas de cada vez para o preenchimento da posição. o funcionamento é completamente aleatório e automático, os retângulos são coloridos normalmente sem que nenhuma côr se repita. Pensam que foi fácil fazer isto? É possível fazer coisas incríveis com isto mesmo sendo no cmd do windows. Veja abaixo uma imagem do programa: Assistam ao vídeo no link abaixo: https://www.youtube.com/watch?v=nJ4n88NBl4M&feature=youtu.be
  23. Agora otimizado e customizado este vetor totalmente aleatório ficou mais bonito, forcei a função sorteia (...);gerar duas sequências aleatórias e sem repetições, assim, uma preenche a tabela que parece uma matriz porém não é, e a outra se transforma em posições para o vetor dinâmico, assim os números gerados pela primeira sequência que preencheu a a tabela são chamados aleatoriamente pelos números da segunda. Então as contagens segue normalmente entre "zero e onze", e no final, de cada apresentação são gerados outras duas sequências diferentes que uma preenche novamente a tabela e a outra chama novamente cada número correspondente da posição, limitei em "três", apresentações sequenciais aleatórias, para não estender muito o vídeo, más poderia colocar dezenas deapresentação e deixá-lo rodando quanto tempo fosse necessário para a chegada do fim, que termina imprimindo meu e-mail e meu nome. Este código não está disponível para visualização, más se realmente lhe interessa entre em contato comigo. https://www.youtube.com/watch?v=AI46q6ScPBo
  24. GENTE ESSES são OS EXERCÍCIOS QUE PRECISO DE AJUDA,SE TIVEREM RESOLVIDOS SERVEM TAMBÉM,POR FAVOR É PRA AMANHA TO DESESPERADO
×
×
  • Criar Novo...