Ir ao conteúdo
  • Cadastre-se

juan vieira prado

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Tudo que juan vieira prado postou

  1. eu estou tentando incluir dados no banco de dados e estou com um problema, estou utilizando o postgree //função para preeencher o datagridview private void preencheGrid() { dataGridView1.DataSource = null; string querry = @"select * from Celulares"; NpgsqlCommand command = new NpgsqlCommand(querry, conn); NpgsqlDataReader dr = command.ExecuteReader(); estTable.Rows.Clear(); while (dr.Read()) { int id = dr.GetInt32(0); string nome = dr.GetString(1); string so = dr.GetString(2); int memoria = dr.GetInt32(3); float preco = dr.GetFloat(4); string marca = dr.GetString(5); string modelo = dr.GetString(6); int estoque = dr.GetInt32(7); DataRow linha = estTable.NewRow(); linha["ID"] = id; linha["Nome"] = nome; linha["SO"] = so; linha["Memoria"] = memoria; linha["Preço"] = preco; linha["Marca"] = marca; linha["Modelo"] = modelo; linha["Estoque"] = estoque; if (dr[8] is DBNull) { linha["Foto"] = null; } else { Byte[] imgArray = (byte[])dr[8]; var stream = new MemoryStream(imgArray); linha["Foto"] = Image.FromStream(stream); } estTable.Rows.Add(linha); } dr.Close(); dataGridView1.Refresh(); Chosen_File = ""; dataGridView1.DataSource = estTable; ((DataGridViewImageColumn)dataGridView1.Columns[8]).ImageLayout = DataGridViewImageCellLayout.Stretch; dataGridView1.Columns[8].Width = 50; dataGridView1.RowTemplate.Height = 50; dataGridView1.Width = 500; } //botão que cadastra private void btnCadas_Click(object sender, EventArgs e) { if (tbSO.Text.Trim().Length == 0 || tbNome.Text.Trim().Length == 0 || tbMen.Text.Trim().Length == 0 || tbPreco.Text.Trim().Length == 0 || tbMarca.Text.Trim().Length == 0 || tbModelo.Text.Trim().Length == 0 || tbEstoque.Text.Trim().Length == 0) { MessageBox.Show("Digite todos os dados."); return; } String query = @"insert into Celulares (nome, so, memoria, preco, marca, modelo, estoque, foto) values (@nome, @so, @memoria, @preco, @marca, @modelo, @estoque, @foto)"; NpgsqlCommand command = new NpgsqlCommand(query, conn); command.Parameters.Add(new NpgsqlParameter("nome", NpgsqlDbType.Varchar)); command.Parameters.Add(new NpgsqlParameter("so", NpgsqlDbType.Varchar)); command.Parameters.Add(new NpgsqlParameter("memoria", NpgsqlDbType.Integer)); command.Parameters.Add(new NpgsqlParameter("preco", NpgsqlDbType.Double)); command.Parameters.Add(new NpgsqlParameter("marca", NpgsqlDbType.Varchar)); command.Parameters.Add(new NpgsqlParameter("modelo", NpgsqlDbType.Varchar)); command.Parameters.Add(new NpgsqlParameter("estoque", NpgsqlDbType.Integer)); command.Parameters.Add(new NpgsqlParameter("foto", NpgsqlDbType.Oidvector)); command.Parameters[0].Value = tbNome.Text; command.Parameters[1].Value = tbSO.Text; command.Parameters[2].Value = tbMen.Text; command.Parameters[3].Value = tbPreco.Text; command.Parameters[4].Value = tbMarca.Text; command.Parameters[5].Value = tbModelo.Text; command.Parameters[6].Value = tbEstoque.Text; if (Chosen_File == "") { command.Parameters[7].Value = null; } else { FileStream fs = new FileStream(Chosen_File, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(new BufferedStream(fs)); Byte[] bytes = br.ReadBytes((Int32)fs.Length); fs.Close(); command.Parameters[7].Value = bytes; } command.ExecuteNonQuery(); preencheGrid(); dataGridView1.CurrentCell = dataGridView1.Rows[estTable.Rows.Count - 1].Cells[0]; dataGridView1.Rows[estTable.Rows.Count - 1].Selected = true; MessageBox.Show("Celular cadastrado.", "cadastro bem Sucedido", MessageBoxButtons.OK, MessageBoxIcon.Information); } na imagem mostra o problema que estou tendo, não consegui encontrar alguma forma de resolver isso CREATE TABLE Celulares( id_cel SERIAL, nome VARCHAR(50), so VARCHAR(50), memoria INTEGER, preco REAL, marca VARCHAR(50), modelo VARCHAR(50), estoque INTEGER, foto oid, PRIMARY KEY (id_cel) ); tabela que estou usando
  2. @AnsiC eu fiz esse código: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> // estrutura que guarda as informações de cada nó struct aeroporto{ char s[3];//sigla char c[50];//cidade char p[30];//pais float tx;//taxa int cap;//capacidade struct BUSAO* prox; }; typedef struct aeroporto BUSAO; //estrutura que organisa conforme os padrões da fila(obs: essa estrutura pode se dizer que ela é a propria fila) struct fila{ BUSAO* ini; BUSAO* fim; }; typedef struct fila FILA; // função para criar a fila FILA* cria(void) { FILA* f = (FILA*)malloc(sizeof(FILA)); f->ini = f->fim = NULL; return f; } // função para inserir elementos na fila void fila_inseri(FILA* f, char* s, char* c, char* p, float tx, int cap) { BUSAO* n = (BUSAO*)malloc(sizeof(BUSAO)); strcpy(n->s, s); strcpy(n->c, c); strcpy(n->p, p); n->tx = tx; n->cap = cap; n->prox = NULL; if(f->fim != NULL) { f->fim->prox = n; } else { f->ini = n; f->fim = n; } } // função para verificar se a fila está vazia int fila_vazia(FILA* f) { if(f->fim == NULL || f->ini == NULL); { return 1; } return 0; } // função para retirar elementos da fila float fila_retira(FILA* f) { BUSAO* t; int v; if(fila_vazia(f)) { printf("Fila vazia.\n"); return; } t = f->ini; v = t->tx; f->ini = t->prox; if(f->ini == NULL) { f->fim = NULL; } free(t); return(v); } // função para liberar a memoria alocada para a fila float fila_libera(FILA* f) { BUSAO* q = f->ini; while(q != NULL) { BUSAO* t = q->prox; free(q); q = t ; } free(f); return 0; } //função que tem que ser usada na solução(ainda em construção) BUSAO* Cadastra(char* s, char* c, char* p, float tx, int cap) { FILA* f= (FILA*)malloc(sizeof(FILA)); if(f == NULL) { return NULL; } BUSAO* n = (BUSAO*)malloc(sizeof(BUSAO)); strcpy(n->s, s); strcpy(n->c, c); strcpy(n->p, p); n->tx = tx; n->cap = cap; n->prox = NULL; if(f->fim != NULL) { f->fim->prox = n; } else { f->ini = n; f->fim = n; } printf("%s, %s, %s, %f, %d",n->s, n->c, n->p, tx, cap); return; } main() { FILA* f = cria(); char *sigla, *cidade, *pais; float taxa; int capacidade, op, x; sigla = (char *)malloc(3*sizeof(char)); cidade = (char *)malloc(50*sizeof(char)); pais = (char *)malloc(30*sizeof(char)); while(true) { printf("\n\n"); printf("------------------------------"); printf("\n\tInsira numero |"); printf("\n1-Insirir elementos na fila |"); printf("\n2-Retirar elementos da fila |"); printf("\n3-Excluir fila atual |"); printf("\n4-Excluir e sair |"); printf("\n5-Sair |"); printf("\n------------------------------"); printf("\n\nop: "); scanf("%d", &op);fflush(stdin); switch(op) { case 1: printf("\ninsira a sigla: "); gets(sigla);fflush(stdin); printf("\ninsira a cidade: "); gets(cidade);fflush(stdin); printf("\ninsira o pais: "); gets(pais);fflush(stdin); printf("\n"); printf("insira a taxa: "); scanf("%f", &taxa); printf("\n"); printf("insira a capacidade: "); scanf("%d", &capacidade); printf("\n"); //fila_inseri(f, sigla, cidade, pais, taxa, capacidade); Cadastra(sigla, cidade, pais, taxa, capacidade); break; case 2: x = fila_retira(f); break; case 3: x = fila_libera(f); FILA* f = cria(); break; case 4: x = fila_libera(f); exit(0); break; case 5: exit(0); break; } } } se puder me ajudar a corrigir ele.
  3. @AnsiC arrumei o post, foi mal. agora que o enunciado está completo, estou tendo dificuldade de fazer o exercício "completo" que seria colocar mais essa parte que eu não tinha colocado no enunciado. adicionado 2 minutos depois @AnsiC eu aprendi um pouco de pilha na faculdade, o professor atrasou a matéria, então ta bem difícil entender
  4. @AnsiC não estou conseguindo fazer, e percebi que faltou eu falar alguns detalhes também. • typedef struct fila Fila; • Fila* cria (void); /* cria uma fila vazia */ • void insere (Fila* f, float v); /* insere um elemento */ • float retira (Fila * f); /* retira um elemento */ • int vazia (Fila * f); /* retorna se está vazia */ • void libera (Fila * f); /* libera a estrutura */
  5. @AnsiC me parece mais fácil de entender agora, vou tentar fazer, não tive muitas aulas de estrutura de dados, então está um pouco complicado pra mim :v valeu
  6. olá estou tentando fazer um exercício na linguagem c, não consigo adaptar o código para o que o exercício pede, poderiam me ajudar? • typedef struct fila Fila; • Fila* cria (void); /* cria uma fila vazia */ • void insere (Fila* f, float v); /* insere um elemento */ • float retira (Fila * f); /* retira um elemento */ • int vazia (Fila * f); /* retorna se está vazia */ • void libera (Fila * f); /* libera a estrutura */ Suponha que uma empresa de ônibus mantém um cadastro de aeroportos como uma fila implementada com uma lista encadeada as seguintes informações: 1. Sigla: cadeia com até 3 caracteres; 2. Cidade: cadeia com até 50 caracteres; 3. Pais: cadeia com até 30 caracteres; 4. Taxa: um valor real; 5. Capacidade: um valor inteiro; Pede-se: A) Defina uma estrutura em C com o nome de aeroporto, que tenha os campos apropriados para guardar todas as informações descritas anteriormente. Defina também um novo tipo de dados com o nome de Busão, correspondendo a essa estrutura. b) Escreva uma função que cria dinamicamente e preenche uma variável do tipo Aeroporto. Esta função deve receber como parâmetros as cadeias de caracteres s, contendo a sigla do aeroporto, c e p, contendo, respectivamente, a cidade e o país onde esse se localiza, o valor real tx, contendo a taxa cobrada por ele, e o inteiro cap, indicando sua capacidade; e retornar um ponteiro para a variável alocada dinamicamente. Se não for possível alocar uma variável, a função deve retornar NULL. A função deve ter o seguinte protótipo: Busão* Cadastra(char* s, char* c, char* p, float tx, int cap); e meu código está assim: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> struct Node{ char s[3]; /*sigla*/ char c[50]; /*cidade */ char p[30]; /*pais*/ float tx; /*taxa*/ int cap; /*capacidade*/ struct Node *prox; }; typedef struct Node node; int tam; int menu(void); void opcao(node *FILA, int op); void inicia(node *FILA); int vazia(node *FILA); node *Cadastra(); void insere(node *FILA); node *retira(node *FILA); void exibe(node *FILA); void libera(node *FILA); int main(void) { node *FILA = (node *) malloc(sizeof(node)); if(!FILA){ printf("Sem memoria disponivel!\n"); exit(1); }else{ inicia(FILA); int opt; do{ opt=menu(); opcao(FILA,opt); }while(opt); free(FILA); return 0; } } int menu(void) { int opt; printf("Escolha a opcao\n"); printf("0. Sair\n"); printf("1. Zerar fila\n"); printf("2. Exibir fila\n"); printf("3. Adicionar Elemento na Fila\n"); printf("4. Retirar Elemento da Fila\n"); printf("Opcao: "); scanf("%d", &opt); return opt; } void opcao(node *FILA, int op) { node *tmp; switch(op){ case 0: libera(FILA); break; case 1: libera(FILA); inicia(FILA); break; case 2: exibe(FILA); break; case 3: insere(FILA); break; case 4: tmp= retira(FILA); if(tmp != NULL){ printf("Retirado."); libera(tmp); } break; default: printf("Comando invalido\n\n"); } } void inicia(node *FILA) { FILA->prox = NULL; tam=0; } int vazia(node *FILA) { if(FILA->prox == NULL) return 1; else return 0; } node *Cadastra() { node *novo=(node *) malloc(sizeof(node)); if(!novo){ printf("Sem memoria disponivel!\n"); return NULL; }else{ printf("Nova sigla: "); scanf("%s", &novo->s); printf("Nova cidade: "); scanf("%s", &novo->c); printf("Novo Pais: "); scanf("%s", &novo->p); printf("Nova taxa: "); scanf("%f", &novo->tx); printf("Nova capacidade: "); scanf("%d", &novo->cap); return novo; } } void insere(node *FILA) { node *novo=Cadastra(); novo->prox = NULL; if(vazia(FILA)) FILA->prox=novo; else{ node *tmp = FILA->prox; while(tmp->prox != NULL) tmp = tmp->prox; tmp->prox = novo; } tam++; } node *retira(node *FILA) { if(FILA->prox == NULL){ printf("Fila ja esta vazia\n"); return NULL; }else{ node *tmp = FILA->prox; FILA->prox = tmp->prox; tam--; return tmp; } } void exibe(node *FILA) { if(vazia(FILA)){ printf("Fila vazia!\n\n"); return ; } node *tmp; tmp = FILA->prox; printf("Fila :"); while( tmp != NULL){ printf("%s\n", tmp->s); printf("%s\n", tmp->c); printf("%s\n", tmp->p); printf("%f\n", tmp->tx); printf("%d\n", tmp->cap); tmp = tmp->prox; } /*printf("\n "); int count; for(count=0 ; count < tam ; count++) printf(" ^ "); printf("\nOrdem:"); for(count=0 ; count < tam ; count++) printf("%5d", count+1); */ printf("\n\n"); } void libera(node *FILA) { if(!vazia(FILA)){ node *proxNode, *atual; atual = FILA->prox; while(atual != NULL){ proxNode = atual->prox; free(atual); atual = proxNode; } } }
  7. Recebi este exercicio, mas n estou conseguindo faze-lo Faça um programa que receba uma frase e um caracter e verifique em que posição da frase o caracter digitado aparece pela primeira vez.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!