Ir ao conteúdo
  • Cadastre-se

DoodohRafael

Membro Pleno
  • Posts

    32
  • Cadastrado em

  • Última visita

Reputação

10
  1. tentei fazer assim, mas não funciona void salvar(){ aux=prim; if(aux!=NULL){ FILE *file; file = fopen("teste.txt", "w"); fprintf(file,"Texto de teste"); fclose(file); }
  2. Ok man, eu troquei kkk, me tira outra dúvida; Como eu faço pra implementar as funções escrever e ler files eu escrevi assim mas não sei implementar junto a essa minha estrutura, tu podes fazer pra mim? ajudaria muito FILE *file; file = fopen("teste.txt", "w"); fprintf(file,"Testando texto"); fclose(file);
  3. Ok jogador, ele aqui embaixo #include <iostream> #include <string.h> #include <stdlib.h> using namespace std; struct agenda{ long telefone; char nome[100]; struct agenda *prox; }*prim,*ult,*aux; void inclusao(char n[100], long tel); void listagem(); void exclusao(long tel); void procurar(long tel); void contar(); main(){ int op, resp; char n[100]; long tel; do{ cout<<"<<<MENU>>"<<endl; cout<<"[1] Incluir "<<endl; //Inclui um novo telefone na agenda; cout<<"[2] Listar "<<endl; //Lista todos os telefones da agenda; cout<<"[3] Excluir "<<endl; // Exclui o nome e telefone da agenda; cout<<"[4] Buscar "<<endl; //Busca o nome e telefone da agenda; cout<<"[5] Contar "<<endl;// Conta o n° de telefones cadastrados; cout<<"[6] Sair "<<endl; //Opção para sair do menu. cin>>op; if(op==1){ cout<<" CADASTRO DE NOVOS TELEFONES "<<endl; cout<<"Informe o telefone: "; cin>>tel; fflush(stdin); cout<<"Informe o nome: "; fgets(n,100,stdin); cout<<endl; inclusao(n, tel); }else if(op==2){ listagem(); }else if(op==3){ cout<<"Informe o telefone para remover da agenda: "; cin>>tel; exclusao(tel); }else if(op==4){ cout<<"Informe o telefone para busca: "; cin>>tel; procurar(tel); }else if(op==5) contar(); cout<<"Deseja Voltar ao Menu? [1]-SIM|[0]-NAO "; cin>>resp; if(resp==0) break; }while(op!=6); } //Funcao de Inclusao void inclusao(char n[100], long tel){ aux = (struct agenda *)malloc(sizeof(struct agenda)); if(prim==NULL) prim=aux; else ult->prox=aux; ult=aux; strcpy(ult->nome,n); ult->telefone=tel; ult->prox=NULL; cout<<">-------------------<"<<endl; cout<<aux->nome; cout<<"foi cadastrado com sucesso! \n"; cout<<">-------------------<"<<endl; } void listagem(){ aux=prim; if(prim!=NULL){ cout<<">-------------------<"<<endl; cout<<"Nomes e Telefones "<<endl; cout<<"Nome: "<<prim->nome<<endl; cout<<"Telefone: "<<prim->telefone<<endl; cout<<">-------------------<"<<endl; aux=prim->prox; while(aux!=NULL){ cout<<">-------------------<"<<endl; cout<<"Nome: "<<aux->nome<<endl; cout<<"Telefone: "<<aux->telefone<<endl; cout<<">-------------------<"<<endl; aux=aux->prox; } }else cout<<"Agenda Vazia! "<<endl; } void exclusao(long tel){ struct agenda *aux2; int achei = 0; aux = prim; while(aux!= NULL && achei==0) { if(aux->telefone == tel) { if(aux == prim) { if(prim == ult) { prim = ult = NULL; aux2 = aux; } else { prim= prim->prox; aux2 = aux; } } else if(aux == ult) { ult = aux2; ult->prox=NULL; } else { aux2->prox = aux->prox; achei = 1; free(aux); } } else { aux2 = aux; aux = aux->prox; } } if(achei==0) { cout <<"Telefone nao foi encontrado\n\n\n"; } else { cout <<"Telefone excluido! com sucesso! \n\n"<<endl; } } void procurar(long tel){ int achei=0; aux=prim; while(achei==0 && aux!=NULL){ if(aux->telefone==tel){ cout<<">-------------------<"<<endl; cout<<"Nome: "<<aux->nome<<endl; cout<<"Telefone: "<<aux->telefone<<endl; cout<<">-------------------<"<<endl; achei=1; }else aux=aux->prox; } if(achei==0){ cout<<"Nome e telefone nao encontrados! "<<endl; } } void contar() { int c=0; aux = prim; while(aux!= NULL) { c += 1; aux = aux->prox; } cout <<"Numero de telefones cadastrados: "<<c<<"\n\n\n"; }
  4. Gente, quando eu insiro uma quantidade menor de número em "Informe o telefone" ele fica bugando, se eu por assim com 11 número, ele buga 81955556666, se eu por somente 9 números ele roda normal, alguém sabe o que possa ser?? Normal: com bug:
  5. quero saber se a tabela "cliente" continua ali ou não e se eu coloco outra no lugar, obg\!!!
  6. Gente, já tentei fazer, mas não funciona, vejam: Validação de dados; Carregamento de dados obrigatórios (datas, usuários, etc..); TENTEI ASSIM, MAS N FUNCIONA; TO ME ENROLANDO NA SINTAX; CREATE TRIGGER tri_ BEFORE INSERT ON ocorrencia FOR EACH ROW BEGIN IF NOT EXISTS(SELECT tempo_duracao FROM ocorrencia WHERE id_ocorrencia) THEN INSERT INTO ocorrencia VALUES (NEW.id_ocorrencia, TIMEDIFF(NEW.data_termino, NEW.data_ocorrencia); ELSE PRINTF 'voce PRECISA INSERIR OS DADOS OBRIGATORIOS'; END IF END; TODO MEU BANCO CRIADO ATÉ AGORA; create database calamidadepublica; Create table ocorrencia ( id_ocorrencia INT NOT NULL AUTO_INCREMENT, data_ocorrencia DATETIME NOT NULL, data_termino DATETIME NOT NULL, primary key(id_ocorrencia) ); Create table tempo_total ( codigo_ocorrencia INT NOT NULL, tempo_duracao TIME ); ALTER TABLE tempo_total ADD CONSTRAINT fk_ocorrencia FOREIGN KEY (codigo_ocorrencia) REFERENCES ocorrencia(id_ocorrencia); delimiter // CREATE DEFINER=`root`@`localhost` TRIGGER `trigger_tempo` AFTER INSERT ON `ocorrencia` FOR EACH ROW begin insert into tempo_total (codigo_ocorrencia, tempo_duracao) values (NEW.id_ocorrencia, TIMEDIFF(NEW.data_termino, NEW.data_ocorrencia)); end;// INSERT INTO ocorrencia (data_ocorrencia, data_termino) VALUES ('2017-07-12 09:30:05', '2017-07-12 10:00:10'); UPDATE ocorrencia SET data_termino = '2017-07-13 10:00:00' WHERE id_ocorrencia = '2';
  7. Aee mano funcionou, valeu mesmo velho; Só mais um help, to pedindo tanta ajuda porque o professor só da uma tese mesmo do que é e manda a gente sair perguntando, pesquisando tlg? Queria colocar um before insert com a mensagem "voce nao pode insertir sem informar o nome, pois é obrigatório"?
  8. Cadastrar pessoas e locais atingidos por calamidades; Preciso que seja datetime e que o cálculo seja timediff; ESSA PARTE ESTÁ OK E sim, eu dei drop no banco, tentei fazer na ordem, mas a trigger da erro :/ professor quer com as triggers
  9. Na verdade, é o projeto de BD da faculdade; To terminando de colocar os atributos nos modelos, tenho que criar as tabelas, e ainda não sei definir direito quais vou usar triggers;
  10. Cara, valeu mesmo, mas você não poderia me mostrar uma maneira mais simples? Sem todos esses códigos? O do print ta errado? adicionado 34 minutos depois E mesmo assim deu erro, será que é meu pc?
  11. Funcionou, mas quando eu faço o update, minha coluna "tempo_duracao" não atualiza
  12. tentei assim agora, mas agora é minha trigger que nao quer ser criada
  13. Criei minha table e tentei assim, mas da erro na hora de inserir, vejam a imagem do erro lá embaixo; CREATE TABLE Ocorrencia ( id_ocorrencia int(11) NOT NULL PRIMARY KEY, -- data_hora datetime, data_ocorrencia datetime , data_termino datetime, tempo_duracao datetime ); drop table ocorrencia; CREATE TRIGGER trg_duracao BEFORE INSERT ON Ocorrencia FOR EACH ROW SET NEW.tempo_duracao = (NEW.data_ocorrencia - data_termino); INSERT INTO ocorrencia (id_ocorrencia, data_ocorrencia, data_termino) VALUES ('01','2017-05-25 08:30:05','2017-05-26 00:20:10');
  14. valeu man! Saquei o q do Bubble ser no mesmo lugar, mas porque o "Insert" não tem comparação?
  15. Quero que o algoritmo me informe a Quantidade de trocas e de comparações, mas não sei se coloquei nos lugares corretos; #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; void SelectSort(int vet[10]) { int min,aux,c,cc; for(int i=0;i<10;i++) { min=i; for(int j=i+1;j<10;j++) { if(vet[min] > vet[j]) { cc++; min=j; } } aux=vet[min]; vet[min]=vet[i]; vet[i]=aux; c++; } cout<<"\nQuantidade de Trocas SelectSort-> "<<c<<endl; //cout<<"\n"; cout<<"Quantidade de Comparacoes SelectSort-> "<<cc<<endl; } void InsertSort(int v[10]) { int i,j,key,c=0,cc=0; for(j=0;j<10;j++) { key=v[j]; for(i=j-1;(i>=0)&&(v[i]>key);i--) { v[i+1]=v[i]; cc++; } v[i+1]=key; c++; } cout<<"\nQuantidade de Trocas InsertSort-> "<<c<<endl; //cout<<"\n"; cout<<"Quantidade de Comparacoes InsertSort-> "<<cc<<endl; } void BubbleSort(int vetb[10]){ int aux,c=0,cc=0; for(int i=0;i<10;i++) { for(int j=i+1;j<10;j++)//AQUI EU INFORMO QUE J É O PRÓXIMO DO VETOR, POR ISSO O +1; { cc++; if(vetb[i] > vetb[j]) { aux=vetb[i]; vetb[i]=vetb[j]; vetb[j]=aux; c++; } } } cout<<"\nQuantidade de Trocas BubbleSort-> "<<c<<endl; //cout<<"\n"; cout<<"Quantidade de Comparacoes BubbleSort-> "<<cc<<endl; } main(){ srand(time(NULL)); int vet[10]={}; int v[10]={}; int vetb[10]={}; cout<<"<<<<<<<<<<<<<<<< NUMEROS GERADOS >>>>>>>>>>>>>>>>"<<endl; for(int i=0;i<10;i++){ vet[i]=rand()%100; v[i]=rand()%10; vetb[i]=rand()%1000; cout<<" Gerados Select: "<<vet[i]; //cout<<"\n"; cout<<" Gerados Insert: "<<v[i]; //cout<<"\n"; cout<<" Gerados Bubble: "<<vetb[i]; } SelectSort(vet); for(int j=0;j<10;j++) { cout<<j+1<<" SelectSort: "<<vet[j]<<" |"<<endl; //cout<<" Insert: "<<vet[j]<<" ||"<<endl; } cout<<" "<<endl; InsertSort(v); cout<<"\n\n"; for(int i=0;i<10;i++) { cout<<"InsertSort: "<<v[i]<<" ||"<<endl; } cout<<" "<<endl; BubbleSort(vetb); for(int j=0;j<10;j++) { cout<<"BubbleSort: "<<vetb[j]<<" |||"<<endl; } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...