Ir para conteúdo

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


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

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


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 147 registros

  1. Caioba

    Erro ao resolver problema em c

    Salve! Estou com problemas ao solucionar uma questão que me foi proposta na linguagem C. Já desenvolvi todo o código, mas os casos de teste não batem. Questão: A agência cearense para investigações criminais denominada OBI (Operação de Baita Investigação) notou que, a exemplo do que ocorreu na Petrobrás, muito dinheiro foi desviado dos cofres públicos do estado para pagamento de propina a políticos nos últimos anos, especialmente pelo partido QU (Quadrilha Unida). A investigação está em andamento e a agência recrutou você para converter alguns valores que ficaram com caracteres estranhos após terem sidos descriptografados dos arquivos originais. Sua tarefa neste caso é relativamente simples: basta retirar todos os caracteres estranhos (não numéricos) de cada um dos dois valores disponíveis. Apenas tome o cuidado de separar os primeiros 11 dígitos do primeiro valor. Eles correspondem ao CPF do corrupto :) Entrada: A entrada é composta por duas linhas, cada uma delas contendo entre 1 e 60 caracteres ('0'-'9' e outros caracteres não numéricos ou, pelo menos, 1 caracter '0'-'9') e no máximo um ponto ".". Desconsiderando os caracteres não numéricos, o número final não deve ter mais de 17 caracteres (incluindo o ponto decimal). Exemplo de entrada: 7a5a6adfg4a4adsfgsd9fg6aa904aa91#$%1 42**&7746.67abc$ Saída: Imprima o CPF do corrupto e o valor que foram desviados dos cofres públicos. Exemplo de saída cpf 75644969049 propina 11427746.67 Meu código abaixo: #include<stdio.h> #include<string.h> int main(){ char caract[60]; char caract2[60]; char cpf[10]; char propina[15]; int i=0, j=0; scanf("%s", caract); for(i = 0; caract[i] != '\0'; i++){ if(caract[i] >= 48 && caract[i] <= 57){ if(j<11){ cpf[j] = caract[i]; } j++; } } cpf[11] = '\0'; cpf[12] = '\0'; scanf("%s", caract2); for(i = 0; caract2[i] != '\0'; i++){ if((caract2[i] >= 48 && caract2[i] <= 57) || caract2[i] == 46){ propina[j] = caract2[i]; j++; } } cpf[10] = '\0'; printf("cpf %s", cpf); printf("propina %s", propina); }
  2. TutoDS

    Via Verde em C

    Boa tarde pessoal. Sou novo a programar em C, programo diariamente em PHP e já programei em C#. Porém agora tenho que fazer um projeto para a minha Licenciatura em C, um programa estilo Via Verde. Mas estou com dificuldades, pois o meu pensamento está mais virado para Base de Dados. Se alguém me puder tirar as seguintes dúvidas agradeço: Como recomendam estruturar os ficheiros para guardar os dados do cliente, os veículos e as viagens? Como posso fazer a pesquisa num ficheiro, por exemplo inserir 123456789 e aparecer me os dados do cliente com esse NIF? Obrigado
  3. LucasCBSouto

    [Resolvido] Exercício de Linguagem C - Somátorio

    Pessoal, estou com dificuldades na solução deste problema: Seja um número N natural maior ou igual a 1. Fazer um algoritmo que calculo S = 1 + 1/2+ 1/3 + 1/4 + ... + 1/N. Meu código está assim: #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int i, n; float soma; print("Entre com n: "); scanf("%d", &n); soma = 0; { for (i=1; i<=&n; i++) soma = soma + (1/i); } printf("\n O somatorio das fracoes eh: %f", soma); } Alguém pode me dizer por que não funcionando? O que deve mudar ou o que falta inserir? Solução: https://forum.imasters.com.br/topic/316721-resolvido soma-com-fração/
  4. roberto de souza gomes

    programa não permitir reservar uma cadeira ja reservada em c.

    boa noite pessoal, eu sou estudante de ADS , e sou novo na programacao, estou desenvolvendo um sistema para um trabalho final do curso, um sistema de controle de entrada e saida de usuarios, mas nele esta acontecendo um erro, quando eu digito um numero de uma cadeira que ja esta comprada ele aceita, estou vendo e revendo o codigo mas nao vejo erro. alguem pode apontar o meu erro? obrigado, segue o codigo: #include <stdio.h> #include <time.h> #include <stdlib.h> #define linha 11 #define coluna 11 #define valor_minimo 29 #define valor_maximo 121 int valida(int num, int *ant, int cont); void edita (int sort,int cont); void chamaSorteio(); void CadeiraNum();//declara a funcao que preenche os lugares com numeros void painel();//declara a funcao que mostra a matriz void compra();//declara a funcao que faz a compra dos lugares void cad(); int resp; int matriz[linha][coluna];// FILE *ponteiroArquivo; struct cadastro{ char nome [50]; char cpf [15]; char email [30]; }; struct cadastro aux; int main(){ int opcao=0; int contador=0,lugares=92; char nomes[30]; char timeStr[9]; struct tm *data_hora_atual; time_t segundos; time(&segundos); data_hora_atual = localtime(&segundos); CadeiraNum(matriz);//aqui complementa a funcao cadeiraNum(); colocando os numeros. do{ //a partir daqui e mostrado para o usuario as opcoes do programa principal system("cls"); printf("\n\n MENU \n\n"); printf(" 1- Reservar Cadeira (Ainda restam (%d) lugares)\n",lugares-contador); printf(" 2- Mostrar Painel de lugares\n"); printf(" 3- Sorteio\n"); printf(" 4- SAIR \n"); printf(" opcao: "); scanf("%d",&opcao); switch(opcao){ case 1: system("cls"); //cad(); // getch(); system("cls"); painel(matriz);//antes de escolher o lugar antes e chamado a matriz e o usuario pode ver o painel, inclusive com os lugares do teatro comprados atualizados. texto: printf("\n\nDigite o numero da cadeira desejada: \n"); scanf("%d",&resp); if ((resp<=0) || (resp>=122)){ printf("Esta cadeira não existe!!!Escolha outra!\n"); goto texto; getch(); }else if ((resp>=1) && (resp<=22)){ printf("Esta cadeira ja esta reservada!!!Escolha outra!\n"); goto texto; getch(); } else if ((resp>=23) && (resp<=28)){ printf("Esta cadeira é preferencial!!!Escolha outra!\n"); goto texto; getch(); }else if (matriz[linha][coluna]==0){ printf("Esta cadeira esta ocupada!!! Escolha outra!\n"); goto texto; getch(); } else (printf(" \n")); ponteiroArquivo=fopen("arquivo.txt","r"); fgets(nomes,30,ponteiroArquivo); fclose(ponteiroArquivo); system("cls"); _strtime( timeStr ); printf_s( "\tParabens %s pela sua compra no dia %d/%d/%d as %s \n\nSeu ticket sera enviado por e-mail!!\n",aux.nome, data_hora_atual->tm_mday,data_hora_atual->tm_mon+1,data_hora_atual->tm_year+1900,timeStr); printf("seu assento e %d\n",resp); contador++; system("pause"); break; case 2: system("cls"); system("cls"); painel(matriz);//chama a funcao painel que contem a matriz printf("\n\n"); system("pause"); break; case 3: system("cls"); chamaSorteio(); system("pause"); break; //o usuario escolhendo este caso o programa retorna nada e fecha case 4: return 0; break; default: printf("OPCAO INVALIDA!!!\n"); system("pause"); break; } }while(1==1); system("pause"); return(0); } //esta e a funcao responsavel por preencher todos os lugares do teatro com numeros! void CadeiraNum(){ int c,l; int num; num=1; for(l=1;l<=linha;l++) for(c=1;c<=coluna;c++){ matriz[l][c]=num; num++; } matriz[3][1]=333; matriz[3][2]=333; matriz[3][3]=333; matriz[3][4]=333; matriz[3][5]=333; matriz[3][6]=333; /**/ matriz[1][1]=222; matriz[1][2]=222; matriz[1][3]=222; matriz[1][4]=222; matriz[1][5]=222; matriz[1][6]=222; matriz[1][7]=222; matriz[1][8]=222; matriz[1][9]=222; matriz[1][10]=222; matriz[1][11]=222; /**/ matriz[2][1]=222; matriz[2][2]=222; matriz[2][3]=222; matriz[2][4]=222; matriz[2][5]=222; matriz[2][6]=222; matriz[2][7]=222; matriz[2][8]=222; matriz[2][9]=222; matriz[2][10]=222; matriz[2][11]=222; } //esta e a funcao que cria as linhas e as colunas do teatro matriz void painel(){ int c,l; printf("\n PAINEL DE OCUPACOES \n\n"); printf(" "); for(c=1;c<=coluna;c++) printf("\t%d",c); for(l=1;l<=linha;l++){ printf("\n\n\t%d",l); for(c=1;c<=coluna;c++) if(matriz[l][c]==222){ printf("\t(R)"); }else if(matriz[l][c]==resp){ matriz[l][c]=0; printf("\t(C)"); }else if(matriz[l][c]==0){ printf("\t(c)"); } else if(matriz[l][c]==333){ printf("\t(P)"); } else printf("\t(%d)",matriz[l][c]); } printf("\n\n\t(29-121) - LUGAR LIVRE (p) - Assento preferencial (C) - CADEIRA JA COMPRADA (R) CADEIRA RESERVADA\n"); } //funcao que marca no lugar escolhido o valor 0 guardando o lugar /*void compra(int l, int c){ if(resp==matriz[linha][linha]){ matriz[linha][coluna] = 0; } } */ void cad(){ ponteiroArquivo=(fopen("arquivo.txt","a")); // "a" - cria um arquivo novo, ou modifica um ja existente. getchar(); printf("\t\tSEJA BEM VINDO AO TEATRO DA UNIP!!\n\n"); printf("Antes de comprar a cadeira vamos fazer um breve cadastro........\n\npresssione ENTER para continuar......\n\n\n"); getch(); printf("Digite seu nome: "); fgets (aux.nome, 50 ,stdin); getchar(); printf("Digite seu CPF: "); fgets (aux.cpf, 15 ,stdin); getchar(); printf("Digite seu Email: "); fgets (aux.email , 30 ,stdin); //gravando com fprintf no arquivo printf("\n"); fprintf(ponteiroArquivo, "\n------------------------\n"); fprintf(ponteiroArquivo,"nome: %s\n",aux.nome); fprintf(ponteiroArquivo,"CPF: %s\n",aux.cpf); fprintf(ponteiroArquivo,"Email: %s\n",aux.email); fclose(ponteiroArquivo);//fecha o arquivo } void chamaSorteio(){ int i; int sorteados[4]; srand(time(NULL)); printf("---------|SORTEIO\n\n"); for(i=0;i<4;i++){ sorteados = valor_minimo+rand()%(valor_maximo-valor_minimo); if(i==0){ edita(sorteados,i); } else { sorteados = valida(sorteados,sorteados,i); edita(sorteados,i); } } printf("------------------------------------------"); getch(); printf("\nParabens a todos os premiados!!\n\n"); getch(); } int valida(int num, int *ant, int cont){ int aux; for(aux=0;aux<cont;aux++){ while(num==*(ant+aux)){ num=valor_minimo+rand()%(valor_maximo-valor_minimo); } } return num; } void edita (int sort,int cont){ printf("\t%d°premiado usuario da caderia : %.2d\n",cont+1,sort); }
  5. Alguem tem um programa em C que faça isso ou me de uma luz consegui fazer do infixa para posfixa mais nao consegui o contrario.
  6. Boa noite pessoal, estou a mais de 3 semanas com um trabalho e está impossivel resolver. Segue a questão // Escreva um programa que leia 4 arquivos de numeros inteiros, calcule a média. //Mostre o maior quadrado que seja menor que a média de todos os números maiores que a média dos números de cada um dos arquivos. //Ex: Média dos números do arquivo 01 = 35 //Números do arquivo 01 que são maiores que 35 = Ni...Nn //Maior quadrado entre os N números do arquivo 01 = x. A baixo vou colocar 2 tentativas que não saem da parte de calcular a media, como posso calcular a segunda parte?? TENTATIVA 01 #include <stdio.h> #include <stdlib.h> main(){ FILE *numeros, *maior, *menor, *medio; int numero; float media; //abertura dos arquivos numeros = fopen ("numeros.txt", "r"); maior = fopen ("maior.txt", "w" ); medio = fopen ("medio.txt" , "w"); menor = fopen ("menor.txt" , "w"); //leitura dos dados e gravação do arquivo while (fscanf (numeros , "%i %f" , &numero , &media)!= EOF){ if (media >= 6) fprintf (maior,"%i %4.1f\n",numero,media); else fprintf (medio,"%i %4.1f\n",numero,media); } //fechando os arquivos fclose (numeros); fclose (maior); fclose (medio); fclose (menor); } TENTATIVA 02 (ACHO QUE A MELHOR) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdlib.h> #define TAM_MED 50 //tamanho na média #define M 4 //número de arquivos #define TRUE 1 #define FALSE 0 int leitura( int id, int medi){ int id_num, id_num2, id_num3, id_num4; int med; FILE* numeros = fopen ("numeros.txt","r"); FILE* numeros2 = fopen ("numeros2.txt", "r"); FILE* numeros3 = fopen ("numeros3.txt", "r"); FILE* numeros4 = fopen ("numeros4.txt", "r"); if (numeros != NULL){ while (fscanf(numeros, "%d\n", &id_num, med) != EOF){ //End of file printf("%d\n", id_num, med); } if (numeros != NULL){ while (fscanf(numeros2,"%d\n", &id_num2,med) != EOF){ //End of file printf("%d\n", id_num2,med); } if (numeros != NULL){ while (fscanf(numeros3,"%d\n", &id_num3,med) != EOF){ //End of file printf("%d\n", id_num3,med); } if (numeros != NULL){ while (fscanf(numeros4,"%d\n", &id_num4,med) != EOF){ //End of file printf("%d\n", id_num4,med); } } fclose (numeros); fclose (numeros2); fclose (numeros3); fclose (numeros4); return 0; } } } } int main(){ int id_num, id_num2, id_num3, id_num4; printf("Digite o primeiro numero: %d"); scanf("%d", &id_num); printf("Digite o segundo numero: %d"); scanf("%d", &id_num2); printf("Digite o terceiro numero: %d"); scanf("%d", &id_num3); printf("Digite o quarto numero: %d"); scanf("%d", &id_num4); printf("Media: %f", (float) (id_num + id_num2+ id_num3+ id_num4)/4); return 0; }
  7. #include<stdio.h> #include<string.h> #include<stdlib.h> struct aluno { char nome[20]; char endereco[50]; char data_de_nascimento[10]; char telefone[15]; float nota1; float nota2; }; struct aluno recadastramento(struct aluno valuno[10]); void media_das_notas(struct aluno valuno[10]); void aprovado_ou_reprovado(struct aluno valuno[10]); void mostrar_informacoes(struct aluno valuno[10]); int main(void) { struct aluno valuno[10]; int op; float media; int i; int j; printf("Digite as informacoes dos alunos"); for(i=1;i<11;i++) { printf("Digite O Nome Do Aluno[%d]\n\n",i); printf("Nome: "); fflush(stdin); gets(valuno[i].nome); printf("\nDigite O Endereco Do Aluno[%d]\n\n",i); printf("Endereco: "); fflush(stdin); gets(valuno[i].endereco); printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i); printf("Data De Nascimento: "); fflush(stdin); gets(valuno[i].data_de_nascimento); for(j=0;j <15; j++) { if(valuno[i].data_de_nascimento[2] != '/' && valuno[i].data_de_nascimento[5] != '/') { printf("ERRO! Digite novamente"); printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i); gets(valuno[i].data_de_nascimento); break; } else { printf("FORMATO CORRETO"); break; } } printf("\nDigite O Telefone Do Aluno [%d] No Formato <(DDD)00000-0000>\n\n",i); printf("Telefone Do Aluno: "); fflush(stdin); gets(valuno[i].telefone); for(j=0;j <15; j++) { if(valuno[i].telefone[0] != '(' && valuno[i].telefone[4] != ')' && valuno[i].telefone[10] != '-') { printf("ERRO! Digite novamente"); printf("Digite O Telefone Do Aluno [%d]: ",i); gets(valuno[i].telefone); break; } else { printf("FORMATO CORRETO"); break; } } printf("\nDigite A Primeira Nota Do Aluno [%d]\n\n",i); printf("Nota 1: "); scanf("%f",&valuno[i].nota1); printf("\nDigite A Segunda Nota Do Aluno [%d]\n\n",i); printf("Nota 2: "); scanf("%f",&valuno[i].nota2); } do { printf("\nMENU\n"); printf("- 1)Editar informações dos alunos \n 2)Mostrar as medias dos alunos \n 3)Dizer se os alunos foram aprovados medias >= 6 ou reprovados (medias <6)\n 4)Listar todas as informações dos alunos"); printf("\n\nOpcao::: "); scanf("%d",&op); switch(op) { case 1: recadastramento(valuno); break; case 2: media_das_notas(valuno); break; case 3: aprovado_ou_reprovado(valuno); break; case 4: mostrar_informacoes(valuno); break; default: printf("\nOpcao INVALIDA\n"); break; } }while(op > 0 && op < 5); } struct aluno recadastramento(struct aluno valuno[10]) //recadastramento de informações//Funções { int i; for(i=1;i<11;i++) { printf("\nDigite O Nome Do Aluno [%d]\n\n",i); printf("Nome: "); fflush(stdin); gets(valuno[i].nome); printf("\nDigite O Endereco Do Aluno [%d]\n\n",i); printf("Endereco: "); fflush(stdin); gets(valuno[i].endereco); printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i); printf("Data De Nascimento: "); fflush(stdin); gets(valuno[i].data_de_nascimento); int j; for(j=0;j < 11; j++) { if(valuno[i].data_de_nascimento[2] != '/' && valuno[i].data_de_nascimento[5] != '/')//validção de data no formato correto { printf("ERRO! Digite novamente"); printf("\nDigite A Data De Nascimento Do Aluno [%d]No Formato <00/00/0000>\n\n",i); gets(valuno[i].data_de_nascimento); break; } else { printf("FORMATO CORRETO"); break; } } printf("\nDigite O Telefone Do Aluno [%d] No Formato <(DDD)00000-0000>\n\n",i); printf("Telefone Do Aluno: "); fflush(stdin); gets(valuno[i].telefone); for(j=0;j <15; j++)//validção de numero no formato correto { if(valuno[i].telefone[0] != '(' && valuno[i].telefone[4] != ')' && valuno[i].telefone[10] != '-') { printf("ERRO! Digite novamente"); printf("Digite O Telefone Do Aluno [i]: ",i); gets(valuno[i].telefone); break; } else { printf("FORMATO CORRETO"); break; } } printf("\nDigite A Primeira Nota Do Aluno [%d]\n\n",i); printf("Nota 1: "); scanf("%f",&valuno[i].nota1); printf("\nDigite A Segunda Nota Do Aluno [%d]\n\n",i); printf("Nota 2: "); scanf("%f",&valuno[i].nota2); } } void media_das_notas(struct aluno valuno[10])//media de notas { int i; for(i=1;i<11;i++) { float media; media = (valuno[i].nota1 + valuno[i].nota2) / 2; printf("Media: %.2f\n",media); } } void aprovado_ou_reprovado(struct aluno valuno[10])//se foi aprovado ou reprovado { int i; for(i=1;i<11;i++) { float media; media = (valuno[i].nota1 + valuno[i].nota2) / 2; if(media >= 6) { printf("\nAluno [%d] APROVADO\n",i); } else { printf("\nAluno [%d] REPROVADO\n",i); } printf("\nMedia do Aluno[%d]: %.2f\n",i,media); } } void mostrar_informacoes(struct aluno valuno[10])//mostrando informções de cadastro { int i; for(i=1;i<11;i++) { printf("-Listagem Do Aluno[%d]",i); printf("\n\nNome do Aluno[%d]: %s",i,valuno[i].nome); printf("\nEndereco do Aluno[%d]: %s",i,valuno[i].endereco); printf("\nData De Nascimento do Aluno[%d]: %s",i,valuno[i].data_de_nascimento); printf("\nTelefone do Aluno[%d]: %s",i,valuno[i].telefone); printf("\nNota 1 do Aluno[%d]: %.2f ",i,valuno[i].nota1); printf("\nNota 2 do Aluno[%d]: %.2f ",i,valuno[i].nota2); } } //Fim Do Codigo
  8. Matheus William

    Controle de funcionários(erro na gravação de dados)

    Olá pessoal tudo bem? Eu estou fazendo um programa para controle de funcionários em C, e estou com problemas em algumas partes do código.Os dados de cadastramento de funcionário e departamento não está sendo gravados nos seus respectivos arquivo, e em "cadastrar departamento" depois de digitar o código do departamento que sera criado e apertar enter o programa buga. Segue o código: #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> typedef struct{ long int codigo, cod_gerente; char nome[30],sigla[5]; unsigned short int ramal; }TDepartamento; typedef struct{ long int cod_dep, numero; char nome[60],matricula[10],dataNascimento[11],cpf[12],rua[40],bairro[30], complemento[20],cidade[30],estado[3],telefone[15],email[30]; double salario; }TFuncionario; typedef struct{ long int codfun, coddep; char data[11]; }Thistoricofuncionario; typedef struct{ long int codgerente, coddep; char data[11]; }Thistoricodepartamento; typedef struct{ long int codfun; unsigned short int mes,ano; double salario; }Thistoricosalario; int pesquisaDep(FILE *da, long int *cod){ TDepartamento v; int posicao=0; /*posição no início do arquivo*/ fseek(da,0,SEEK_SET); while(fread(&v,sizeof(TDepartamento),1,da)==1){ if(v.codigo==cod) return posicao; else posicao++; } return -1; } /*retorna a posiço do registro ou -1 se não encontrar*/ int pesquisaFun(FILE *a, char *matricula){ TFuncionario r; int posicao=0; /*posição no início do arquivo*/ fseek(a,0,SEEK_SET); while(fread(&r,sizeof(TFuncionario),1,a)==1){ if(r.matricula==matricula) return posicao; else posicao++; } return -1; } /*Cadastrar um Departamento*/ void cadDep(FILE *da, FILE *a){ int sair,p; long int cod,codger; unsigned short int ch; TDepartamento vd; do{ printf("\n******************************************************\n"); printf("\n* Cadastramento de Departamento *\n"); printf("\n******************************************************\n"); printf("\nCódigo do Departamento:"); scanf("%li",&cod); if(pesquisaDep(da,cod)==-1){ strcpy(vd.codigo,cod); setbuf(stdin,NULL); printf("\nNome do departamento:"); fgets(vd.nome,30,stdin); setbuf(stdin,NULL); if((strlen(vd.nome)==0) || (strcmp(vd.nome,"0")==0)){ printf("\nO campo nome não pode estar vazio!Digite novamente:"); fgets(vd.nome,30,stdin); } printf("\nSigla do Departamanto:"); fgets(vd.sigla,5,stdin); setbuf(stdin,NULL); printf("\nCodigo do funcionario que será gerente do departamento:"); scanf("%li",codger); if(pesquisaFun(a,codger)==-1) strcpy(vd.cod_gerente,codger); else printf("\nMatricula de funcionario inexistente!!!"); printf("\nRamal:"); fflush(stdin); scanf("%d",&ch); if(isdigit(ch)){ strcpy(vd.ramal,ch); } else{ printf("voce não digitou um numero!!!\n\n"); scanf("%d",&ch); } /*posicionando no final do arquivo*/ fseek(da,0,SEEK_END); fwrite(&vd,sizeof(TDepartamento),1,da); } else printf("\nDepartamento já existe!!!!"); printf("\n\nDeseja sair do cadastro? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Validar o CPF do funcionario*/ int validarCPF(char cpf[]){ int i, j, digito1 = 0, digito2 = 0; if(strlen(cpf) != 11) return 0; else if((strcmp(cpf,"00000000000") == 0) || (strcmp(cpf,"11111111111") == 0) || (strcmp(cpf,"22222222222") == 0) || (strcmp(cpf,"33333333333") == 0) || (strcmp(cpf,"44444444444") == 0) || (strcmp(cpf,"55555555555") == 0) || (strcmp(cpf,"66666666666") == 0) || (strcmp(cpf,"77777777777") == 0) || (strcmp(cpf,"88888888888") == 0) || (strcmp(cpf,"99999999999") == 0)) return 0; /*se o CPF tiver todos os números iguais ele é inválido.*/ else{ /*digito 1---------------------------------------------------*/ for(i = 0, j = 10; i < strlen(cpf)-2; i++, j--) /*multiplica os números de 10 a 2 e soma os resultados dentro de digito1*/ digito1 += (cpf[i]-48) * j; digito1 %= 11; if(digito1 < 2) digito1 = 0; else digito1 = 11 - digito1; if((cpf[9]-48) != digito1) return 0; /*se o digito 1 não for o mesmo que o da validação CPF é inválido*/ else{ /*digito 2--------------------------------------------------*/ for(i = 0, j = 11; i < strlen(cpf)-1; i++, j--) /*multiplica os números de 11 a 2 e soma os resultados dentro de digito2*/ digito2 += (cpf[i]-48) * j; digito2 %= 11; if(digito2 < 2) digito2 = 0; else digito2 = 11 - digito2; if((cpf[10]-48) != digito2) return 0; /*se o digito 2 não for o mesmo que o da validação CPF é inválido*/ } } return -1; } /*Cadastrar um funcionario*/ void cadFun(FILE *a, FILE *da){ int i,cod,sair,achou,data; char mat[10],cp[11]; TFuncionario vf; TDepartamento vd; do{ printf("\n******************************************************\n"); printf("\n* Cadastramento de Funcionarios *\n"); printf("\n******************************************************\n"); printf("\nForneça a matricula:"); fgets(mat,10,stdin); if(pesquisaFun(a,mat)==-1){ strcpy(vf.matricula,mat); setbuf(stdin,NULL); printf("\nNome do Funcionario:"); fgets(vf.nome,60,stdin); setbuf(stdin,NULL); if(vf.nome==NULL){ printf("\nO nome não pode estar vazio!!!"); fgets(vf.nome,60,stdin); setbuf(stdin,NULL); } printf("\nSalario do Funcionario:"); scanf("%lf",&vf.salario); setbuf(stdin,NULL); printf("\nData de nascimento:"); fgets(vf.dataNascimento,11,stdin); setbuf(stdin,NULL); printf("\nCPF:"); fgets(cp,12,stdin); setbuf(stdin,NULL); if(validarCPF(cp)==-1) strcpy(vf.cpf,cp); else{ printf("\nCPF inválido!Digite-o novamente:"); fgets(cp,12,stdin); setbuf(stdin,NULL); } printf("\n******************************************************\n"); printf("\n* Endereço *\n"); printf("\n******************************************************\n"); printf("\nRua:"); fgets(vf.rua,40,stdin); setbuf(stdin,NULL); printf("\nBairro:"); fgets(vf.bairro,30,stdin); setbuf(stdin,NULL); printf("\nNúmero:"); scanf("%li",&vf.numero); setbuf(stdin,NULL); printf("\nComplemento:"); fgets(vf.complemento,20,stdin); setbuf(stdin,NULL); printf("\nCidade:"); fgets(vf.cidade,30,stdin); setbuf(stdin,NULL); printf("\nEstado:"); fgets(vf.estado,3,stdin); setbuf(stdin,NULL); printf("\n******************************************************\n"); printf("\n* Informações de contato *\n"); printf("\n******************************************************\n"); printf("\nTelefone:"); fgets(vf.telefone,15,stdin); setbuf(stdin,NULL); printf("\nE-mail:"); fgets(vf.email,30,stdin); setbuf(stdin,NULL); printf("\nForneça o Código do departamento:"); scanf("%d",&cod); if(pesquisaDep(da,cod)==-1) strcpy(vf.cod_dep,cod); else printf("\nDepartamento inexistente!!!"); /*posicionando no final do arquivo*/ fseek(a,0,SEEK_END); fwrite(&vf,sizeof(TFuncionario),1,a); } else printf("\nMatricula de funcionario repetida!!!!"); printf("\n\nDeseja sair do cadastro? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Consultar um funcionario cadastrado*/ void consFun(FILE *a, FILE *da){ int sair,p; TFuncionario rf; do{ printf("\nForneça a matricula:"); fgets(rf.matricula,10,stdin); if(pesquisaFun(a,rf.matricula)==-1){ /*posicionando no final do arquivo*/ fseek(a,sizeof(TFuncionario)*p,SEEK_SET); fread(&rf,sizeof(TFuncionario),1,a); printf("\n******************************************************\n"); printf("\n* Dados do Funcionario *\n"); printf("\n******************************************************\n"); printf("\nMatricula: %s",&rf.matricula); printf("\nNome: %s",&rf.nome); printf("\nSalario: %.2f",&rf.salario); printf("\nData de nascimento: %s",&rf.dataNascimento); printf("\nCPF: %s",&rf.cpf); printf("\nRua: %s",&rf.rua); printf("\nBairro: %s",&rf.bairro); printf("\nNúmero: %li",&rf.numero); printf("\nComplemento: %s",&rf.complemento); printf("\nCidade: %s",&rf.cidade); printf("\nEstado: %s",&rf.estado); printf("\nTelefone: %s",&rf.telefone); printf("\nE-mail: %s",&rf.email); } else printf("\nMatriclua inexistente!!!"); printf("\n\nDeseja sair da consulta? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Alterar os dados de um funcionario e atualizar o arquivo histfun*/ void alteracaoFun(FILE *a,FILE *da, FILE *hist){ int cod,sair,achou,data,p; char cp[11]; TFuncionario rf; TDepartamento rd; do{ printf("\n******************************************************\n"); printf("\n* Alteração de Dados do Funcionarios *\n"); printf("\n******************************************************\n"); printf("\nForneça a matricula:"); fgets(rf.matricula,10,stdin); p=pesquisaFun(a,rf.matricula); if(p==-1){ setbuf(stdin,NULL); printf("\nNome do Funcionario:"); fgets(rf.nome,60,stdin); if(rf.nome==NULL){ printf("\nO nome não pode estar vazio!!!"); fgets(rf.nome,60,stdin); } setbuf(stdin,NULL); printf("\nData de nascimento:"); fgets(rf.dataNascimento,11,stdin); setbuf(stdin,NULL); printf("\nCPF:"); fgets(cp,12,stdin); if(validarCPF(cp)==1) strcmp(rf.cpf,cp); else{ printf("\nCPF inválido!Digite-o novamente:"); fgets(cp,12,stdin); } setbuf(stdin,NULL); printf("\n******************************************************\n"); printf("\n* Endereço *\n"); printf("\n******************************************************\n"); printf("\nRua:"); fgets(rf.rua,40,stdin); setbuf(stdin,NULL); printf("\nBairro:"); fgets(rf.bairro,30,stdin); setbuf(stdin,NULL); printf("\nNúmero:"); scanf("%li",&rf.numero); setbuf(stdin,NULL); printf("\nComplemento:"); fgets(rf.complemento,20,stdin); setbuf(stdin,NULL); printf("\nCidade:"); fgets(rf.cidade,30,stdin); setbuf(stdin,NULL); printf("\nEstado:"); fgets(rf.estado,3,stdin); setbuf(stdin,NULL); printf("\n******************************************************\n"); printf("\n* Informações de contato *\n"); printf("\n******************************************************\n"); printf("\nTelefone:"); fgets(rf.telefone,15,stdin); setbuf(stdin,NULL); printf("\nE-mail:"); fgets(rf.email,30,stdin); setbuf(stdin,NULL); /*posicionando no final do arquivo*/ fseek(a,sizeof(TFuncionario)*p,SEEK_SET); fwrite(&rf,sizeof(TFuncionario),1,a); } else printf("\nMatriclua inexistente!!!"); printf("\n\nDeseja sair da alteração? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Alterar o departamento do funcionario e atualizar o arquivo histdep*/ void alteracaoFunDep(FILE *a,FILE *da, FILE *hist){ int sair,p,cod,achou; TFuncionario rf; TDepartamento rd; do{ printf("\nForneça a matricula do funcionario:"); fgets(rf.matricula,10,stdin); p=pesquisaFun(a,rf.matricula); if(p==-1){ do{ setbuf(stdin,NULL); printf("\nForneça o novo departamento do funcionario:"); fgets(rf.cod_dep,60,stdin); setbuf(stdin,NULL); achou=0; if(pesquisaDep(da,rd.codigo)==1) printf("\nDepartamento não cadastrado!!!"); else achou=1; }while(achou==0); strcpy(rf.cod_dep,cod); /*posicionando no final do arquivo*/ fseek(a,sizeof(TFuncionario)*p,SEEK_SET); fwrite(&rf,sizeof(TFuncionario),1,a); } else printf("\nMatriclua inexistente!!!"); printf("\n\nDeseja sair da alteração? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Alterar o salario do funcionario*/ void alteracaoSalarioFun(FILE *a,FILE *hist){ int sair,p,cod,achou; TFuncionario rf; TDepartamento rd; do{ printf("\nForneça a matricula do funcionario:"); fgets(rf.matricula,10,stdin); p=pesquisaFun(a,rf.matricula); if(p==-1){ setbuf(stdin,NULL); printf("\nForneça o novo salario do funcionario:"); scanf("%lf",&rf.salario); setbuf(stdin,NULL); /*posicionando no final do arquivo*/ fseek(a,sizeof(TFuncionario)*p,SEEK_SET); fwrite(&rf,sizeof(TFuncionario),1,a); } else printf("\nMatriclua inexistente!!!"); printf("\n\nDeseja sair da alteração? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } /*Alterar o salario do funcionario e atualizar o arquivo histsal*/ void alteracaoGerenteDep(FILE *da,FILE *a, FILE *hist){ int sair,p,cod,achou; TFuncionario rf; TDepartamento rd; do{ printf("\nForneça o codigo do departamento:"); scanf("%li",&rd.codigo); p=pesquisaDep(da,rd.codigo); if(p==-1){ setbuf(stdin,NULL); printf("\nForneça a matricula do novo gerente do departamento:"); scanf("%li",&rd.cod_gerente); setbuf(stdin,NULL); /*posicionando no final do arquivo*/ fseek(a,sizeof(TFuncionario)*p,SEEK_SET); fwrite(&rf,sizeof(TFuncionario),1,a); } else printf("\nMatriclua inexistente!!!"); printf("\n\nDeseja sair da alteração? 1-Sim 2-Não "); scanf("%d",&sair); }while(sair!=1); } int main(){ FILE *func; FILE *dep; FILE *histfun; FILE *histdep; FILE*histsal; int opcao; func = fopen("funcionario.dat","rb+"); dep = fopen("departamento.dat","rb+"); histfun = fopen("histfun.dat","rb+"); histdep = fopen("histdep.dat","rb+"); histsal = fopen("histsal.dat","rb+"); if (dep==NULL) dep=fopen("departamento.dat","wb+"); if (dep==NULL){ printf("\nErro na abertura do arquivo"); } else func=fopen("funcionario.dat","rb+"); if(func==NULL){ func=fopen("funcionario.dat","wb+"); } if(func==NULL){ printf("\nErro na abertura do arquivo"); } else{ histfun=fopen("histfun.dat","rb+"); } if(histfun==NULL){ histfun=fopen("histfun.dat","wb+"); } if(histfun==NULL){ printf("\nErro na abertura do arquivo"); } else{ histdep=fopen("histdep.dat","rb+"); } if(histdep==NULL){ histdep=fopen("histdep.dat","wb+"); } if(histdep==NULL){ printf("\nErro na abetura do arquivo"); } else{ histsal=fopen("histsal.dat","rb+"); } if(histsal==NULL){ histsal=fopen("histsal.dat","wb+"); } if(histsal==NULL){ printf("\nErro na abertura do arquivo"); } else do{ printf("\n******************************************************\n"); printf("\n* Controle de Funcionarios *\n"); printf("\n******************************************************\n"); printf("\n1-Cadastro de Departamentos\n2-Cadastro de Funcionarios"); printf("\n3-Consultar Funcionario"); printf("\n4-Relatorio de Funcionários por Departamento"); printf("\n5-Alterar um funcionario"); printf("\n6-Alterar Departamento de um Funcionario"); printf("\n7-Alterar Gerente de um Departamento"); printf("\n8-Gerar Folha de Pagamento"); printf("\n9-Alterar o salario de um Funcionario"); printf("\n10-Historico de Salario em um periodo"); printf("\n11-Gerentes de um Departamento"); printf("\n12-Fim\nForneça sua opção:"); scanf("%d", &opcao); switch(opcao){ case 1: cadDep(dep,func); break; case 2: cadFun(func, dep); break; case 3: consFun(func,dep); break; case 5: alteracaoFun(func,dep, histfun); break; case 6: alteracaoFunDep(func,dep,histfun); break; case 7: alteracaoGerenteDep(dep,func,histdep); case 9: alteracaoSalarioFun(func,histsal); break; } }while(opcao!=12); fclose(func); fclose(dep); fclose(histfun); fclose(histdep); fclose(histsal); return 0; }
  9. Olá! Tenho que fazer um projeto que é um SGBD em C, e uma das funções é para criar uma tabela da seguinte forma: 1. Criar um tabela a. os tipos de dados para as colunas poderão ser os tipos primitivos em C ( char, int, float e double) e strings b. os valores deverão ser armazenados em arquivo c. na criação da tabela deverá ser solicitado um nome de coluna para ser a chave primária i. a chave primária deverá ser obrigatoriamente do tipo inteiro sem sinal Alguém pode me dar uma dica da lógica dessa função? Por favor, alguém me ajude!!!
  10. igordobrianskyj

    ocultar gerenciador

    pessoal, tenho o seguinte código. a idéia é fazer o gerenciador de tarefas ficar oculto, pelo seu nome da janela, e não pelo processo; pois pelo processo, alguns usuários estão abrindo-o com nomes diferentes de taskmgr.exe. o código minimiza qualquer programa pelo nome definido, porém ao tentar ocultar o gerenciador, não minimiza.. como se o nome do Gerenciador de Tarefas não fosse esse. alguém pode me dizer onde estou errando? ShowWindow(FindWindow(NULL,"Gerenciador de Tarefas"),SW_MINIMIZE);
  11. jtc-carr

    Dúvida sobre vetores

    Não estou a conseguir avançar alguem me ajuda? obrigada joana /****************************************************************************** Considere o seguinte código que gera todos os números de 0000 a 'a' Refaça o programa utilizando vetores com o valor máximo 20000 Remova os duplicados e mostre quantos números foram apresentados O resultado deverá ser 0000 .(...). 1111 Foram mostrados .(...) *******************************************************************************/ #include <stdio.h> int main() { //Listar numeros de 00000 até a int i, j, k, w, h, a = 1; for (i = 0; i <= a; i++) for (j = 0; j <= a; j++) for (k = 0; k <= a; k++) for (w = 0; w <= a; w++) for (h = 0; h <= a; h++) printf ("%d%d%d%d\t", i, j, k, w, h); }
  12. matt.valenzza@gmail.com

    Lista Duplamente Encadeada

    Preciso fazer uma lista duplamente encadeada para ela inserir os números, mostrando eles, localizar em qual posição eles estão e excluir. Eu fiz o código, mas preciso que os números mostrem o número atual, o anterior e o próximo. Que na hora de compilar, que ele mostre o numero anterior, o atual e o próximo em um pequeno menuzinho. Segue o código que eu criei até agora. #include <stdio.h> struct Lista{ int num; struct Lista *prox; struct Lista *ant; }; struct Lista* criarNovoElemento(){ struct Lista *novo = NULL; novo = malloc(sizeof(struct Lista)); printf("Informe o numero..: "); scanf("%i", &(*novo).num); (*novo).prox = NULL; return novo; } inserir (struct Lista **a){ if (*a == NULL){ *a = criarNovoElemento(); } else{ struct Lista *aux; aux = *a; while( (*aux).prox != NULL){ aux = (*aux).prox; } (*aux).prox = criarNovoElemento(); } } mostrar(struct Lista **a){ if (*a == NULL){ printf("\n....Cadastro vazio....\n"); } else{ struct Lista *aux; aux = *a; while( aux != NULL){ printf("\nAtual..: %i", (*aux).num); aux = (*aux).prox; } } printf("\n"); system("pause"); } localizar (struct Lista **a){ if (*a == NULL){ printf("\n....Cadastro vazio....\n"); } else{ int num = 0; int achei = 0; int cont = 0; printf("Informe o numero: "); scanf("%i", &num); struct Lista *aux; aux = *a; while( aux != NULL && achei == 0){ cont += 1; if ((*aux).num == num){ achei = 1; } aux = (*aux).prox; } if (achei == 1){ printf("\n.....Achei na posicao: %i.....\n", cont); } else{ printf("\n.....Nao Achei....\n"); } } printf("\n"); system("pause"); } excluir(struct Lista **a){ if (*a== NULL){ // verificar se existe algum elemento na lista printf("\n....Cadastro vazio....\n"); } else{ struct Lista *aux =*a; a= (**a).prox; free(aux); } printf("\n"); system("pause"); } main (){ struct Lista *inicio = NULL; int opcao = 0; while(opcao != 9){ system ("cls"); printf("\n[1] Inserir Elemento"); printf("\n[2] Mostrar Elemento"); printf("\n[3] Localizar Elemento"); printf("\n[4] Excluir "); printf("\n[9] Finalizar"); printf("\nInforme a opcao: "); scanf("%i", &opcao); switch(opcao){ case 1 : inserir(&inicio); break; case 2 : mostrar(&inicio); break; case 3 : localizar(&inicio); break; case 4 : excluir(&inicio); break; case 9 : printf("Programa finalizado"); } } }
  13. carol676

    exercicicos em c

    ola fiz esse exercicio roda em alguns compiladores e outros não pq? #include "stdio.h" #include "stdlib.h" #define L 7 #define C 6 int main(void) { int M[L][C]; int x,y,somaL,somaC; somaL = 0;somaC = 0; int soma; // entrando com os dados da matriz 7x6 via parametro printf("Digite ELEMENTO da:\n"); for(x=0;x<L;x++) { for(y=0;y<C;y++) { printf("linha %d, coluna %d da matriz: ",x,y); scanf("%d",&M[x][y]); } } //acumulando a soma da linha 5 e da coluna 3 for(x=0,y=0;x<L,y<C;x++,y++) { somaL = somaL + M[5][y]; somaC = somaC + M[x][3]; } soma = somaL + somaC; // mostrando o resultado da soma da linha + coluna específica L5+C3 printf("\nRESULTADO :\n"); printf("\n Soma dos Elementos da linha 5 e da coluna 3 = %d\n" ,soma); printf("\n\n"); system("pause"); }
  14. E aí, pessoa tudo certo? Estou fazendo um programa que imita uma loja de informática com structs, alocação dinâmica e pilha em c e preciso da ajuda de vcs em algumas funções que não consegui fazer. Preciso que me ajudem fazer uma função para Editar um bloco especifico da pilha, outra função para Apagar um bloco especifico na pilha e uma função para Buscar valores a cima do informado pelo usuário, por exemplo: se o usuário digitar o preço 5, é pra mostrar os produtos com valores acima de 5. Vou mandar o código do que fiz aqui em baixo, mas a função excluir está errada, desconsiderem ela. #include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct kabum { char desc [30]; int cod; float valor; struct kabum *ant; } p; p *novo, *topo=NULL; int i=0; int quant; FILE *arquivo; int inserir () { printf("\n\n QUANTOS PRODUTOS QUER CADASTRAR?: "); scanf("%d",&quant); for (i=0; i<quant; i++) { novo=(p *) malloc (2*sizeof(p)); fflush(stdin); printf("\n\n PRODUTO: "); gets(novo->desc); printf(" CODIGO: "); scanf("%d",&novo->cod); printf(" VALOR: R$"); scanf("%f",&novo->valor); novo->ant=NULL; if(topo==NULL) //pilha vazia? { topo=novo; } else { novo->ant=topo; topo=novo; } } return (0); } int mostrar () { p *tmp; tmp=topo; if (tmp==NULL) //aqui ele testa p/ saber se a pilha está fazia { printf ("\n\n PILHA VAZIA! INSIRA UM DADO E TENTE NOVAMENTE.\n"); } else { while (tmp!=NULL) { printf("\n\n PRODUTO: %s\n", tmp->desc); printf(" CODIGO: %d\n",tmp->cod); printf(" VALOR: R$%0.2f\n\n",tmp->valor); tmp=tmp->ant; } } return (0); } int deletar () { char alerta; p *extra; extra = topo; if (topo == NULL) { printf ("\n\n PILHA VAZIA!\n"); } else { printf("\n\n TEM CERTEZA DE DESEJA EXCLUIR A PILHA? (S/N): "); scanf("%c",&alerta); alerta=tolower(alerta); if (alerta=='s') { topo = topo -> ant; free(extra); printf("\n PILHA DELETADA! \n"); } if (alerta=='n') { printf("\n PILHA NAO DELETADA! \n"); } if (alerta!='s' && alerta!='n') { printf("\n\n OPCAO INVALIDA\n"); } } return(0); } int salvar() { p *tmp; tmp=topo; arquivo=fopen("text.txt","wb"); /* if (tmp==NULL) { printf("\n\n ERRO AO SALVAR, PILHA ESTA VAZIA. INSIRA UM DADO E TENTE NOVAMENTE! \n"); }*/ while (tmp!=NULL) { fprintf(arquivo,"\n\n PRODUTO: %s \n",tmp->desc); fprintf(arquivo," CODIGO: %d \n",tmp->cod); fprintf(arquivo," VALOR: %f ",tmp->valor); tmp=tmp->ant; } fclose(arquivo); printf("\n\n ARQUIVO SALVO COM SUCESSO!\n"); return 0; } int abrir() { p *tmp; tmp=topo; arquivo=fopen("text.txt","rt"); if (arquivo == NULL) { printf("\n\n NAO FOI POSSIVEL ABRIR O ARQUIVO. SALVE E TENTE NOVAMENTE! \n"); } char frase [10000]; while (fgets(frase, 1000,arquivo)!=NULL) { printf("%s\n",frase); } fclose(arquivo); return 0; } void sobre () { printf("\n\n"); printf(" *================================ SOBRE ================================*\n"); printf(" | |\n"); printf(" |PROGRAMA CRIADO UTILIZANDO ALOCACAO DINAMICA, STRUCTS E PONTEIROS, COMO|\n"); printf(" |FORMA DE AVALIACAO DA DISCIPLINA DE ESTRUTURA DE DADOS, DO PROFESSOR: |\n"); printf(" |GUSTAVO QUIRINO E APRESENTADO EM SALA DE AULA, COM A FINALIDADE DE |\n"); printf(" |OBTER UMA DAS NOTAS DA SEGUNDA UNIDADE. |\n"); printf(" | |\n"); printf(" | IDENTIFICACAO |\n"); printf(" | |\n"); printf(" |IFBA - CAMPUS BARREIRAS |\n"); printf(" |TURMA: 732 |\n"); printf(" |CURSO: INFORMATICA |\n"); printf(" |PROFESSOR: GUSTAVO QUIRINO |\n"); printf(" |COMPONENTES: LUCAS GOMES, MATEUS SENE E RICARDO CARVALHO |\n"); printf(" | |\n"); printf(" =========================================================================\n"); } int main () { char op_menu=0, op_menu_interno=0; /*variaveis zeradas pq pode ser que o programa seja exacutado mais de uma vez por isso eu zerei todas, para não pegar os valores das vezes anteriores. A cada nova execução todas são zeradas*/ do { printf("\n\n"); printf(" *======================= MENU PRINCIPAL =========================*\n"); printf(" | |\n"); printf(" | |\n"); printf(" | A - INSERIR B - MOSTRAR |\n"); printf(" | |\n"); printf(" | C - DELETAR D - EDITAR |\n"); printf(" | |\n"); printf(" | E - BUSCAR F - SALVAR |\n"); printf(" | |\n"); printf(" | G - ABRIR H - SOBRE |\n"); printf(" | |\n"); printf(" | S - SAIR |\n"); printf(" | |\n"); printf(" | |\n"); printf(" ==================================================================\n"); fflush(stdin); printf("\n Digite...: "); scanf("%c", &op_menu); op_menu=tolower(op_menu); fflush(stdin); //limpa o buffer do teclado switch(op_menu) { case 'a' : fflush(stdin); system("cls"); //limpa a tela inserir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'b': system("cls"); mostrar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'c': fflush(stdin); system("cls"); deletar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'd': fflush(stdin); system("cls"); printf("você digitou: 4"); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'e': case 'f': fflush(stdin); system("cls"); salvar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'g': fflush(stdin); system("cls"); abrir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'h': system("cls"); sobre(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 's': system("cls"); printf("\n"); printf("Finalizando programa..."); printf("\n"); exit(0); break; default: system("cls"); printf("Codigo invalido! Digite novamente"); break; } } while (op_menu!=5); return (0); }
  15. Estou validando os dados de um vetor de estruturas chamado avião. Como parâmetros, estou passando o vetor alocado com um número predefinido, um contador e a capacidade inicial do vetor. Dentro da função eu realizo um loop com uma variável i setada como zero até o valor da capacidade inicial e vou cadastrando os dados. Vejam que eu utilizo mais a frente uma variável j igualmente setada como zero para utilizar nas comparações. O erro no código é que a validação das repetições não está acontecendo. void cadastrarDadosAvioes(Aviao *aviao, int *contaAviao, int *baseInicial){ int opcao=0, i, j, flag=1; char auxNome[MAX], *result; strcpy(auxNome, ""); FILE *arquivo; //acrescenta dodos ao final ou faz leitura/escrita de arquivo arquivo = fopen("avioes.txt", "ab"); if(!arquivo){ perror("Error "); exit(EXIT_FAILURE); }else{ do{ if(*contaAviao==10){ *baseInicial = (*contaAviao)*2; aviao = (Aviao*)realloc(aviao, (*baseInicial)*sizeof(Aviao)); } printf("\n\n%d", *baseInicial); for(i=0;i<*baseInicial;i++){ if(stricmp((aviao+i)->codigoIdentificacao, "")==0){ do{ strcpy((aviao+i)->codigoIdentificacao, leValidaCodigoAviao("DIGITE O CODIGO DO AVIAO:", "\nCODIGO DIGITADO INVALIDO!\n")); for(j=0;j<*baseInicial;j++){ if((stricmp((aviao+i)->codigoIdentificacao, (aviao+j)->codigoIdentificacao))==0&&i!=j){ flag=0; printf("\nCodigo ja existe!\n"); }else{ flag=1; } } }while(!flag); do{ strcpy((aviao+i)->modeloAviao, leValidaTexto("DIGITE O MODELO DO AVIAO:", "\nMODELO NAO PODE SER VAZIO!\n")); for(j=0;j<*baseInicial;j++){ if((stricmp((aviao+i)->modeloAviao, (aviao+j)->modeloAviao))==0&&i!=j){ flag=0; printf("\nEsse modelo já existe!\n"); }else{ flag=1; } } }while(!flag); leValidaCapacidade("INFORME A CAPACIDADE DO AVIAO:", "\nCAPACIDADE INVALIDA!\n", &(aviao+i)->capacidade); do{ strcpy((aviao+i)->nomeCliente, leValidaTexto("DIGITE O NOME DO CLIENTE:", "\nNOME INVALIDO!\n")); for(j=0;j<*baseInicial;j++){ if((stricmp((aviao+i)->nomeCliente, (aviao+j)->nomeCliente))==0&&i!=j){ flag=0; printf("\nEsse nome já existe!\n"); }else{ flag=1; } } }while(!flag); do{ strcpy((aviao+i)->nomePais, leValidaTexto("DIGITE O NOME DO PAIS:", "\nPAIS INVALIDO!\n")); if(verifica((aviao+i)->nomePais)==0){ printf("\nEsse paises não está cadastrado!\n"); flag=0; }else{ flag=1; } }while(!flag); break; } } fwrite(&aviao[*contaAviao], sizeof(Aviao), 1, arquivo); //atualiza contador *contaAviao+=1; printf("(1)- CADASTRAR OUTRO AVIAO\n"); printf("(2)- RETORNAR AO MENU\n\n"); scanf("%d", &opcao); if(opcao == 2){ fclose(arquivo); getch(); return; } }while(opcao==1&&(*contaAviao<*baseInicial)); } }
  16. edson96

    Programa em c

    alguem pode me ajudar nesse programa. não consigo efetuar a busca no segundo parametro. está com erro fatal. está em c. # include < stdio.h > # include < stdlib.h > int main () { printf ( " \ t ============================================= ================ \ n " ); printf ( " \ t =================== LEGAL ALUGAM UM CARRO ====================== == \ n " ); printf ( " \ t ============================================= ================ \ n \ n " ); int carro, carro1, carro2; printf ( " \ t \ t \ t Digite um Opcao Desejada: \ n \ n " ); printf ( " \ t \ t 1 - CARROS POPULAR | " ); printf ( " | 2 - CARROS DE LUXO \ n \ n " ); scanf ( " % d " , & carro); if (carro1 == 1 ) printf ( " \ n \ t CARROS POPULARES: \ n \ n " ); printf ( " \ t 1-Palio \ n \ n " ); printf ( " \ t 2-Gol \ n \ n " ); printf ( " \ t 3-Fox \ n \ n " ); printf ( " \ t 4-Ford KA \ n \ n " ); printf ( " \ t 5-Onix \ n \ n " ); printf ( " \ t 6-Celta \ n \ n " ); printf ( " \ t 7-Etios \ n \ n " ); printf ( " \ t 8-March \ n \ n " ); printf ( " \ t 9-Uno \ n \ n " ); printf ( " \ t 10-Voyage \ n \ n " ); printf ( " \ t Digite o numero do Carro escolhido: " ); scanf ( " % d " , & carro1); interruptor (carro1) { caso 1 : system ( " cls " ); printf ( " \ t Palio \ n \ n " ); printf ( " \ t Ano: 2005/2006 \ n \ n " ); printf ( " \ t Placa: ABC1102 \ n \ n " ); printf ( " \ t Cor: Preto \ n \ n " ); printf ( " \ t Valor da Diaria: 100,00 \ n \ n " ); int calculo, qtdDias; printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 100 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 2 : sistema ( " cls " ); printf ( " \ t Gol \ n \ n " ); printf ( " \ t Ano: 2004/2005 \ n \ n " ); printf ( " \ t Placa: DFC5268 \ n \ n " ); printf ( " \ t Cor: Vermelho \ n \ n " ); printf ( " \ t Valor da Diaria: 120,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 120 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 3 : sistema ( " cls " ); printf ( " \ t Fox \ n \ n " ); printf ( " \ t Ano: 2010/2010 \ n \ n " ); printf ( " \ t Placa: SET2636 \ n \ n " ); printf ( " \ t Cor: Prata \ n \ n " ); printf ( " \ t Valor da Diaria: 150,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 150 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 4 : system ( " cls " ); printf ( " \ t Ford KA \ n \ n " ); printf ( " \ t Ano: 2003/2004 \ n \ n " ); printf ( " \ t Placa: ATR5332 \ n \ n " ); printf ( " \ t Cor: Verde \ n \ n " ); printf ( " \ t Valor da Diaria: 95,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 95 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 5 : system ( " cls " ); printf ( " \ t Onix \ n \ n " ); printf ( " \ t Ano: 2011/2012 \ n \ n " ); printf ( " \ t Placa: DFk7692 \ n \ n " ); printf ( " \ t Cor: Branco \ n \ n " ); printf ( " \ t Valor da Diaria: 200,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 200 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 6 : system ( " cls " ); printf ( " \ t Celta \ n \ n " ); printf ( " \ t Ano: 2007/2008 \ n \ n " ); printf ( " \ t Placa: UGH6849 \ n \ n " ); printf ( " \ t Cor: Azul \ n \ n " ); printf ( " \ t Valor da Diaria: 110,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 110 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 7 : system ( " cls " ); printf ( " \ t Etios \ n \ n " ); printf ( " \ t Ano: 2013/2014 \ n \ n " ); printf ( " \ t Placa: OHT5149 \ n \ n " ); printf ( " \ t Cor: Amarelo \ n \ n " ); printf ( " \ t Valor da Diaria: 130,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 130 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 8 : system ( " cls " ); printf ( " \ t March \ n \ n " ); printf ( " \ t Ano: 2009/2010 \ n \ n " ); printf ( " \ t Placa: WTH2486 \ n \ n " ); printf ( " \ t Cor: Cinza \ n \ n " ); printf ( " \ t Valor da Diaria: 140,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 140 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 9 : system ( " cls " ); printf ( " \ t Uno \ n \ n " ); printf ( " \ t Ano: 2012/2013 \ n \ n " ); printf ( " \ t Placa: GDT4698 \ n \ n " ); printf ( " \ t Cor: Preto \ n \ n " ); printf ( " \ t Valor da Diaria: 130,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 130 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 10 : system ( " cls " ); printf ( " \ t Voyage \ n \ n " ); printf ( " \ t Ano: 2011/2012 \ n \ n " ); printf ( " \ t Placa: JKL5042 \ n \ n " ); printf ( " \ t Cor: Vermelho \ n \ n " ); printf ( " \ t Valor da Diaria: 170,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 170 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; if (carro2 == 2 ) printf ( " \ n \ t CARROS DE LUXO: \ n \ n " ); printf ( " \ t 1-Bmw \ n \ n " ); printf ( " \ t 2-Land Rover \ n \ n " ); printf ( " \ t 3-Audi A3 sedan \ n \ n " ); printf ( " \ t 4-renegado \ n \ n " ); printf ( " \ t 5-Captiva \ n \ n " ); printf ( " \ t 6-IX35 \ n \ n " ); printf ( " \ t 7-CRV \ n \ n " ); printf ( " \ t 8-Camaro \ n \ n " ); printf ( " \ t 9-Mercedes-Benz \ n \ n " ); printf ( " \ t 10-Tiguan \ n \ n " ); printf ( " Digite o numero do carro escolhido: " ); scanf ( " % d " , & carro2); interruptor (carro2) { caso 1 : system ( " cls " ); printf ( " \ t Bmw \ n \ n " ); printf ( " \ t Ano: 2016 \ n \ n " ); printf ( " \ t Placa: ACG1092 \ n \ n " ); printf ( " \ t Cor: Preto \ n \ n " ); printf ( " \ t Valor da Diaria: 700,00 \ n \ n " ); int calculo, qtdDias; printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 700 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 2 : sistema ( " cls " ); printf ( " \ t Land Rover \ n \ n " ); printf ( " \ t Ano: 2017 \ n \ n " ); printf ( " \ t Placa: DKC9026 \ n \ n " ); printf ( " \ t Cor: Vermelho \ n \ n " ); printf ( " \ t Valor da Diaria: 500,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 500 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 3 : sistema ( " cls " ); printf ( " \ t Audi A3 sedan \ n \ n " ); printf ( " \ t Ano: 2015 \ n \ n " ); printf ( " \ t Placa: SAB2693 \ n \ n " ); printf ( " \ t Cor: Prata \ n \ n " ); printf ( " \ t Valor da Diaria: 450,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 450 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 4 : system ( " cls " ); printf ( " \ renegado \ n \ n " ); printf ( " \ t Ano: 2016 \ n \ n " ); printf ( " \ t Placa: ADS4532 \ n \ n " ); printf ( " \ t Cor: Verde \ n \ n " ); printf ( " \ t Valor da Diaria: 550,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 550 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 5 : system ( " cls " ); printf ( " \ t Captiva \ n \ n " ); printf ( " \ t Ano: 2014 \ n \ n " ); printf ( " \ t Placa: DFk7992 \ n \ n " ); printf ( " \ t Cor: Branco \ n \ n " ); printf ( " \ t Valor da Diaria: 350,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 350 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 6 : system ( " cls " ); printf ( " \ t IX35 \ n \ n " ); printf ( " \ t Ano: 2015 \ n \ n " ); printf ( " \ t Placa: DFH6049 \ n \ n " ); printf ( " \ t Cor: Azul \ n \ n " ); printf ( " \ t Valor da Diaria: 500,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 500 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 7 : system ( " cls " ); printf ( " \ t CRV \ n \ n " ); printf ( " \ t Ano: 2014 \ n \ n " ); printf ( " \ t Placa: OUT1549 \ n \ n " ); printf ( " \ t Cor: Cinza \ n \ n " ); printf ( " \ t Valor da Diaria: 450,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 450 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; caso 8 : system ( " cls " ); printf ( " \ t CAMARO \ n \ n " ); printf ( " \ t Ano: 2017 \ n \ n " ); printf ( " \ t Placa: WTH2986 \ n \ n " ); printf ( " \ t Cor: Amarelo \ n \ n " ); printf ( " \ t Valor da Diaria: 850,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 850 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 9 : system ( " cls " ); printf ( " \ t Mercedes-Benz \ n \ n " ); printf ( " \ t Ano: 2015 \ n \ n " ); printf ( " \ t Placa: QRT0468 \ n \ n " ); printf ( " \ t Cor: Preto \ n \ n " ); printf ( " \ t Valor da Diaria: 650,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 650 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; case 10 : system ( " cls " ); printf ( " \ t Tiguan \ n \ n " ); printf ( " \ t Ano: 2016 \ n \ n " ); printf ( " \ t Placa: WHL9542 \ n \ n " ); printf ( " \ t Cor: Vermelho \ n \ n " ); printf ( " \ t Valor da Diaria: 450,00 \ n \ n " ); printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " ); scanf ( " % d " , & qtdDias); calculo = ( 450 * qtdDias); printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo); pausa ; } } }
  17. Doloblan

    nao esta salvando a variavel no arquivo binario

    Peguei esse codigo da internet, e estou tentando modificar ele para ficar do jeito que preciso, peguei ele sem funcao e preciso de funcao para cada acao e apos criar a funcao de cadastro apenas para teste nao salva a variavel no arquivo binario. #include <stdio.h> #include <stdlib.h> #include <string.h> struct Contato{ char nome[100]; int telefone; }; struct Contato *agenda; FILE *fp; int cadastra(int n, int cap){ fp = fopen("xxx.dat","a+b"); if(n == cap){ cap *= 2; agenda = realloc(agenda, sizeof(struct Contato)*cap); } printf("Digite o nome: "); scanf(" %[^\n]", agenda[n].nome); printf("Digite o telefone: "); scanf("%d", &agenda[n].telefone); fwrite(agenda, sizeof(struct Contato), n, fp); fclose(fp); return n++; } int main(){ int cap; int n; int opc; int i; struct Contato *agenda; FILE *fp; fp = fopen("xxx.dat","rb"); printf("N; %d \n", n); if(fp==NULL){ n = 0; cap = 20; agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap); } else{ fread(&n, sizeof(int), 1, fp); cap = n*2; agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap); fread(agenda, sizeof(struct Contato), n, fp); fclose(fp); } do{ printf("*** Menu ***\n"); printf("1) Cadastrar contato.\n"); printf("2) Exibir contatos.\n"); printf("3) Apagar.\n"); printf("4) Sair.\n"); scanf("%d",&opc); switch(opc){ case 1: printf("n %d\n", n); n = cadastra(n, cap); printf("n %d\n", n); break; } if(opc==2){ for(i=1; i<4; i++){ printf("*** Contato %d ***\n",i+1); printf("Nome: %s\n",agenda.nome); printf("Telefone: %d\n",agenda.telefone); } printf("N; %d \n", n); } else if(opc==3){ char nome[100]; int j; scanf("%s",&nome); for(i=0; i<n; i++){ if (strcmp(agenda.nome, nome)==0){ for(j=i+1; j<n; j++){ strcpy(agenda[j-1].nome,agenda[j].nome); agenda[j-1].telefone=agenda[j].telefone; } n--; i=n; } } } }while(opc!=4); if(n>0){ fp = fopen("xxx.dat","wb"); fwrite(&n, sizeof(int), 1, fp); fwrite(agenda, sizeof(struct Contato), n, fp); fclose(fp); } free(agenda); return 0; }
  18. Ola, sou novo no forum e também novato em programação. Estou aprendendo sozinho o C# usando o Visual Studio 2017, e estou seguindo uma apostila bem prática e de fácil entendimento, porém, por conta da minha inexperiência como Visual Studio 2017, me deparei com um problema: Durante um projeto fiz a inserção de um button e não dei funcionalidade nenhuma a ele, só deixei ele lá no formulário junto com outros componentes já programados, como duas textBox e outros dois buttons, executei para testar uma funcionalidade simples porém deu um erro e apresentou uma nova aba onde o visual studio apresenta links de solução online que na verdade não me ajudaram muito. Depois disso o formulário com os componentes sumiu, tenho as guias Form1.Designer.cs, que deveria aparecer o formulário mas só aparecem linhas de códigos que fazem referencia aos componentes que deveriam estar visíveis, e a Form1.cs. Já encerrei e abri o VS e não deu certo. Não achei outro tópico ou pergunta com essa dúvida, por isso a fiz agora. Se existe alguma duvida parecida, peço desculpas pela repetição e peço que me indiquem a solução. Agradeço desde já quem puder me ajudar.
  19. Gkings_88

    Algoritmo de Bilheteria para um Teatro

    Boa noite!! Tenho um trabalho onde tenho que fazer o desenvolvimento de um algoritmo para uma bilheteria de um teatro e estou tendo uns problema com a consulta de assentos reservados, com a venda e o faturamento, por favor, poderiam me ajudar. Obs.: A variável de tipo e porque vou ter que inserir está parte para perguntar o tipo e para ter o preço diferente para cada tipo. Este é o código: #include <stdio.h> #include <stdlib.h> int CAD[20][25]; int opcao,peca,t,m,g,sala; char data1[10]; char data2[10]; char data3[10]; char horario1[6]; char horario2[6]; char horario3[6]; char horario4[6]; char horario5[6]; char horario6[6]; char sala1[40]; char sala2[40]; char sala3[40]; int tipo; int inteiro=0; int meia=0; int gratis=0; int i; int j; void CadastrarPeca(){ printf("\nPeca 1: "); gets(sala1); printf("\nData: "); gets(data1); printf("\nHorario 1: "); gets(horario1); printf("\nHorario 2: "); gets(horario2); printf("\nPeca 2: "); gets(sala2); printf("\nData: "); gets(data2); printf("\nHorario 1: "); gets(horario3); printf("\nHorario 2: "); gets(horario4); printf("\nPeca 3: "); gets(sala3); printf("\nData: "); gets(data3); printf("\nHorario 1: "); gets(horario5); printf("\nHorario 2: "); gets(horario6); printf("\n\n"); printf("Pecas cadastradas com sucesso."); printf("\n\n"); } void ComprarIngresso(){ printf("Escolha a peca: \n\n"); printf("1 - %s\n", sala1); printf("2 - %s\n", sala2); printf("3 - %s\n\n", sala3); printf("Comando: "); scanf("%d", &peca); if(peca==1){ printf(""); } printf("\nFila: "); scanf("%d", &i); printf("\nAssento: "); scanf("%d", &j); printf("Qual tipo de ingresso: \n\n"); printf("1 - Inteira\n"); printf("2 - Meia\n"); printf("3 - Crianças carentes\n\n"); printf("Comando: "); scanf("%d", &tipo); switch(tipo){ case 1: inteiro + 1; break; case 2: meia + 1; break; case 3: gratis + 1; } if(CAD[i][j]==0){ CAD[i][j] = 1; printf("\n\nAssento reservado com sucesso!\n\n"); printf("\nIngresso: \n"); printf("Fileira: [%d] Assento: [%d]\n\n", i, j); }else{ printf("\nAssento ocupado!\n\n"); } } void CancelarIngresso(){ printf("\nFila: "); scanf("%d", &i); printf("\nAssento: "); scanf("%d", &j); if(CAD[i][j]==1){ CAD[i][j]=0; printf("\n\nReserva cancelada!\n\n"); }else{ printf("Nenhuma reserva para este assento."); } } void Faturar(){ } int main(void){ for(i = 0; i < 20; i++){ for(j = 0; j < 25; j++){ CAD[i][j]=0; } } do{ printf("_________________________________________________________"); printf("\n\n********** SEJA BEM-VINDO(A) AO TEATRO AURORA! **********\n\n"); printf("_________________________________________________________"); printf("\n\n"); printf("1 - Cadastrar Peca\n"); printf("2 - Comprar Ingressos\n"); printf("3 - Cancelar Ingresso\n"); printf("4 - Faturar\n"); printf("5 - Encerrar o Sistema\n"); printf("_________________________________________________________"); printf("\n\n"); printf("Comando: "); scanf("%d", &opcao); printf("\n\n"); switch(opcao){ case 1: CadastrarPeca(); break; case 2: ComprarIngresso(); break; case 3: CancelarIngresso(); break; case 4: break; } }while(opcao!=5); system("pause"); return 0; }
  20. Albertodias77

    Teste de programacao

    Preciso muito dessa ajuda. Crie o algoritmo que a partir de um vetor com um número indeterminado de números pares obtenha três outros vetores a partir do vetor inicial: números pares, números impares e números primos (o algoritmo terá de contemplar as três funções distintas). *recolha do vetor através da leitura de uma string contendo os valores separados por “,” *display no ecrã dos 3 vetores resultantes na forma de lista separado por “,” na seguinte ordem: números pres, ímpares e primos. Considere a hipótese de um ou mais vetores estarem vazios, indicando tal no display. *pausa no final para se verem os resultados (ReadKey)
  21. llucaahenri

    Vetores e matrizes em C

    Bom dia! Sou iniciante nessa área de programação, estou aprendendo sobre vetores e matrizes e gostaria de saber como faço para calcular elementos de um vetor e de uma matriz, eu tentei fazer usando laço For, mas não consegui. Esse exercício que estou tentando fazer. Leia um vetor de 12 posições e em seguida ler também dois valores X e Y quaisquer correspondentes a duas posições no vetor. Ao final seu programa deverá escrever a soma dos valores encontrados nas respectivas posições X e Y. Meu código! #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int VetorX[12], VetorY[12]; int Result, X, Y, i, j; for(i = 1; i < 13; i++){ // Ler os Valores; printf("[%d] Digite um número do Vetor X. \n", i); scanf("%d", &X); } for(i = 1; j < 13; j++){ // Ler os Valores; printf("[%d] Digite um número do Vetor Y. \n", j); scanf("%d", &Y); } for(i = 0; i < 13; i++){ Result =+ VetorX; printf("O resultado é%d", Result); } return 0; }
  22. Escreva um programa que receba a data de nascimento (dia, mês e ano) e o nome de um número n de pessoas (n deve ser informado pelo usuário). Para cada data de nascimento lida determine a diferença de idade entre você e a pessoa, exiba uma mensagem informando se ela é mais velha ou mais nova que você, e exiba a diferença de idade no formato ano:meses:dias. Por fim, exiba os nomes e as idades em ordem crescente, do mais novo para o mais velho, incluindo você
  23. Roberto Paes

    executar código cmd em c#

    System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C start copy " + Application.StartupPath + @"\launcher\Sanchez.Patcher.exe " + Application.StartupPath; process.StartInfo = startInfo; process.Start(); Oi pessoal, Boa noite. Me chamo Roberto e estou tendo problemas em usar o cmd com o c#. O meu código funciona perfeitamente, mas eu não consigo ocultar a janela do cmd. Bom, apresentado o meu problema. Espero que possam me ajudar.
  24. avner.max

    Simulador de cache

    Preciso desenvolver um simulador de cache, onde eu consiga testar o desempenho de algoritmos de ordenação (Quick sort, Selection sort e Bubble sort) em relação a memória cache e imprimir a taxa de Cache Miss e Cache Hit de leitura e gravação de cada um dos três algoritmos. Minha dúvida é, como fica o algoritmo de ordenação nesse caso? São passados para a escolha do usuário os seguintes dados: Quantidade máxima de palavras na cache (tamanho da cache), quantidade de palavras por bloco, tipo de mapeamento, tipo de associatividade, política de substituição e política de escrita. Preciso fazer o algoritmo de ordenação cumprir cada um deles, quando for ler/gravar no vetor que representa a cache e no vetor que representa a memória. Porém não estou conseguindo imaginar como deve ficar o algoritmo de ordenação. Se alguém puder me dar uma luz, iria ficar muito agradecido! Grande abraço a todos.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.