Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''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. Olá programadores, recentemente embarquei nessa via da programaçao, e gostaria de ajuda para resolver o seguinte problema: Codigo a seguir: #include <stdio.h> int main(){ char nome, profissao, cpf, aniversario, email; int pergunta1; printf("O que voce deseja fazer?\n"); printf("[1]Preencher cadastro\n"); printf("[2]Sair\n"); scanf("%d", pergunta1); if (pergunta1 == 1){ setbuf(stdin, NULL); printf("\n Qual é o seu nome completo?\t"); scanf(" %[^\n]s",&nome); printf("\n Qual é sua data de nascimento? (dd/mm/aaaa)\t"); scanf(" %[^\n]d",&aniversario); printf("\n Qual é o seu email?\t"); scanf(" %[^\n]s",&email); printf("\n Qual o seu CPF? (Use apenas números.)\t"); scanf(" %[^\n]s", &cpf); printf("\n Qual é a sua profissão?\t"); scanf(" %[^\n]s",&profissao); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); printf("[1]Prosseguir\n"); printf("[2]Editar\n"); int pergunta2; scanf("%d", pergunta2); if(pergunta2 = 1) printf("Ainda não existe para onde prosseguir\n"); else if(pergunta2 = 2){ printf("Qual termo esta errado?\n\n"); printf("[1]Nome: %s\n", nome); printf("[2]Aniversario: %s\n", aniversario); printf("[3]Email: %s\n", email); printf("[4]Profissao: %s\n", profissao); printf("[5]CPF: %s\n", cpf); int pergunta3; scanf("%d", pergunta3); if(pergunta3 == 1){ printf("Corrija o seu nome completo: "); scanf(" %[^\n]s", nome); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); } else if(pergunta3 == 2){ printf("Corrija o seu aniversario: "); scanf(" %[^\n]s", aniversario); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); } else if(pergunta3 == 3){ printf("Corrija o seu email: "); scanf(" %[^\n]s", email); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); } else if(pergunta3 == 4){ printf("Corrija a sua profissao: "); scanf(" %[^\n]s", profissao); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); } else if(pergunta3 == 5){ printf("Corrija o seu CPF: "); scanf(" %[^\n]s", email); printf("Confira as informaçoes fornecidas:\n"); printf("Nome: %s\n", nome); printf("Aniversario: %s\n", aniversario); printf("Email: %s\n", email); printf("Profissao: %s\n", profissao); printf("CPF: %s\n", cpf); } else if(pergunta3 != 1 || pergunta3 != 2 || pergunta3 != 3 || pergunta3 != 4 || pergunta3 != 5) printf("Comando invalido"); } else if(pergunta2 != 1 || pergunta2 != 2) printf("Comando invalido"); } else if(pergunta1 == 2) printf("A porta e logo ali"); else if(pergunta1 != 1 || pergunta1 != 2) printf("Comando invalido"); return 0; } Consigo dar build and run, porem após o primeiro scanf o programa para de funcionar imagem a baixo: Muito obrigado desde já, e claro sintam-se livres para modificar o codigo e relatar problemas, ou melhorias que podem ser feitas, lembrando que eu programo a exatos 2 dias!
  2. Boa tarde, eu ainda estou iniciando meus estudos em programação e estou com uma duvida, sempre que eu for pegar dados do usuário eu tenho que colocar o tamanho do meu vetor de caractere? por exemplo: char palavra[100]; eu não posso fazer igual em python? algo como: palavra = input("digite a palavra") sem especificar o tamanho da string
  3. / /VARIAVEL TIPO TEXTO "CARACTERE" string nome = ""; //VARIAVEL TIPO TEXTO "CARACTERE" string endereço = ""; //VARIAVEL TIPO TEXTO //VARIAVEL TIPO TEXTO string telefone = ""; //VARIAVEL TIPO TEXTO "CARACTERE" string email = ""; //VARIAVEL TIPO TEXTO "CARACTERE" string titulo = ""; //VARIAVEL TIPO TEXTO "CARACTERE" string resp = ""; //VARIAVEL TIPO NUMERO int livros_emprestados = 0; //ESCREVENDO UMA LINHA NO SISTEMA Console.WriteLine(" CADASTRO DE PESSOAS"); //O COMANDO WHILE ELE TEM A SEGUINTE FUNCAO ELE OBEDECE A QUANTIDADE DE VZ QUE você MANDOU ELE VERIFICAR //NESSE CASO ENQUANTO OS LIVROS EMPRESTADO FOR MENOR OU IGUAL 5 PERMITE SOLICITAR UM LIVRO EMPRESTADO DEIXANDO DIGITAR while (livros_emprestados < 5) { Console.Write("Digite o nome do aluno...:"); nome = Console.ReadLine(); Console.Write("Digite o endereço do aluno...:"); endereço = Console.ReadLine(); Console.Write("Digite o telefone do aluno...:"); telefone = Console.ReadLine(); Console.Write("Digite o email do aluno...:"); email = Console.ReadLine(); Console.Write("Digite o título do livro...:"); titulo = Console.ReadLine(); //AQUI CALCULA A QUANTIDADE DE LIVRO QUE já PEGOU EMPRESTADO SOMANDO MAIS UM SEMPRE QUE ACABA DE DIGITAR livros_emprestados += 1; // AQUI PERGUNTA SE O USUARIO DESEJA CONTINUAR PEGANDO LIVRO -- Console.Write("Deseja continuar ? <S> = Sim, <N> =Não..:>"); //ESSE COMANDO CONFERE VE SE FOI DIGITADO S OU N resp = Console.ReadLine(); // SE FOI O S não FAZ E CONTINUA DEIXANDO DIGITAR if (resp == "s") { } //SENAO PARA DE DEIXAR DIGITAR E MOSTRA QUANTOS LIVROS ELE DIGITOU, NOS GUArDAMOS ISSO NA VARIAVEL -- livros_emprestados else { Console.WriteLine("Total de livros emprestados..:" + livros_emprestados); Console.WriteLine("Nome do aluno..:" + nome); }
  4. Olá pessoal beleza ? Estou com um problema em meu código, na parte em que ele tem que mostrar o menor número digitado da matriz, ele sempre mostra como zero, já mudei o código várias vezes porém ainda não consegui resolver este problema, alguém ai pode me ajudar por favor ? O código é este: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { int lin,col; int mat[3][3]; int menor=0; int pos1=0, pos2=0; setlocale(LC_ALL,"portuguese"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("Digite um número para linha [%d] e um para coluna [%d]: ", lin+1, col+1); scanf("%d", &mat[lin][col]); } printf("\n"); } printf("\n Matriz\n\n"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("%d\t ", mat[lin][col]); } printf("\n\n"); } for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ if(mat[lin][col] < menor){ menor = mat[lin][col]; pos1=lin; pos2=col; } } } printf("\n O número menor é: [%d]", menor); printf("\n\n A posição do menor número será: [%d][%d]", pos1+1,pos2+1); printf("\n\n"); system("pause"); return 0; }
  5. 2) Escreva funções em C que realizem cada uma das tarefas seguintes: A) Calcule a parte inteira do quociente quando um inteiro a é dividido por um inteiro b B) Calcule o resto inteiro quando um inteiro a é dividido por um inteiro b C) Use as funções desenvolvidas em A e B para escrever uma função que receba um inteiro entre 1 e 32767 e o imprima com uma série de dígitos, separados por dois espaços. Por exemplo, o inteiro 4562 deve ser impresso como: 4 5 6 2 Cada função deve ser obrigatoriamente implementada em um arquivo diferente. Um arquivo deve conter a função main e incluir os cabeçalhos das funções utilizadas. Faça um Makefile para compilar os arquivos gerar o executável. O uso de variáveis globais é proibido. OBS: Estou com duvida na questão C pensei em fazer como string mais na hora de imprimir não sei como, pensei em fazer com vetor de inteiros mais não sei como pagar assim que o usuário escrever o numero, nem como imprimir quando o numero for por exemplo 100.
  6. GALERA, FIZ O CÓDIGO TODO E ESTÁ FUNCIONANDO. PORÉM, NA HORA DE USAR A FUNÇÃO FREE(), APARECE EXITED WITH NON ZERO STATUS E DÁ ERRO NO CODIGO, alguém PODE ME AJUDAR #include <stdio.h> #include <stdlib.h> char Alocar(char *p, int c){ p=(char*) malloc(c*sizeof(char)); } int main(){ int i, j, x; printf("Digite o tamanho da string: "); scanf("%d", &x); char *ptr, vogais[10]= "aeiouAEIOU", nada[1]=""; Alocar(ptr, x); if(ptr==NULL){ printf("FAIL"); exit(1); } printf("Digite sua string com %d caracteres (espaço conta como caractere): \n", x); scanf(" %[^\n]s", ptr); printf("\n"); printf("\n"); printf("*****String sem vogais*****\n"); printf("\n"); for(i=0; i<x; i++){ for(j=0; j<10; j++){ if(ptr==vogais[j]){ ptr=nada[0]; } } printf("%c", ptr); } free(ptr); ptr=NULL; return 0; }
  7. tenho esse codigo gostaria de saber como crio um laço de repetiçao para que quando ele chegar ai final ele não feche e sim peça para inserir um anova matriz??? #include <stdio.h> #include <stdlib.h> int main() { int linhas,colunas, i, j; /*Entrar com a dminsão da matriz desejada*/ printf("Entre com o numero de linhas: "); scanf("%d",&linhas); printf("Entre com o numero de colunas: "); scanf("%d",&colunas); /*declaração das matrizes que serão usadas no programa*/ int mat1[linhas][colunas], mat2[linhas][colunas], mat3[linhas][colunas]; /*laço de repetição para entrar com os valores da matriz 1*/ for (i=0; i<linhas; i++) { for(j=0; j<colunas; j++) { printf(" Entre com os elementos da matriz 1 [%d][%d]:",i+1,j+1); scanf("%d",&mat1[j]); printf(" Entre com os elementos da matriz 2 [%d][%d]:",i+1,j+1); scanf("%d",&mat2[j]); //soma as 2 matrizes criadas mat3[j] = mat1[j] + mat2[j]; } } /*Mostra a matriz 1 criada*/ printf("\n\nA matriz 1 criada é: \n\n"); for (i=0; i<linhas; i++) { for(j=0; j<colunas;j++) printf("%3.d\t",mat1[j]); printf("\n\n"); } /*Mostra a matriz 2 criada*/ printf("\n\nA matriz 2 criada é: \n\n"); for (i=0; i<linhas; i++) { for(j=0; j<colunas;j++) printf("%3.d\t",mat2[j]); printf("\n\n"); } /*Mostra a matriz 3 (soma) criada*/ printf("\n\nA matriz soma é: \n\n"); for (i=0; i<linhas; i++) { for(j=0; j<colunas;j++) printf("%3.d\t",mat3[j]); printf("\n\n"); } printf("\n\n\n"); getch(); return 0;
  8. Galera, esse é um script de um jogo da forca com dois jogadores na linguagem C. Porém eu estou com um pequeno problema: o Jogador 2 tem 5 chances para acertar a palavra proposta pelo Jogador 1, porém o programa só está rodando 4 chances. Gostaria de saber se alguém pode identificar o erro e, se possível, me indicar uma solução. Desde já agradeço <3 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main(){ char palavra[50], jogador1[50], jogador2[50], espaco[50]="-", erros[50]=" ", tamanho, tamanho2, letra[50], tentativa[50]; int chances=5, caractere, caractere2=0, acertos=0, retorna; printf("Antes de começarmos, pedimos para que, caso não tenha lido as\n" "instruções na seção 'Como jogar', feche o programa, leia-as e,\n" "em seguida, volte para modo multiplayer. Caso já tenha lido, de-\n" "sejamos um bom jogo aos jogadores!\n\n" "Tecle 'v' para continuar..."); while(getchar() != 'v'); system("clear"); printf("Digite o seu nome, Jogador 1: "); scanf("%s",&jogador1); printf("Digite o seu nome, Jogador 2: "); scanf("%s",&jogador2); system("clear"); printf("Sejam bem vindos ao Jogo da Forca, %s e %s!!\n" "\nTecle 'v' para continuar...",jogador1, jogador2); while(getchar() != 'v'); system("clear"); printf("%s, digite a palavra para o/a %s acertar: ",jogador1, jogador2); scanf("%s",&palavra); system("clear"); ///---------------------------------------------------------------------------------------------------------------------------------------------------- ///----------A PARTIR DAQUI COMEÇA O CÓDIGO LÓGICO. OS CÓDIGOS ACIMA ERAM APENAS AS APRESENTAÇÕES E AS PRIMEIRAS ENTRADAS--------------------------------------------- ///---------------------------------------------------------------------------------------------------------------------------------------------- ///---------------------------------------------------------------------------------------------------------------------------------------------- ///A FUNÇÃO STRLEN() É A RESPONSÁVEL PELOS TESTES PARA VER SE A LETRA DIGITADA PELO JOGADOR 2 ESTÁ NO VETOR 'PALAVRA'. ///CRIAMOS UMA VARIÁVEL 'TAMANHO' E IGUALAMOS ELA AO STRLEN(PALAVRA), ASSIM, OS TESTES SÓ IRÃO TERMINAR QUANDO A ÚLTIMA ///LETRA FOR TESTADA E ENQUANTO TODAS NÃO FOREM ACERTADAS for(caractere=0; caractere<strlen(palavra); caractere++) espaco[caractere] = '-'; tamanho = strlen(palavra); ///----------------------------------------------------------------------------------------------------------------------------------------------------- ///AQUI COMEÇAMOS O LAÇO WHILE QUE VAI ATÉ O FINAL DO PROGRAMA. NO CASO, ELE É CONTROLADO PELO NÚMERO DE CHANCES QUE O JOGADOR 2 ///AINDA TEM PARA ACERTAR A PALAVRA ///O PRIMEIRO PRINTF IMPRIME O VETOR 'ESPACO', CORRESPONDENTE AO NÚMERO DE LETRAS DIGITADAS PELO JOGADOR 1 ///O SEGUNDO PRINTF PEDE PARA QUE O JOGADOR 2 DIGITE UMA LETRA, QUE POR SUA VEZ SERÁ TRABALHADA DENTRO DO LAÇO WHILE ///O TERCEIRO PRINTF É UMA ESPÉCIE DE VETOR, QUE POR SUA VEZ GUARDA E IMPRIME AS LETRAS INCORRETAS DIGITADAS PELO JOGADOR 2 while(chances>0){ retorna=0; printf("\n\tAinda restam: %d chances",chances); if(chances<0){ system("clear"); printf("\n\tSuas chances acabaram"); } printf("\n\tLetras digitadas: %s\n",erros); printf("\n%s\n",espaco); printf("%s, digite uma letra: ",jogador2); scanf("%s",&letra); ///------------------------------------------------------------------------------------------------------------------------------------------------------ ///ASSIM COMO NO PRIMEIRO FOR, NESTE ESTAMOS COMPARANDO A LETRA DIGITADA PELO JOGADOR 2 COM AS LETRAS PRESENTES NO VETOR PALAVRA, PORÉM ///CASO A LETRA ESTEJA DENTRO DO VETOR 'PALAVRA', ELA IRÁ SE ENCAIXAR NO VETOR 'ESPACO'. ///FIZEMOS COM QUE A VARIAVEL 'RETORNA' AUMENTE PARA QUE ASSIM, ELA não DIMINUA NO PROXIMO LAÇO for(caractere=0; caractere<strlen(palavra); caractere++){ if(letra[0]==palavra[caractere]){ espaco[caractere] = palavra[caractere]; retorna++; acertos++; } } ///------------------------------------------------------------------------------------------------------------------------------------------------------- ///--------------------------O IF A SEGUIR SO SERA REALIZADO CASO O PLAYER 2 ERRE A LETRA-------------------------------------------------------- ///NESTE CASO, CASO O JOGADOR 1 ERRE A LETRA, A VARIAVEL 'CHANCES' IRÁ DIMINUIR E, CASO AINDA TENHA CHANCES, A LETRA DIGITADA ///VAI PARA O VETOR 'ERROS', CASO CONTRÁRIO ELE AINDA TERÁ UMA ÚLTIMA CHANCE DE ACERTAR A PALAVRA POR COMPLETO if(retorna==0 || (chances==5 || chances==4 || chances==3 || chances==2 || chances==1)){ chances--; if(chances==0){ printf("\n%s, suas chances acabaram, mas agora você tem a chance\n" "de acertar a palavra por completo, digite-a aqui: ",jogador2); scanf("%s",&tentativa); tamanho2 = strlen(tentativa);///AQUI CRIAMOS A VARIÁVEL 'TAMANHO2' PARA FAZER UM PONTE COM A PALAVRA ESCOLHIDA E A ///TENTATIVA DE ACERTO POR PARTE DO JOGADOR 2 if(tamanho2==tamanho){ printf("\n%s, VOCÊ ACERTOU A PALAVRA!! VOCÊ VENCEU A RODADA!!!\n",jogador2); printf("\nA palavra era: %s\n",palavra); break; } else{ printf("\n\n%s, você errou a palavra. %s, VOCÊ VENCEU A RODADA!!!\n",jogador2, jogador1); printf("\nA palavra correta era: %s\n",palavra); break; } } ///---------------------O IF ABAIXO FOI FEITO PARA GUARDAR AS LETRAS JÁ DIGITADAS PELO JOGADOR 2-------------------------------------------------- else{ erros[caractere2] = letra[0]; caractere2++; } } ///NO CASO ABAIXO, CASO AS LETRAS DIGITADAS E ACERTADAS FOREM DO MESMO TAMANHO QUE A VARIAVEL 'TAMANHO', IGUALADA À STRING 'PALAVRA' ///DIGITADA PELO JOGADOR 1, O PROGRAMA ACABA E IMPRIME O PRINTF ABAIXO if(acertos==tamanho){ printf("PARABÉNS, %s, VOCÊ ACERTOU A PALAVRA. VOCÊ VENCEU A RODADA!!!\n", jogador2); printf("\nA palavra era: %s\n",palavra); break; } system("clear"); } ///----------------------------------------------AQUI ACABA O LAÇO WHILE------------------------------------------------------------------------------------- return (0); }
  9. #include <stdio.h> #include <stdlib.h> int main (void) { int quant_sal=0,salario_1000=0,soma=0,maior=0; float salario=1; printf("Insira o salario: "); scanf("%f",&salario); maior=salario; while(salario>=1){ soma=soma+salario; if(salario<=0){ printf("Salario invalido"); } if(salario>1000){ salario_1000++; } if(salario>maior){ maior=salario; } printf("Insira o salario: "); scanf("%f",&salario); } printf("A media de salario e: %.1f\n",soma/salario); printf("O maior salario e: %d\n",maior); printf("Salario acima de 1000 e: %d\n",salario_1000); system("pause"); return 0; } A dúvida é a seguinte: se o usuário digitar um valor negativo ele não entrar no cálculo para resultado.
  10. Vocês já perceberam o quanto uma pessoa com conhecimentos de programação tem valor em meio a sociedade ?! Hoje em dia, os comércios e as empresas estão desesperadamente atrás de pessoas com conhecimentos de programação para contratar. O futuro da informática depende de pessoas com conhecimentos para programar. Sabia que agora você pode adquirir um livro ensinando a ter uma breve lógica de programação ?! Isso mesmo, não precisa sair de casa e até mesmo após ter baixado, não precisa nem ter internet para aprender a programar, é apenas necessário um computador ou celular. Muitas pessoas estão adorando essa técnica, vai ficar de fora ? Link: http://bit.ly/2CeVaHt
  11. #include <stdio.h> #include <stdlib.h> typedef struct Pessoa { int cc; char nome[51]; char partida[11]; char chegada[11]; short int dia; } PESSOA; int main() { int i; FILE* fps = fopen("okb","rb"); PESSOA passageiro; if (fps == NULL) { printf("Problemas na abertura do arquivo\n"); exit(1); } else { fread (&passageiro.cc, 4, 1, fps); fread (passageiro.nome, 1, 51, fps); fread (passageiro.partida, 1, 11, fps); fread (passageiro.chegada, 1, 11, fps); fread (&passageiro.dia, 2, 1, fps); printf("%d ", passageiro.cc); for(i = 0; i < 51; i++) { printf("%c", passageiro.nome[i]); } for(i = 0; i < 11; i++) { printf("%c", passageiro.partida[i]); } for(i = 0; i < 11; i++) { printf("%c", passageiro.chegada[i]); } printf("%hd\n", passageiro.dia); } fclose(fps); } Boa noite, estava aqui a fazer um trabalho e deparei-me com isto e não consigo perceber o porquê da função não ler o que eu pretendo. Acho que deve ser algo bem simples mas como sou novo nisto não estou a conseguir detetar o que falha. É suposto esta função ler umas informações que estão num ficheiro em binário, o número do cc, nome da pessoa, local de partida e chegada do avião e dia do mês. Mas ao detetar o dia do mês a função em vez de escrever um número entre 1 - 30 escreve 256. Alguém percebe porquê?
  12. Eae pessoal, sou novo na programação. Queria uma ajudinha. To com um trabalho de fazer um programa que receba pedidos de um restaurante, só que é necessário que o pedido receba as horas e minutos do sistema, e armazenem em uma struct: ex: struct tempo { int horas; // a hora atual do sistema. int minutos; // o minuto atual do sistema. };
  13. Olá pessoal beleza ? Estou com um problema em meu código, na parte em que ele tem que mostrar o menor número digitado da matriz, ele sempre mostra como zero, já mudei o código várias vezes porém ainda não consegui resolver este problema, alguém ai pode me ajudar por favor ? O código é este: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { int lin,col; int mat[3][3]; int menor=0; int pos1=0, pos2=0; setlocale(LC_ALL,"portuguese"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("Digite um número para linha [%d] e um para coluna [%d]: ", lin+1, col+1); scanf("%d", &mat[lin][col]); } printf("\n"); } printf("\n Matriz\n\n"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("%d\t ", mat[lin][col]); } printf("\n\n"); } for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ if(mat[lin][col] < menor){ menor = mat[lin][col]; pos1=lin; pos2=col; } } } printf("\n O número menor é: [%d]", menor); printf("\n\n A posição do menor número será: [%d][%d]", pos1+1,pos2+1); printf("\n\n"); system("pause"); return 0; }
  14. Boa noite, comecei a fazer um programa em C, mais no entanto ele ficou muito comprido com funções que se repetem. Tentei fazer bibliotecas e funções para diminuir a quantidade de linhas, mais no entanto não consegui (não sei fazer). Se alguém poder me passar algum site ou arquivo para fazer bibliotecas e funções agradeço. (De preferência em português).
  15. Preciso fazer uma função que exclui os nós de uma árvore que são pares, tentei de várias formas porém o código está dando erro, gostaria de uma ajuda, se possível. Código da função remover que irei puxar dentro da função que estou fazendo (este está funcionando normalmente): int remove_ArvBin(ArvBin *raiz, int valor){ if(raiz == NULL) return 0; struct NO* ant = NULL; struct NO* atual = *raiz; while(atual != NULL){ if(valor == atual->info){ if(atual == *raiz) *raiz = remove_atual(atual); else{ if(ant->dir == atual) ant->dir = remove_atual(atual); else ant->esq = remove_atual(atual); } return 1; } ant = atual; if(valor > atual->info) atual = atual->dir; else atual = atual->esq; } return 0; } Função para remover os Pares: int excluiPar(ArvBin *raiz){ int info_atual, info_esquerda, info_direita; info_atual = (*raiz)->info; printf("%d\n", info_atual); if ((info_atual%2) == 0 ){ remove_ArvBin(raiz, info_atual); } if ((*raiz)->esq != NULL) { info_esquerda = ((*raiz)->info); if ((info_esquerda%2) == 0 ){ remove_ArvBin(raiz, info_esquerda); } } if ((*raiz)->dir != NULL) { info_direita = ((*raiz)->info); if ((info_direita%2) == 0 ){ remove_ArvBin(raiz, info_direita); } } } Quando rodo desta forma o sistema trava, tentei de outras formas também porém, não obtive sucesso. Tenho imensa dificuldade em estrutura de dados.
  16. Olá boa noite! estou com uma grande duvida, faço curso de TADS e meu professor quer que nós passemos um código que fizemos em portugol no visualg para a linguagem C, estou muito perdido em como fazer isso. algoritmo "Locação de Veiculos" // Função : Locadora de Veiculos // Autor : Maxwell Ruan // Data : 21/10/2017 // Seção de Declarações var opcao,opcao2 : inteiro CODIGO,NOME,RG,CPF,ENDERECO,DATADENASCIMENTO,CNH,CLIENTE,AUTOMOVEL:CARACTER MARCAVEICULO,CODIGOVEICULO,MODELO,ANOFABRICACAO,CLASSIFICACAO,CODIGOCLASS:CARACTER VALOR:REAL a,b,soma :numerico // procedimentos procedimento menu_principal inicio escreval ("++++++++++++++++++++++++++++++++++++") escreval (" 1- Cadastro de Cliente +") escreval (" 2- Cadastro de Veiculos +") escreval (" 3- Cadastro de Classificação +") escreval (" 4- Cadastro de movimentação +") escreval (" 5- Sair +") escreval ("++++++++++++++++++++++++++++++++++++") fimprocedimento procedimento menu_cliente inicio escreval ("======Menu do Cliente=====") escreval (" ") escreval ("==========================") escreval ("Digite o Código") leia (codigo) escreval ("Digite o Nome") leia (nome) escreval ("Digite o RG") leia (rg) escreval ("Digite o CPF") leia (cpf) escreval ("Digite o Endereço") leia (endereco) escreval ("Digite a Data de Nascimento") leia (datadenascimento) escreval ("Digite a Carteira de habilitação") leia (cnh) limpatela fimprocedimento procedimento menu_veiculo inicio escreval ("+==========Menu do Veiculo================ +") escreval ("+ Digite (01) se for do tipo Básico +") escreval ("+ Digite (02) se for do tipo Intermediário +") escreval ("+ Digite (03) se for do tipo Luxuoso +") escreval ("+========================================= +") escreval ("Digite o Código") leia (CODIGOVEICULO) escreval ("Digite a Marca do Veciulo") leia (MARCAVEICULO) escreval ("Digite o Modelo do Veiculo") leia (MODELO) escreval ("Digite o Ano de Fabricação") leia (ANOFABRICACAO) escreval ("Digite o Codigo de Classificação") leia (CLASSIFICACAO) limpatela fimprocedimento procedimento menu_class inicio escreval ("+==========Menu de Classificação========== +") escreval ("+ Digite (01) se for do tipo Básico +") escreval ("+ Digite (02) se for do tipo Intermediário +") escreval ("+ Digite (03) se for do tipo Luxuoso +") escreval ("+========================================= +") escreval ("Digite o Código") leia (CODIGOCLASS) escreval ("Digite a Marca do Veciulo") leia (MARCAVEICULO) escreval ("Digite a Classificação") leia (CLASSIFICACAO) escreval ("Digite o Valor da locação") leia (VALOR) limpatela fimprocedimento procedimento menu_movimentacao inicio escreval ("========Menu de Movimentação=======") escreval ("! [ Valor das Diárias ] !") escreval ("! Básico :R$ 80,00 !") escreval ("! Intermediário :R$ 150,00 !") escreval ("! Luxuoso :R$ 300,00 !") escreval ("!=================================!") escreval ("Digite o Código") leia (codigo) escreval ("Digite o Código do Cliente") leia (CLIENTE) escreval ("Digite o Código do Automovel") leia (AUTOMOVEL) escreval ("Digite o Valor da locação") leia (a) escreval ("Digite a Quantidade de Diarias") leia (b) soma:=(a*b) escreval ("=============================================+") escreval ("O Valor Total que o Cliente pagará será:" ,soma) escreval (" +") escreval ("=============================================+") fimalgoritmo limpatela fimprocedimento inicio // Seção de Comandos repita menu_principal escreva ("=>") leia (opcao) limpatela escolha (opcao) caso 1 // cadastro de cliente menu_cliente caso 2 // cadastro de veiculos menu_veiculo caso 3 // cadastro de classificação menu_class caso 4 // cadastro de movimentação menu_movimentacao caso 5 // sair outrocaso escreval("Opção Invalidade") fimescolha ate opcao = 5 fimalgoritmo
  17. Bom dia! Gostaria de saber se é possível alterar uma linha específica de um arquivo. Eu preciso fazer um controle de estoque para um trabalho e no final da linha coloquei a letra D para especificar os carros disponíveis, quando selecionado, pego a linha e faço uma concatenação com a letra A de alugado. No entando, o que eu gostaria de fazer é trocar a linha que estava com final D pela linha que agora está com final A mas não consigo fazer isso. A linha é sempre salva no final do arquivo e a linha que eu havia selecionado continua lá com a letra D. Alguém sabe se é possível fazer isso? Trocar uma linha pela outra? Segue o código. // Declaração de livrarias da plataforma. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <time.h> // Declaração das váriaveis do tipo: número, caractere e arquivo de texto. char opcao, nome[150], rg[20], cpf[20], CNH[20], opclista, datanasc[20], alugado[20] = "ALUGADO", A[2] = "A"; char txt[100] = ".txt", telefone[10], status[20], Categoria[20], pLc[7]; char UF[2], cidade[150], bairro[150], rua[150], ncasa[50], marca[15], opp, modelo[15], km[15], anocarro[4], categoria[20]; char opcidade, opcong, opcCategoria, cpfpagamento[20], ticket [10000]; FILE *RegistroLocacao,*RegistroCarro, *ListaCarros, *RegistroRelat; char dateStr[9], timeStr[9], linhacarro [100], registrocarro [100], opcentrega, opcrelat, opcprin, telaprin, devolucao[20]; char localrelat [1000] = "C:\\Users\\Public\\Documents\\Locacoes_.txt"; char localc[1000] = "C:\\Users\\Public\\Documents\\Categoria_"; char localceco[1000] = "C:\\Users\\Public\\Documents\\Categoria_ECONOMICO.txt"; char localcint[1000] = "C:\\Users\\Public\\Documents\\Categoria_INTERMEDIARIO.txt"; char localcexe[1000] = "C:\\Users\\Public\\Documents\\Categoria_EXECUTIVO.txt"; char locallocacao[1000] = "C:\\Users\\Public\\Documents\\Locacao_"; float valorLocacao = 0, valorticket = 0; int qtdias = 0, taxa = 0, diasatraso = 0, linha, i = 0, horasatraso = 0, len = 0; char* listacarro [10000]; char mec[100], s = 0; linhalocacao() { printf (" |-------------------------------------------------|\n"); printf (" | Legal Rent A-car - LOCACAO |\n"); printf (" |-------------------------------------------------|\n"); } bool seekLine(FILE *f, int lineNumber, char *line) { int currentSeek = ftell(f); fseek(f, 0, SEEK_SET); while( --lineNumber && (fgets(linhacarro, 256, f) != NULL) ); if(!lineNumber) fgets(linhacarro, 256, f); fseek(f, currentSeek, SEEK_SET); return !lineNumber; } int main () { fprintf (RegistroLocacao,"\n\nNOME: %s\nDATA NASCIMENTO: %s\nRG: %s\nCPF: %s\nCNH: %s\nEndereço: %s, %s, %s, %s - %s\nNUMERO DE TELEFONE: %s", nome, datanasc, rg, cpf, CNH, rua, ncasa, bairro, cidade, UF, telefone); fprintf (RegistroRelat,"\n\nNOME: %s CPF: %s TELEFONE: %s", nome, cpf, telefone); fclose(RegistroLocacao); fclose (RegistroRelat); // Escolha da categoria de carros dividida em três opções. system("cls"); linhalocacao(); printf("\n\n\n(1). ECONOMICO - DIARIA: R$ 86.61 \n\n(2). INTERMEDIARIO - DIARIA: R$ 116.61\n\n(3). EXECUTIVO - DIARIA: R$ 166.61\n\n"); printf("Digite a opcao desejada: "); scanf("%c", &opcCategoria); if (opcCategoria == '1') { // Lendo arquivos previamente criados. ListaCarros = fopen(localceco, "r"); if((ListaCarros = fopen(localceco, "r"))== NULL) { printf("Erro ao abrir o arquivo!\n"); exit(1); } RegistroLocacao = fopen (locallocacao, "a"); if((RegistroLocacao = fopen(locallocacao,"a")) == NULL) { printf("Erro ao abrir o arquivo!\n"); exit(1); } RegistroRelat = fopen (localrelat, "a"); if((RegistroRelat = fopen(localrelat,"a")) == NULL) { printf("Erro ao abrir o arquivo!\n"); exit(1); } system("cls"); linhalocacao(); setbuf(stdin, NULL); // Exibindo o conteúdo do arquivo para que o cliente possa escolher o carro. while (fgets(linhacarro, 10000, ListaCarros) != NULL) { listacarro[i] = strdup (linhacarro); i++; printf("(%d). %s", i, linhacarro); } i = 0; printf("\n\nInforme a opcao desejada: "); scanf ("%d", &linha); setbuf(stdin, NULL); // Buscando linha especifica dentro do arquivo texto. if (seekLine(ListaCarros, linha, linhacarro)) len = strlen (linhacarro); len = len - 2; fprintf (RegistroLocacao, "\nCarro: %s", linhacarro); fprintf (RegistroRelat, "\nCarro: %s", linhacarro); for (s = 0; s < len; s++) { mec[s] = linhacarro[s]; } strcat (mec, A); printf ("%s", mec); // Cálculo de valor da locação * quantidade de dias escolhidos pelo cliente. printf("\n\nDeseja alugar o carro por quantos dias?\n\n"); scanf ("%d", &qtdias); setbuf(stdin, NULL); valorLocacao = 86.61; valorLocacao = valorLocacao * qtdias; printf ("\n\nDigite a data de devolucao do veiculo: "); scanf ("%s", &devolucao); setbuf (stdin, NULL); // Coleta da data da locação, salvando a data e o carro alugado no arquivo locallocacao. _strdate (dateStr); _strtime (timeStr); fprintf (RegistroLocacao, "\nData de locacao: %s %s Data de devolucao: %s %s", dateStr, timeStr, devolucao, timeStr); fprintf (RegistroRelat, "Data da locacao: %s %s Data de devolucao: %s %s", dateStr, timeStr, devolucao, timeStr); fclose (RegistroRelat); fclose (ListaCarros); fclose (RegistroLocacao); ListaCarros = fopen(localceco, "a"); if((ListaCarros = fopen(localceco, "a"))== NULL) { printf("Erro ao abrir o arquivo!\n"); exit(1); } while (fgets(linhacarro, 10000, ListaCarros) != NULL) { listacarro[i] = strdup (linhacarro); } if (seekLine(ListaCarros, linha, linhacarro)) fprintf (ListaCarros, "\n%s", mec); fclose (ListaCarros); } }
  18. Boa tarde pessoal preciso entregar um exercicio mas não faço ideia por onde começar: Preciso desenvolver um programa em linguagem C, Java para a busca em texto utilizando o método SHIFT-AND. O programa deverá ler um ARQUIVO TEXTO contendo o texto objeto de pesquisa com todas as letras escritas em minúsculas (texto que será pesquisado), deverá ler do teclado o texto à pesquisar (Padrão) e realizar a busca do Padrão no Texto utilizando o método SHIFT-AND. O programa deverá pesquisar pelo PADRÃO no TEXTO, utilizando o método SHIFT-AND e converter em MAIÚSCULAS todas as ocorrências do PADRÃO no TEXTO, ou exibir na tela uma mensagem informando que o PADRÃO não foi encontrado no TEXTO, se este for o caso. Alguém pode me ajudar ?
  19. Estou com um pequeno problema aqui pra comperar uma string com uma letra, e também gostaria q tudo q o usuario digitasse no scanf seja automaticamente em maiusculo, pra evitar mais erros mas também não soube fazer, podem me explicar o que estou errando? Já tentei também botar a comparação padrão de strings strcmp mas n funcionou também =/ int digitar_jogada(){ int i, lin, col; char onde_esta[2], onde_vai[2]; printf("\nDigite com qual peça deseja jogar: "); scanf("%s", onde_esta); printf("\nDigite onde deseja jogar: "); scanf("%s", onde_vai); for (i=0; i<2; i++){ // Get the line **DA ERRO NA LINHA ABAIXO** if(onde_esta[i] == "A"){ col = 1; } else if(onde_esta[i] == "B"){ col = 2; } else if(onde_esta[i] == "C"){ col = 3; } else if(onde_esta[i] == "D"){ col = 4; } else if(onde_esta[i] == "E"){ col = 5; } else if(onde_esta[i] == "F"){ col = 6; } else if(onde_esta[i] == "G"){ col = 7; } else if(onde_esta[i] == "H"){ col = 8; } // Get the cols else if(onde_esta[i] == 1){ lin = 1; } else if(onde_esta[i] == 2){ lin = 2; } else if(onde_esta[i] == 3){ lin = 3; } else if(onde_esta[i] == 4){ lin = 4; } else if(onde_esta[i] == 5){ lin = 5; } else if(onde_esta[i] == 6){ lin = 6; } else if(onde_esta[i] == 7){ lin = 7; } else if(onde_esta[i] == 8){ lin = 8; } } return lin, col; }
  20. Bom dia galera! Estava precisando de ajuda em uma atividade de programação em linguagem C, não tenho ideia de como proceder com esse exercício? 1. Escreva um programa que armazena 10 números inteiros aleatórios em um vetor. O vetor deverá ser uma variável local dentro da função “main” Em seguida, imprima: a. a quantidade de números ímpares do vetor; b. a soma dos números pares do vetor; c. a quantidade de números com valor maior do que a média dos números do vetor; d. o menor valor do vetor; e. a maior diferença em valor absoluto entre elementos consecutivos do vetor; Quem puder me ajudar, agradeço de inicio!
  21. Olá galera tudo bom ?Desculpe o Incômodo, mas eu preciso de um resumo de 2 folhas , 4 paginas sobre a linguagem C para amanha se puderem me ajudar... estou no 2 semestre de engenharia da computação ! Preciso para amanha dia 22/11
  22. Construir um programa que seja capaz de armazenar o CPF e o RG de um grupo de pessoas (enquanto o usuário desejar cadastrar mais pessoas, limitado a 100). Ao cadastrar o CPF, o programa deve automaticamente preencher os dígitos verificadores (2 últimos dígitos), ou seja, o usuário entra com 9 dígitos e os dois últimos devem ser preenchidos automaticamente. Para determinar em qual estado brasileiro um CPF foi emitido, é necessário obter o último algarismo do CPF, ignorando os dois dígitos de controle/verificadores. Um exemplo de como determinar este número é o CPF nº XXX.XXX.XX6-XX. Em destaque vemos o último número válido do CPF, ignorando os dígitos verificadores. Obtendo este número, no caso em exemplo 6, e verificando a tabela abaixo, somos capazes de afirmar que este documento foi emitido no estado de Minas Gerais. Veja abaixo os códigos correspondentes a cada estado brasileiro: Região Dígito 1: Distrito Federal, Goiás, Mato Grosso do Sul e Tocantins; Região Dígito 2: Pará, Amazonas, Acre, Amapá, Rondônia e Roraima; Região Dígito 3: Ceará, Maranhão e Piauí; Região Dígito 4: Pernambuco, Rio Grande do Norte, Paraíba e Alagoas; Região Dígito 5: Bahia e Sergipe; Região Dígito 6: Minas Gerais; Região Dígito 7: Rio de Janeiro e Espírito Santo; Região Dígito 8: São Paulo; Região Dígito 9: Paraná e Santa Catarina; Região Dígito 0: Rio Grande do Sul. Ao final, o programa deve imprimir: 1. A quantidade total de pessoas cadastradas. 2. A quantidade de pessoas cadastradas de cada uma das regiões. 3. A região com maior número de pessoas cadastradas. 4. Uma lista com RG e CPF de cada pessoa cadastrada.
  23. Postar código completo. Utilizando o banco de dados MySql ou Postgresql. Utilizando as linguagens C ou C++. Alguém poderia postar aí um código que faça um CRUD nas tecnologias citadas acima ?
  24. Pessoal, tenho um form com uma picturebox que contem um gif de loading. Estou tentando fazer com que antes de executar um método ele exiba essa imagem de carregando e feche quando terminar. ele até funciona mas em determinado momento conforme o uso ele me retorna o erro: An unhandled exception of type 'System.Threading.ThreadAbortException' occurred in System.Drawing.dll Additional information: O thread estava sendo anulado. Public Class clsModoCarregando Dim FrmLoading As New Loading Dim trdelegate As New ThreadStart(AddressOf carregarFormLoading) Dim trd As New Thread(trdelegate) Private Sub carregarFormLoading() Try FrmLoading.ShowDialog() Catch ex As ThreadAbortException Thread.ResetAbort() End Try End Sub Public Sub ExibirLoad() If Not trd.IsAlive Then trd.Name = "threadCarregando" trd.IsBackground = True trd.Start() End If End Sub Public Sub FecharLoad() If trd.IsAlive Then trd.Abort() trd.Join() End If End Sub End Class 'evento do botao pesquisar do form Private Sub btnPesquisar_Click(sender As Object, e As EventArgs) Handles btnPesquisar.Click Dim ModoCarregando As New Ambiente.clsModoCarregando If lstConsulta.Items.Count > 0 Then ModoCarregando.ExibirLoad() dtgPesquisa.DataSource = insPesquisa.pesquisar(lstConsulta, dtNomesPesquisa.Rows(0)("Tabela")) dtgPesquisa.DataMember = dtNomesPesquisa.Rows(0)("Tabela") ModoCarregando.FecharLoad() Else If txtValorPesquisa.Text = String.Empty Then MsgBox("informe o valor a ser pesquisado.", vbInformation) txtValorPesquisa.Focus() Else MsgBox("Adicione a consulta antes de pesquisar.", vbInformation) btnAdicionar.Focus() End If End If End Sub
×
×
  • Criar Novo...