Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''c', 'c++', 'palavra', 'string', 'caractere', 'contagem', 'programa', 'tutorial', 'ajuda', 'dicas', 'contar' ou 'contador''.

  • 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. pessoal, estou com problemas na gml, linguagem utilizada na engine Game Maker. Estou fazendo um script para fazer um jogo de plataforma e toda vez que abro chaves {} aparece como se aquilo fosse um erro. aqui estão as variáveis: grav = 0.2; hsp = 0; vsp = 0; VelocidadeDePulo = 7; VelocidadeDeMovimento = 4; e aqui o código no qual da erro: key_direita = keyboard_check (vk_right); key_esquerda = -keyboard_check (vk_left); key_pulo = keyboard_check_pressed (vk_space); move = key_direita + key_esquerda; hsp = move * VelocidadeDeMovimento; // incremento da gravidade ao vspeed if (vsp < 10) vsp += grav; //verifico se há um chão abaixo do player if (place_meeting(x,y+1,obj_Wall)); { vsp = key_pulo * -VelocidadeDePulo; } //horizontal colission if (place_meeting(x + hsp,y,obj_Wall)); { while(!place_meeting(x+sign(hsp),y,obj_Wall)); { x += sign(hsp); } hsp = 0; } x += hsp; //vertical colission if (place_meeting(x,y+vsp,obj_Wall)); { while(!place_meeting(x,y+sign(vsp),obj_Wall)); { y += sign(vsp); } vsp = 0; } quem puder me ajudar, por favor agradeço :D
  2. / /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); }
  3. gente, estou com uma duvida muito pertinente e gostaria da ajuda de vocês!!! alguém poderia me explicar a diferença entre as bibliotecas deque, array, list e vector ?
  4. #include <iostream> #include <fstream> using namespace std; int main(){ ofstream output("Myfile.txt"); output << "Stephen Davis is a nice guy" << endl; output.close(); ifstream input("Myfile.txt"); while(input.good()){ cout << input.get(); } cout << endl; input.close(); return 0; } Boa tarde a todos. Estou com dificuldades para fazer meu programa imprimir uma frase gravada em arquivo. Em vez de imprimir a frase o programa está imprimindo os valores ASCII. Estou usando o método get() para ler os caracteres, o S.O. é o Ubuntu e o compilador é g++ versão 6.3.0.
  5. Pessoal, estou tento um probleminha com meu código. Estou desenvolvendo uma agenda telefônica como exercício do curso C++. Tudo está indo bem, porém estou com dificuldade de fazer um contador para auxiliar na exibição dos contatos. Ex: 1) Fulano - 00000. A minha ideia é, escanear o ultimo número de contador escrito no arquivo .txt que armazena os dados e depois incrementa-lo e escreve-lo novamente na linha seguinte para o próximo contato. Nos primeiros dois contatos ele escreveu correto, mas depois do segundo começou a repetir o numero 2 para todos os outros. Tentei fazer laços e atribuir o valor para outra variável auxiliar mas não obtive sucesso. Segue parte do código. void CadastroNT(char nome[30], int tel){ FILE *arquivo; char nome1[30]; int tel1 = 0; int contador = 0; arquivo = AbrirA("Lista.txt",'l'); while(!feof(arquivo)){ fscanf(arquivo,"%d %s %d\n",&contador,&nome1,&tel1); if ((strcasecmp(nome1,nome)==1) || (tel1 != tel)){ FechA(arquivo); arquivo = AbrirA("Lista.txt",'a'); contador ++; fprintf(arquivo,"%d %s %d\n", contador, nome,tel); printf("Cadastro efetuado.\n"); FechA(arquivo); break; }else{ FechA(arquivo); printf("Nome ou Telefone já existe. Tente novamente!\n"); break; } } }
  6. Queria saber se alguém tem algum tutorial para colocar musicas de fundo no fórum ipb
  7. Oi eu Queria saber se tem como eu instalar algo no fórum ou no gerenciador de arquivos para ter a certeza que se o cliente não pagar eu consiga deixar o fórum off sem ter acesso ao gerenciador de arquivos ou no CPadmin do fórum.
  8. Estou em duvida na função insereAVN que está sempre dando erro de segmetação quando chaves ordenadas, não passando do valor de 7939. /* * File: main.cpp * Author: bruno * * Created on 27 de Outubro de 2017, 11:58 */ #include <cstdlib> #include <stdlib.h> #include <iostream> #include <fstream> #include <time.h> #include <sstream> #include <string> #include <cstring> #include <string.h> using namespace std; // Cria-se as structs responsáeis por armazenar os dados, ligar uma struct ? // outra e por fim uma a qual aponta para o primeiro e último termo typedef long int tipoChave; struct dados { tipoChave chave; long int dado1; char dado2[1000]; }; struct Elemento { dados info; Elemento *anterior, *proximo; }; typedef struct { Elemento *primeiro, *ultimo; } ListaEncadeada; typedef struct TipoNo *aponta; typedef struct TipoNo { dados registro; int alturaEsq, alturaDir, FB; aponta esq, dir; } TipoNo; // Funções void criarLista(ListaEncadeada &lista); void inserirElemento(ListaEncadeada &lista, dados dado); void exibeLista(ListaEncadeada lista); void gerarchaves(ListaEncadeada &lista, int quant, int op); bool verificar(ListaEncadeada &lista, tipoChave chave); void escrevearquivo(ListaEncadeada &lista, int quant, string tipo); void lerarquivo(ListaEncadeada &lista, string nome); void iniciarArvore(aponta *s); void insereAVL(dados dado, aponta *r); void insereAVN(dados dado, aponta *p); int AVLAltura(aponta *r); void rotacionaEsq(aponta *r); void rotacionaDir(aponta *r); void balancear(aponta *r); void atualizar(aponta * r); void exibirEmOrdem(aponta *p); void menubusca(ListaEncadeada lista, aponta *p); void buscaSeq(ListaEncadeada &lista, dados &dado); bool verifOrd(ListaEncadeada lista); void buscaAVN(dados *dado, aponta *p); void menu(); int main(); // Função para inicializar a lista void criarLista(ListaEncadeada &lista) { // Aloca memóia para a lista e a declara vazia, definindo que ponteiros // de primeiro e último apontam para o mesmo elemento null lista.primeiro = NULL; lista.ultimo = lista.primeiro; } // Função para inserir na lista void inserirElemento(ListaEncadeada &lista, dados dado) { // Aloca memória para o dado a ser inserido Elemento *elemento = (Elemento *) malloc(sizeof (Elemento)); // Insere o elemento ao final da lista, e este mesmo ao final é atualizado // como o último dado inserido elemento->info = dado; elemento->proximo = NULL; elemento->anterior = NULL; // Se a lista estiver vazia, o dado inserido será o primeiro e o último da lista. if (lista.primeiro == NULL) { lista.primeiro = elemento; lista.ultimo = elemento; }// Senão, a inserção é realizada ao final da lista. else { lista.ultimo->proximo = elemento; elemento->anterior = lista.ultimo; lista.ultimo = elemento; } } // Função para exibir dados da lista void exibeLista(ListaEncadeada lista, int escolha) { // Cria uma variável struct dinamica para receber o primeiro elemento da lista Elemento *elemento = lista.primeiro; // Verifica o lista presente armazenada e exibe ao usuário switch (escolha) { case 1: cout << "\nLista Aleatória gerada:\n"; break; case 2: cout << "\nLista Ordenada gerada:\n"; break; case 3: cout << "\nLista contida no arquivo:\n"; break; default: cout << "\nLista Inválida ou vazia!\n"; menu(); break; } // Realiza a exibição dos dados na tela do usuário enquanto houver dados a ser inseridos while (elemento != NULL) { cout << "\nChave: " << elemento->info.chave; cout << " Dado1: " << elemento->info.dado1; cout << " Dado2: " << elemento->info.dado2; elemento = elemento->proximo; } // Libera espaço alocado na criação da variável dinâmica free(elemento); } // Função para escrever no arquivo os dados gerados void escrevearquivo(ListaEncadeada &lista, int quant, string tipo) { // Cria uma variável struct dinâmica para receber o primeiro elemento da lista Elemento *elemento = lista.primeiro; // Verifica se a lista está vazia. Se sim, retorna ao menu. if (elemento == NULL) { cout << "\nLista Vazia!\nArquivo não escrito!\n"; menu(); } // Declara o arquivo de saida a ser gerado, definindo o nome ofstream arquivo; // Converte inteiro em string stringstream result; result << quant; // Concatena o tipo de chave geradas, com a quantidade e o extensão txt do // arquivo a ser gerado. string nome = (tipo.c_str() + result.str() + ".txt"); arquivo.open(nome.c_str()); // Teste de verificação se o arquivo foi gerado com sucesso if (arquivo.fail()) { cout << "Error ao criar o arquivo."; menu(); } // Realiza a escrita no arquivo enquanto houver dados a ser inseridos while (elemento != NULL) { arquivo << elemento->info.chave << " " << elemento->info.dado1 << " "; arquivo << elemento->info.dado2; // Se o próximo elemento a ser escrito for diferente de NULL, realiza uma quebra de linha if (elemento->proximo != NULL){ arquivo << endl; } elemento = elemento->proximo; } // Fecha o arquivo arquivo.close(); // Libera espaço alocado na criação da variável dinâmica free(elemento); } // Função para ler o arquivo e armazenar os dados na lista void lerarquivo(ListaEncadeada &lista, string nome) { // Declara um arquivo de entrada ifstream arquivo; // Concatena o nome com a extensão txt nome = nome + ".txt"; // Verifica se há repetição do nome da extensão if (nome.substr(nome.length() - 8, nome.length()) == (".txt.txt")) { nome = nome.substr(0, nome.length() - 4); cout << nome; } // Realiza sua abertura arquivo.open(nome.c_str()); // Caso falha ao abrir ou arquivo não exitir if (arquivo.fail()) { cout << "\nArquivo não encontrado!\n"; menu(); } // Declara uma variável struct dados para receber os parametros de dentro // do arquivo dados dado; // Enquanto não encontrar sinal de final de arquivo, realizará a leitura e // a inserção na lista while (!arquivo.eof()) { arquivo >> dado.chave >> dado.dado1 >> dado.dado2; if (lista.ultimo != NULL) { if (dado.chave == lista.ultimo->info.chave) { goto fim; } } // Chama a função de inserção na lista, passando o dado e a lista como parametros inserirElemento(lista, dado); } fim: // Mensagem de leitura completa do arquivo cout << "\nLeitura completa do arquivo " << nome << "!\n"; // Fecha o arquivo arquivo.close(); } // Função para verificar se a chave aleatória gerada já existe na lista bool verificar(ListaEncadeada &lista, tipoChave chave) { // Realiza o laço para verificação de existência de valores iguais. // Caso sim, retorna então verdadeiro(true). // Admite como limite a posição do elemento atualmente sendo inserido. Elemento *elementoP = lista.primeiro, *elementoU = lista.ultimo; // Enquanto elementoP for diferente de elementoU realiza o laço de verificação while (elementoP != elementoU) { // Caso a chave do elemento seja igual a chave gerada retorna verdade if (elementoP->info.chave == chave || elementoU->info.chave == chave) { return true; } elementoP = elementoP->proximo; elementoU = elementoU->anterior; } // Caso ponteiros de apontem para o mesmo endereço e a chave do elemento seja igual a chave gerada if (elementoP == elementoU && elementoP->info.chave == chave) { return true; } // Caso contrário, retorna falso. return false; } // Função para gerar os dados e chaves referentes ao mesmos void gerarchaves(ListaEncadeada &lista, int quant, int op) { // Declaração de variáveis tipoChave chave; long int dado1; int TAM; dados dado; // Toda vez que executar o programa será gerado um aleatória diferente srand(time(NULL)); // Laço para gerar a quantidade informada de estrutura com os dados for (int i = 0; i < quant; i++) { // Define um tamanho aleatório para a sequencia de caracteres TAM = 1 + (rand() % 10); // Aloca dinamicamente um vetor de char dado2 char *dado2 = new char[TAM]; // Verifica qual op?o selecionada: 1.Aleatória ou 2.Ordenada if (op == 1) { // 1 até 10: chave = 1 + (rand() % quant); // Verificação se há uma repetição no laço. Caso sim, gerará um novo // número aleatório e atribuirá a este como sendo o novo valor e então, // a variável j recebe 0 para que possa realizar todas checagens possíveis // e corrigindo caso haja repeti?o. Ao fim, o valor é atribuido às // referentes variáveis while (verificar(lista, chave)) { chave = 1 + (rand() % quant); } } else if (op == 2) { // Crescente a partir do 1: chave = i + 1; } // Gera dado1 sem limite superior: dado1 = 1 + (rand()); // Exibe a sequencia de caracteres alphanúmericos for (int j = 0; j < TAM; j++) { // Converte para char o número inteiro dado2[j] = ('a' + (rand() % 26)); } // Cria-se uma estrutura com os dados gerados dado.chave = chave; dado.dado1 = dado1; for (int j = 0; j < TAM; j++) { dado.dado2[j] = dado2[j]; } // Insere os elementos gerados em uma Lista Encadeada inserirElemento(lista, dado); // Libera espaço alocado na criação da variável dinâmica delete dado2; } // Informa ao final do laço que a lista foi preenchida cout << "\nLista Preenchida!"; } // Função para realizar a pesquisa sequencial void buscaSeq(ListaEncadeada &lista, dados &dado) { // Declaração de variáveis Elemento *elemento = lista.primeiro; // Contador de comparações int i = 0; // Enquanto elemento não for nulo ou vazio while (elemento != NULL) { // Verifica se a chave do elemento corresponde a chave pesquisada i++; if (elemento->info.chave == dado.chave) { // Informa a posição do registro e atribui o restante dos dados ao dados dado cout << "\nPosição encontrada: " << (i + 1) << "? termo\n"; dado = elemento->info; cout << "\nComparações " << i; return; } elemento = elemento->proximo; } // Libera espaço alocado na criação da variável dinâmica free(elemento); // Caso não encontre, exibe a mensagem na tela do usuário. Declara chave como -1. cout << "\nRegistro não encontrado."; cout << "\nComparações " << i++; dado.chave = -1; return; } // Função recursiva para encontra a chave pesquisada na lista Crescente int binariaC(dados *v, int inicio, int final, dados &dado) { int meio; if (inicio < final) { meio = (inicio + final) / 2; if (v[meio].chave == dado.chave) { return meio; } else if (v[meio].chave < dado.chave) { return binariaC(v, meio + 1, final, dado); } else if (v[meio].chave > dado.chave) { return binariaC(v, inicio, meio - 1, dado); } } else { return -1; } } // Função recursiva para encontra a chave pesquisada na lista Decrescente int binariaD(dados *v, int inicio, int final, dados &dado) { int meio; if (inicio < final) { meio = (inicio + final) / 2; if (v[meio].chave == dado.chave) { return meio; } else if (v[meio].chave > dado.chave) { return binariaD(v, meio + 1, final, dado); } else if (v[meio].chave < dado.chave) { return binariaD(v, inicio, meio - 1, dado); } } else { return -1; } } // Função de pesquisa sequencial recursiva void buscaSeqRec(ListaEncadeada &lista, dados &dado) { // Cria variáveis para manipulação na pesquisa sequencial recursiva Elemento *elemento = lista.primeiro; int i = 0, tam, t, op; // Analisa se a lista esta ordenada ou desordenada e declara o tamanho do vetor corretamente if (elemento->info.chave < elemento->proximo->info.chave){ tam = lista.ultimo->info.chave; op = 1; } else if (elemento->info.chave > elemento->proximo->info.chave){ tam = lista.primeiro->info.chave; op = 2; } // Aloca dinamicamente um vetor de dados para armazena a lista e realizar assim, a pesquisa sequencial recursiva dados * v = new dados[tam]; while (elemento != NULL) { v[i] = elemento->info; elemento = elemento->proximo; i++; } // Analisa se a lista esta ordenada ou desordenada e invoca a função certa if (op == 1){ int t = binariaC(v, 0, tam, dado); } else if (op == 2){ int t = binariaD(v, 0, tam, dado); } // Exibe o resultado da pesquisa if (t == -1) { cout << "\nRegistro não encotrado."; } else { cout << "\nChave: " << v[t].chave; cout << " Dado1: " << v[t].dado1; cout << " Dado2: " << v[t].dado2; } // Libera espaço alocado na criação da variável dinâmica delete v; } // Função para incializar a árvore void iniciarArvore(aponta *s) { (*s) = NULL; } // Função que retorna a altura da árvore ou nó int AVLAltura(aponta *r) { if ((*r) == NULL) { return 0; } int esq = AVLAltura(&(*r)->esq); int dir = AVLAltura(&(*r)->dir); if (esq > dir) { return esq + 1; } return dir + 1; } // Função da AVL de rotação para a esquerda void rotacionaEsq(aponta *r) { aponta *aux = (aponta *) malloc(sizeof (TipoNo)); (*aux) = (*r)->dir; (*r)->dir = (*aux)->esq; (*aux)->esq = (*r); (*r) = (*aux); free(aux); } // Função da AVL de rotação para a Direita void rotacionaDir(aponta *r) { aponta *aux = (aponta *) malloc(sizeof (TipoNo)); (*aux) = (*r)->esq; (*r)->esq = (*aux)->dir; (*aux)->dir = (*r); (*r) = (*aux); free(aux); } // Função da AVL para analisar em qual caso encontra-se se o nó estiver desbalanceado void balancear(aponta *r) { if ((*r) == NULL) { return; } balancear(&(*r)->esq); balancear(&(*r)->dir); int pai = (*r)->FB; if (pai == 2) { int filho = (*r)->dir->FB; if (filho == 1 || filho == 0) { rotacionaEsq(&(*r)); } else if (filho == -1) { rotacionaDir(&(*r)->dir); rotacionaEsq(&(*r)); } } if (pai == -2) { int filho = (*r)->esq->FB; if (filho == -1 || filho == 0) { rotacionaDir(&(*r)); } else if (filho == 1) { rotacionaEsq(&(*r)->esq); rotacionaDir(&(*r)); } } } // Função da AVL para atualizar a altura direita,esquerda e Fator de balanceamento de cada nó da árvore. void atualizar(aponta * r) { if ((*r) == NULL) { return; } (*r)->alturaDir = AVLAltura(&(*r)->dir); (*r)->alturaEsq = AVLAltura(&(*r)->esq); (*r)->FB = AVLAltura(&(*r)->dir) - AVLAltura(&(*r)->esq); atualizar(&(*r)->esq); atualizar(&(*r)->dir); } // Função de inserção da AVL void insereAVL(dados dado, aponta * r) { if ((*r) == NULL) { *r = (aponta) malloc(sizeof (TipoNo)); (*r)->registro = dado; (*r)->esq = NULL; (*r)->dir = NULL; (*r)->FB = 0; (*r)->alturaEsq = 0; (*r)->alturaDir = 0; return; } if (dado.chave < (*r)->registro.chave) { insereAVL(dado, &(*r)->esq); (*r)->alturaEsq = AVLAltura(&(*r)->esq); (*r)->alturaDir = AVLAltura (&(*r)->dir); (*r)->FB = (*r)->alturaDir - (*r)->alturaEsq; return; } if (dado.chave > (*r)->registro.chave) { insereAVL(dado, &(*r)->dir); (*r)->alturaEsq = AVLAltura(&(*r)->esq); (*r)->alturaDir = AVLAltura (&(*r)->dir); (*r)->FB = (*r)->alturaDir - (*r)->alturaEsq; } else { cout << "\nError: O registro já existe!\n"; } } //Função de inserção da AVN void insereAVN(dados dado, aponta * p) { if ((*p) == NULL) { *p = (aponta) malloc(sizeof (TipoNo)); (*p)->registro = dado; (*p)->esq = NULL; (*p)->dir = NULL; (*p)->FB = 0; (*p)->alturaEsq = 0; (*p)->alturaDir = 0; return; } if (dado.chave < (*p)->registro.chave) { insereAVN(dado, &(*p)->esq); return; } if (dado.chave > (*p)->registro.chave) { insereAVN(dado, &(*p)->dir); } else { cout << "\nError: O registro já existe!\n"; } } // Função de busca na estrutura de árvore void buscaAV(dados *dado, aponta * p, int i) { if ((*p) == NULL) { i++; cout << "\nError: Registro não está presente na árvore!\n"; cout << "\nComparações " << i; dado->chave = -1; return; } if (dado->chave < (*p)->registro.chave) { i++; buscaAV(dado, &(*p)->esq, i); return; } if (dado->chave > (*p)->registro.chave) { i++; buscaAV(dado, &(*p)->dir, i); } else { i++; cout << "\nComparações " << i; *dado = (*p)->registro; } } // Função para exibir os dados presentes na árvore de maneira ordenada void exibirEmOrdem(aponta * p) { if ((*p) != NULL) { exibirEmOrdem(&(*p)->esq); cout << "\nChave: " << (*p)->registro.chave; cout << " Fator Balanceamento: " << (*p)->FB; cout << " Altura Direita . . ." << (*p)->alturaDir; cout << " Altura Esquerda . . ." << (*p)->alturaEsq; exibirEmOrdem(&(*p)->dir); } } // Função para verificar se a árvore está ordenada (Crescente ou Decrescente) bool verifOrd(ListaEncadeada lista) { Elemento *elemento = lista.primeiro; // Verifica se a lista está ordenada if (elemento->proximo != NULL) { if (elemento->info.chave < elemento->proximo->info.chave) { while (elemento != NULL && elemento->proximo != NULL) { if (elemento->proximo->info.chave < elemento->info.chave) { return true; } elemento = elemento->proximo; } } else if (elemento->info.chave > elemento->proximo->info.chave) { while (elemento != NULL && elemento->proximo != NULL) { if (elemento->proximo->info.chave > elemento->info.chave) { return true; } elemento = elemento->proximo; } } } return false; } // Função menu busca (Exibe ao usuário opções de métodos de busca) do programa void menubusca(ListaEncadeada lista, aponta *p, aponta * r) { // Solicita ao usuário que informe uma chave. Atribui este valor // recebido a variável declarada aqui dados *dado = (dados *) malloc(sizeof (dados)); int metodo, chave = 0; clock_t tempof, tempo; pesquisa: cout << "\n\nInforme a chave a ser pesquisada: "; cin >> chave; dado->chave = chave; metodo: cout << "\nEscolha um metodo de pesquisa:\n "; cout << "\n1. Pesquisa Sequencial"; cout << "\n2. Arvore Não Balanceada"; cout << "\n3. Arvore Balanceada"; cout << "\n4. Pesquisa Binária Recursiva"; cout << "\n\nEscolha: "; cin >> metodo; switch (metodo) { case 1: tempo = clock(); buscaSeq(lista, *dado); tempof = clock() - tempo; break; case 2: tempo = clock(); buscaAV(&(*dado), &(*p), 0); tempof = clock() - tempo; break; case 3: tempo = clock(); buscaAV(&(*dado), &(*r), 0); tempof = clock() - tempo; break; case 4: if (verifOrd(lista)) { cout << "\nA Pesquisa Binária Recursiva funciona somente com lista ordenadas!\n"; cout << "\nSelecione outro metodo de busca:\n"; goto metodo; } tempo = clock(); buscaSeqRec(lista, *dado); tempof = clock() - tempo; break; default: cout << "\nOpção Inválida!\n"; goto metodo; break; } if (metodo >= 1 && metodo <= 3 && dado->chave != -1) { cout << "\nChave: " << dado->chave; cout << " Dado1: " << dado->dado1; cout << " Dado2: " << dado->dado2; } // Exibe ao usuário o tempo gasto no algoritmo de busca cout << "\n\nTempo gasto: " << ((tempof * 1000000) / CLOCKS_PER_SEC) << "ns.\n"; char op; cout << "\nRealizar outra pesquisa? S/N \n"; cin >> op; if (op == 'S' || op == 's') { goto pesquisa; } // Libera espaço alocado na criação da variável dinâmica free(dado); } // Função menu principal do programa void menu() { // Declara uma variável que receberá a opção desejada pelo usuário int op, quant, escolha; string tipo, nome; // Cria e inicializa a variável lista ListaEncadeada lista; criarLista(lista); // Cria variável árvore Não Balanceada e Balanceada, respectivamente aponta p, r; // Cria variável dinâmica elemento para manipulação de dados Elemento *elemento = (Elemento *) malloc(sizeof (Elemento)); inicio: // Exibe um menu com opções e pede para que o usuário informe uma escolha do { cout << "\n\nInforme uma escolha:\n"; cout << "\n1. Gerar chaves de entrada aleat?ias"; cout << "\n2. Gerar chaves de entrada ordenada."; cout << "\n3. Exibir chaves geradas."; cout << "\n4. Escrever um arquivo com as chaves geradas."; cout << "\n5. Ler arquivo de entrada com chaves"; cout << "\n6. Realizar uma pesquisa"; cout << "\n0. Sair do programa."; cout << "\n\nEscolha: "; cin >> op; // Limpar tela ap? selecionar a escolha // Linux: // system("clear"); // Windows system("cls"); switch (op) { // Gerar chaves Aleatórias case 1: // Inicializa-se uma Lista Encadeada criarLista(lista); cout << "\nInforme a quantidade de chaves a ser geradas: "; cin >> quant; if (quant <= 0) { cout << "\nQuantidade informada inv?ida!\n"; goto inicio; } gerarchaves(lista, quant, op); tipo = ("Aleatorio-"); escolha = 1; break; // Gerar chaves Ordenadas case 2: // Inicializa-se uma Lista Encadeada criarLista(lista); cout << "\nInforme a quantidade de chaves a ser geradas: "; cin >> quant; if (quant <= 0) { cout << "\nQuantidade informada inv?ida!\n"; goto inicio; } gerarchaves(lista, quant, op); tipo = ("Ordenado-"); escolha = 2; break; // Exibe ao usuário os dados armazenados case 3: // Exibe ao usu?io a lista atualmente em manuseio exibeLista(lista, escolha); break; // Escrever no arquivo os dados gerados case 4: escrevearquivo(lista, quant, tipo); // Ao final, exibe uma mensagem escrita concluida. E ent?, fecha-se o arquivo. cout << "\nArquivo escrito!"; break; // Ler do arquivo os dados gerados case 5: // Inicializa-se uma Lista Encadeada criarLista(lista); cout << "\nInforme o nome do arquivo: "; cin.ignore(); getline(cin, nome); lerarquivo(lista, nome); escolha = 3; break; // Realizar pesquisa no dados armazenados case 6: elemento = lista.primeiro; if (lista.primeiro == NULL) { cout << "\nLista Inv?ida!\n"; goto inicio; } else { cout << "\nInicializando . . ."; iniciarArvore(&(p)); iniciarArvore(&(r)); // Cria variável Elemento dinâmica cout << "\nArvore Iniciada!"; while (elemento != NULL) { insereAVN(elemento->info, &(p)); insereAVL(elemento->info, &(r)); //atualizar(&(r)); balancear(&(r)); atualizar(&(r)); elemento = elemento->proximo; } cout << "\nRaiz da AVN: " << p->registro.chave; cout << "\nRaiz da AVL: " << r->registro.chave; // Ir?deslocar o usu?io para a fun?o de busca menubusca(lista, &p, &r); // exibirEmOrdem(&(r)); } break; // Sair do programa case 0: // Finaliza?o do programa cout << "\n\n"; break; default: // Caso nenhuma das anteriores, ?informado ao usu?io que houve sele?o de alternativa inv?ida. // Retorna ao menu principal cout << "\nOpçãoo informada inválida!\n"; goto inicio; break; } } while (op != 0); // Libera espaço alocado na criação da variável dinâmica free(elemento); } // Função principal para início do programa int main() { // Invoca a função menu para fornecer ao usuário opções menu(); // Mensagem exibida na tela do usuário quando o programa é finalizado com sucesso cout << "\nSaída com sucesso!\n\n\n"; return 0; }
  9. Estou criando um sistema bancário em c++ (é um trabalho do meu curso, que exige que eu use essa linguagem) na última etapa, preciso que o programa mostre um extrato com todas as movimentações da conta, mas quando eu faço os depósitos na conta, ocorre um erro. por exemplo, o saldo inicial era 0 depositei 10 em seguida mais 20 no extrato aparece: depósitos feitos: 2 Valor dos depósitos: 20 20 ou seja, preciso de alguma forma imprimir o primeiro e segundo valor, e ele só está reconhecendo o segundo. alguém pode me ajudar?
  10. 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.
  11. Tenho conhecimento básico em C++ e preciso entregar um programa na escola de cadastro de um petshop com conexão ao banco de dados, com cadastro de novos clientes, estoque, estoque de remédios, consultas, aplicações e roupas e acessórios meu professor me ajuda com uma parte do programa mas n estou conseguindo finalizar alguém pode me ajudar ? pf entrem em contato 13 974014395
  12. Olá gente, gostava que ajudassem com isto... o meu professor meteu este código... e ele perguntou quem é que sabe o que isto faz e nós não sabemos, nós somos alunos de 10 ano e ainda não percebemos bem isto, agradecia a vossa ajuda. (Digam-me o que faz e expliquem os passos) #include <stdio.h> #include <string.h> int main(void) { char *Codifica(char *strOut, char *strIn) { strcpy(strOut, strIn); char *strAux = strOut; while(*strAux){ *strAux = (*strAux)+1; *strAux++; } return strOut; } }
  13. n votefavorite Estou usando o sdk dahua para conectar-me a um DVR. Até então. Estou tendo problemas para obter os bytes retornados de uma câmera. e exportar em formato de imagem. Sou iniciante e não tenho ideia. como. // real-time monitoring method g_lRealHandle = CLIENT_RealPlayEx(g_lLoginHandle, command_options.dvr_channel, NULL, emRealPlayType); //set-callback CLIENT_SetRealDataCallBackEx(g_lRealHandle, &RealDataCallBackEx, NULL, dwFlag) //bytes de retorno da camera void CALLBACK RealDataCallBackEx(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LONG param, LDWORD dwUser) { // if more than one real-time monitoring use same data callback, we can judge by parameter lRealHandle. //NESTA PARTE RECEBO OS BYTES QUERIA SABER COMO SALVAR EM FORTAMO DE IMAGEM OS FRAMES DESSE BYTE fwrite (pBuffer, 1, dwBufSize, file); fflush(file); //original A/V hybrid data //printf("receive real data, param: lRealHandle[%ld], dwDataType[%u], pBuffer[%p], dwBufSize[%u], param[%d], dwUser[%ld] - [%d]\n", lRealHandle, dwDataType, pBuffer, dwBufSize, param, dwUser, bInput); }
  14. Boa tarde e feliz natal a todos. Estou tentando fazer um programa utilizando o conhecimento que aprendi sobre POO. Meu programa consiste em um cadastro de alunos onde posso cadastrar seu nome, identidade e as notas de quatro bimestres. Alguns erros consegui sanar, mas o erro citado no título deste tópico não. Segue o código e a mensagem de erro: main.cpp: #include <iostream> #include "estudante.h" using namespace std; int main(int argc, char *argv[]){ Estudante e; e.cadastrarEstudante(); e.cadastrarNotas(); return 0; } estudante.h #ifndef ESTUDANTE_H_INCLUDED #define ETUDANTE_H_INCLUDED class Estudante{ friend void cadastrar_notas_bimestrais(short bimestre); protected: char *nome; int identidade; //Notas das provas. float matematica[4]; float portugues[4]; float historia[4]; public: const char* getNome(); int getId(); void cadastrarNotas(); void cadastrarEstudante(); ~Estudante(); }; #endif estudante.cpp: #include "estudante.h" #include <cstdlib> #include <cstring> #include <iostream> using namespace std; void cadastrar_notas_bimestrais(short bimestre){ cout << "Nota de matemática: "; cin >> matematica[bimestre - 1]; cout << "Nota de português: "; cin >> portugues[bimestre - 1]; cout << "Nota história: "; cin >> historia[bimestre - 1]; } Estudante::~Estudante(){ delete[] nome; nome = 0; } const char* Estudante::getNome(){ return nome; } int Estudante::getId(){ return identidade; } void Estudante::cadastrarNotas(){ short bimestre; system("clear"); cout << "Cadastro de notas\n\n\n"; cout << "Informe o bimestre:"; cin >> bimestre; switch(bimestre){ case 1: cadastrar_notas_bimestrais(bimestre); break; case 2: cadastrar_notas_bimestrais(bimestre); break; case 3: cadastrar_notas_bimestrais(bimestre); break; case 4: cadastrar_notas_bimestrais(bimestre); break; } cout << "\n\n\nNotas cadastradas com sucesso!"; } void Estudante::cadastrarEstudante(){ char nome[41]; system("clear"); cout << "Cadastro de Aluno\n\n\n"; cout << "Nome completo: "; cin.getline(nome, 41); this->nome = new char[strlen(nome) + 1]; strcpy(this->nome, nome); cout << "Identidade: "; cin >> identidade; cout << "\n\ncadastro realizado com sucesso!"; } Mensagem de erro: pai@demas:~/Projetos/C++/projeto03$ g++ -o prog estudante.cpp main.cpp estudante.cpp: In function ‘void cadastrar_notas_bimestrais(short int)’: estudante.cpp:10:9: error: ‘matematica’ was not declared in this scope cin >> matematica[bimestre - 1]; ^~~~~~~~~~ estudante.cpp:12:9: error: ‘portugues’ was not declared in this scope cin >> portugues[bimestre - 1]; ^~~~~~~~~ estudante.cpp:14:9: error: ‘historia’ was not declared in this scope cin >> historia[bimestre - 1]; ^~~~~~~~ Desde já agradeço.
  15. 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
  16. #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.
  17. 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; }
  18. Quando tento verificar se uma conta já existe no meu sistema de login, encontro o seguinte erro ** [MySQL]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''GH_CEO'' at line 1 Código responsável pela verificação: function:Player_Init(playerid) { static const empty_player[playerData]; PlayerData[playerid] = empty_player; GetPlayerName(playerid, PlayerData[playerid][pUsername], MAX_PLAYER_NAME); new query[103]; mysql_format(g_iHandle, query, sizeof query, "SELECT * FROM `characters` WHERE `AcountName` = '%s' LIMIT 1", PlayerData[playerid][pUsername]); mysql_tquery(g_iHandle, query, "r@Player_Init", "d", playerid); return true; }
  19. Pessoal,estou criando uma Calculadora de decimo terceiro salário no Slackware,só que ela não instala em Office(Categoria)do menu iniciar do Linux. Tem um site que pode nos ajudar: https://mexapi.macpress.com.br/criando-pacotes-slackware Download do pacote.tar.gz: http://www.mediafire.com/file/ftccaviecdx0c6h/Calculadora.tar.gz Alguém pode me ajudar? Observação:Uso o Slackware 14.2 64 bits.
  20. Boa noite! alguém pode me ajudar? Não roda e não sei o motivo! #include <iostream> using namespace std; class bar { protected: string nomeItem[9]; int itens[9]; public: bar() { int i; for(i=0;i<9;i++) { this->itens[i]=0; } this->nomeItem[0]="cerveja"; this->nomeItem[1]="pinga 51"; this->nomeItem[2]="caipirinha"; this->nomeItem[3]="agua"; this->nomeItem[4]="coca"; this->nomeItem[5]="salgado"; this->nomeItem[6]="cigarro"; this->nomeItem[7]="amendoim"; this->nomeItem[8]="aperitivo"; this->nomeItem[9]="agua com gas"; } void setItem(int op, int quantidade) { this->itens[op]=this->itens[op]+quantidade; } string getNomeitem(int op) { return this->nomeItem[op]; } }; class comanda:public bar { private: string nomeCliente; public: comanda() { nomeCliente=""; } void setNomecliente(string nomeCliente) { if(this->nomeCliente!="") this->nomeCliente=nomeCliente; else cout<<"não pode nome em branco"<<endl; } string getNomecliente() { return this->nomeCliente; } void compraItem(int op, int quantidade) { op--; if((op>=0)&&(op<=9)&&(quantidade>0)) { setItem(op,quantidade); } } void imprimenu() { cout<<"|***********************************|"<<endl; cout<<"|***** Bem vindo ao bar do Wilson *****|"<<endl; for(int i=0;i<=9;i++) { cout<<"|* "<<getNomeitem(i)<<" *|"<<endl; } cout<<"|***********************************|"<<endl; } void imprimeComanda() { int i; for(i=0;i<10;i++) { if(this->itens[i]!=0) { cout<<getNomeitem(i)<<endl; cout<<this->itens[i]; } } for(i=0;i<9;i++) { this->itens[i]=0; } this->nomeCliente=""; } }; void menu() { int i,op,quantidade; string nome; comanda cliente[200]; i=0; do { cout<<"1 - Para emitir nova comanda"<<endl; cout<<"2 - Para comprar alguma coisa do menu"<<endl; cout<<"3 - Fechar comanda"<<endl; cout<<"4 - Sair do programa"<<endl; cin>>op; if((op==1)&&(i<200)) { cout<<"Digite o nome do cliente (comanda)"<<endl; cin>>nome; cliente[i].setNomecliente(nome); cout<<"Codigo da comanda: "<<(i+1)<<endl; } else if(op==2) { cout<<"Digite o codigo da comanda"<<endl; if(cliente[i].getNomecliente()!="") { cliente[i].imprimenu(); cout<<"Digite a opcao desejada: "<<endl; cin>>op; cout<<"Digite a quantidade desejada: "<<endl; cin>>quantidade; cliente[i].compraItem(op,quantidade); op=1; } else { cout<<"Comanda invalida ou não cadastrada por favor cadastrar comanda"<<endl; } } else if(op==3) { cliente[i].imprimeComanda(); cout<<"Agradecemos a sua preferencia! \nObrigado"<<endl; } else if(op==4) { cout<<"Sistema sera fechado!"<<endl; } }while(op!=4); } int main() { menu(); return 0; } Obrigado ! :)
  21. Boa noite! alguém pode me ajudar? Não roda e não sei o motivo! #include <iostream> using namespace std; class bar { protected: string nomeItem[9]; int itens[9]; public: bar() { int i; for(i=0;i<9;i++) { this->itens[i]=0; } this->nomeItem[0]="cerveja"; this->nomeItem[1]="pinga 51"; this->nomeItem[2]="caipirinha"; this->nomeItem[3]="agua"; this->nomeItem[4]="coca"; this->nomeItem[5]="salgado"; this->nomeItem[6]="cigarro"; this->nomeItem[7]="amendoim"; this->nomeItem[8]="aperitivo"; this->nomeItem[9]="agua com gas"; } void setItem(int op, int quantidade) { this->itens[op]=this->itens[op]+quantidade; } string getNomeitem(int op) { return this->nomeItem[op]; } }; class comanda:public bar { private: string nomeCliente; public: comanda() { nomeCliente=""; } void setNomecliente(string nomeCliente) { if(this->nomeCliente!="") this->nomeCliente=nomeCliente; else cout<<"não pode nome em branco"<<endl; } string getNomecliente() { return this->nomeCliente; } void compraItem(int op, int quantidade) { op--; if((op>=0)&&(op<=9)&&(quantidade>0)) { setItem(op,quantidade); } } void imprimenu() { cout<<"|***********************************|"<<endl; cout<<"|***** Bem vindo ao bar do Wilson *****|"<<endl; for(int i=0;i<=9;i++) { cout<<"|* "<<getNomeitem(i)<<" *|"<<endl; } cout<<"|***********************************|"<<endl; } void imprimeComanda() { int i; for(i=0;i<10;i++) { if(this->itens[i]!=0) { cout<<getNomeitem(i)<<endl; cout<<this->itens[i]; } } for(i=0;i<9;i++) { this->itens[i]=0; } this->nomeCliente=""; } }; void menu() { int i,op,quantidade; string nome; comanda cliente[200]; i=0; do { cout<<"1 - Para emitir nova comanda"<<endl; cout<<"2 - Para comprar alguma coisa do menu"<<endl; cout<<"3 - Fechar comanda"<<endl; cout<<"4 - Sair do programa"<<endl; cin>>op; if((op==1)&&(i<200)) { cout<<"Digite o nome do cliente (comanda)"<<endl; cin>>nome; cliente[i].setNomecliente(nome); cout<<"Codigo da comanda: "<<(i+1)<<endl; } else if(op==2) { cout<<"Digite o codigo da comanda"<<endl; if(cliente[i].getNomecliente()!="") { cliente[i].imprimenu(); cout<<"Digite a opcao desejada: "<<endl; cin>>op; cout<<"Digite a quantidade desejada: "<<endl; cin>>quantidade; cliente[i].compraItem(op,quantidade); op=1; } else { cout<<"Comanda invalida ou não cadastrada por favor cadastrar comanda"<<endl; } } else if(op==3) { cliente[i].imprimeComanda(); cout<<"Agradecemos a sua preferencia! \nObrigado"<<endl; } else if(op==4) { cout<<"Sistema sera fechado!"<<endl; } }while(op!=4); } int main() { menu(); return 0; } Obrigado ! :)
  22. #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ê?
  23. 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. };
  24. 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).
×
×
  • Criar Novo...