int main() { FILE *arqEntrada=NULL; char caminhoarquivo[100]="C:\\Users\\JúlioCésar\\entrada.txt"; int k=1; if (abrirArquivo(arqEntrada,caminhoarquivo) == 1){ //Verifica se o arquivo existe ou não processaEntrada(arqEntrada,caminhoarquivo); do{//Exibir menu switch(menu()){ case 1: //Ranking Total de Vendas break; case 2: //Ranking Quantidade de Vendas break; case 3: //Lista Produtos por Valor break; case 4: //Lista Produtos por Lucro break; case 0: //Sair printf("PROGRAMA FINALIZADO \n\n"); k=0; break; default://Numero Inválido printf("Numero Inválido, repita a operação\n\n"); break; } }while(k!=0); } else printf("Programa Finalizado\n"); return 0; }
TelaPrincipal::TelaPrincipal(QWidget *parent) : QMainWindow(parent), ui(new Ui::TelaPrincipal) { ui->setupUi(this); // Conecta os botões a uma ação connect(ui->pushButtonLimpar, SIGNAL(clicked()), this, SLOT(limpaTela())); connect(ui->pushButtonAbrir, SIGNAL(clicked()), this, SLOT(abrirArquivo())); connect(ui->pushButtonNovo,SIGNAL(clicked()), this, SLOT(novoArquivo())); connect(ui->pushButtonSalvar, SIGNAL(clicked()), this, SLOT(salvarArquivo())); connect(ui->pushButtonCompilar, SIGNAL(clicked()), this, SLOT(compilaCodigoFonte())); connect(ui->pushButtonSobre, SIGNAL(clicked()), this, SLOT(sobre())); }
int buscarCaptura(char *id){ int idNumber = atoi(id); FILE *arquivo = abrirArquivo(captura,"r"); FILE *arquivoPos = abrirArquivo(capturaPos,"r"); char linha[BUFFER_SZ]; while (fgets(linha,BUFFER_SZ,arquivoPos)!=NULL){ int pos; char removido[BUFFER_SZ]; sscanf(linha,"%d %s",&pos,removido); fseek(arquivo,pos,SEEK_SET); fgets(linha,BUFFER_SZ,arquivo); int idArquivo; sscanf(linha,"%*[^0-9] %d",&idArquivo); if (idNumber==idArquivo && strcmp(removido,"#REMOVIDO#")!=0){ fclose(arquivo); fclose(arquivoPos); return pos; } } fclose(arquivo); fclose(arquivoPos); return -1; }
void removerCaptura(){ char id[BUFFER_SZ]; inserirDado("ID: ",id); int pos = buscarCaptura(id); if (pos != -1){ FILE *arquivoPos = abrirArquivo(capturaPos,"r+"); char buffer[BUFFER_SZ]; int encontrou = 0; while (!encontrou){ int posArqBytes = ftell(arquivoPos); fgets(buffer,BUFFER_SZ,arquivoPos); int posArq; sscanf(buffer,"%d",&posArq); if (pos == posArq){ encontrou = 1; fseek(arquivoPos,posArqBytes,SEEK_SET); fprintf(arquivoPos,"%d #REMOVIDO#\n",pos); printf("Captura removida\n"); } } fclose(arquivoPos); } else printf("Captura não encontrada\n"); }
int main(void) { int sock; int porta; metadados_t id; struct sockaddr_in cliente; FILE *fp; char nomeArquivo[TAMNOME]; char nomeServidor[TAMNOME]; struct hostent *hp; int tamArquivo; int tamSocket = sizeof (cliente); printf("Entre com a porta de conexão\n"); scanf (" %d", &porta); printf("Entre com o caminho do arquivo a ser enviado\n"); setbuf (stdin, NULL); scanf(" %[^\n]", nomeArquivo); printf("Entre com o nome que o arquivo vai receber no servidor\n"); setbuf (stdin, NULL); scanf(" %[^\n]", nomeServidor); printf("\nServidor: %s", IP); printf(":%d\n", porta); printf("Arquivo enviado: %s\n", nomeArquivo); fp = abrirArquivo(nomeArquivo); tamArquivo = tamanhoArquivo(fp); /** * Os dados do arquivo a ser enviado são alocados * na struct correspondente. */ strcpy(id.nome, nomeServidor); id.tamanho = tamArquivo; /** * Criação do socket para comunicão entre cliente e servidor */ sock = criaSocket(); /** * Configurando o endereço do socket do servidor. */ cliente.sin_family = AF_INET; /** * Estabelecimento de conexão se o cliente e servidor estiverem * rodando no mesmo computador. */ if (strcmp(IP, "localhost") == 0) { if (strcmp(nomeArquivo, nomeServidor) == 0) { perror("Tentativa de sobreescrever o arquivo no mesmo computador!\n"); fechaArquivo(fp); fechaSocket(sock); exit(1); } /** * Pega o endereço de IP de 32-bit do host * por frescurite pode entrar com o dominio em vez do IP */ hp = gethostbyname(IP); if (hp == 0) { perror("FALHA ao pegar endereço de IP!"); fechaArquivo(fp); fechaSocket(sock); exit(1); } //Se estamos aqui deu tudo certo com IP do servidor memcpy(&cliente.sin_addr, hp->h_addr, hp->h_length); } else { /** * Estabelecimento de conexão se o cliente e servidor estiverem * rodando em computadores diferentes. */ cliente.sin_addr.s_addr = inet_addr(IP); } /** * Vinculando a porta informada ao socket do cliente. */ cliente.sin_port = htons(porta); /** * Enviando os dados para o servidor. */ if (sendto(sock, &id, sizeof (id), 0, (struct sockaddr *) &cliente, tamSocket) <= 0) { perror("Falha ao enviar!"); fechaArquivo(fp); fechaSocket(sock); exit(1); } printf("\nChecando o estabelecimento de conexão: enviando %s ", id.nome); printf("com %d bytes\n", id.tamanho); /** * Enviando o arquivo */ enviarArquivo(fp, sock, cliente); /** * O arquivo foi transferido com sucesso. * Todos os arquivos e sockets são fechados. */ printf("\nO arquivo foi enviado com sucesso!\n"); fechaArquivo(fp); fechaSocket(sock); return 0; }
void inserirCaptura(){ char idCaptura[BUFFER_SZ]; char idIndividuo[BUFFER_SZ]; char comprimento[BUFFER_SZ]; char largura[BUFFER_SZ]; char peso[BUFFER_SZ]; char data[BUFFER_SZ]; char local[BUFFER_SZ]; int verificarCap; int verificarInd; do{ inserirDado("ID Captura: ",idCaptura); verificarCap = buscarCaptura(idCaptura); insiraDiferente(verificarCap); } while (verificarCap!=-1); int idCap = atoi(idCaptura); do{ inserirDado("ID Indivíduo: ",idIndividuo); verificarInd = buscarIndividuo(idIndividuo); insiraIgual(verificarInd); } while (verificarInd==-1); int idInd = atoi(idIndividuo); do{ inserirDado("Comprimento: ",comprimento); } while (atoi(comprimento)==0); int compr = atoi(comprimento); do{ inserirDado("Largura: ",largura); } while (atoi(largura)==0); int larg = atoi(largura); do{ inserirDado("Peso: ",peso); } while (atoi(peso)==0); int pesokg = atoi(peso); inserirDado("Data: ",data); inserirDado("Local: ",local); FILE *arquivo = abrirArquivo(captura,"r+"); fseek(arquivo,0,SEEK_END); int pos = ftell(arquivo); fprintf(arquivo,"id captura = %d\nid individuo = %d\n",idCap,idInd); fprintf(arquivo,"comprimento = %d\nlargura = %d\n",compr,larg); fprintf(arquivo,"peso = %d\ndata = %s\nlocal = %s\n#\n",pesokg,data,local); fclose(arquivo); FILE *arquivoPos = abrirArquivo(capturaPos,"a+"); salvarPos(arquivoPos,pos); fclose(arquivoPos); }