Ir para conteúdo
Fórum Script Brasil

Arduin

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Arduin

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Arduin's Achievements

0

Reputação

  1. Amigos, Estou tendo problema para rodar esse código. Eu preciso criar uma lista de contigenciamento. Alguém pode me ajudar? #include <stdio.h> #include <string.h> typedef struct { int dia, mes, ano; } data; typedef struct { float temp, press; int chuva, mm_prec, dia_bom, dia_ruim, neblina, dia, mes, ano; char nome[200]; struct data *dd; } eventos_atm; void ler_eve(eventos_atm *est) { printf("\n\nQual o dia da coleta?\n"); scanf("%d", &est->dia); printf("Qual o mes da coleta?\n"); scanf("%d", &est->mes); printf("Qual o ano da coleta?\n"); scanf("%d", &est->ano); printf("Digite o nome do Coletor:\n"); scanf("%s", &est->nome); printf("Qual a temperatura:\n"); scanf("%f",&est->temp); printf("Qual a pressao atmosferica:\n"); scanf("%f",&est-> press); printf("Houve chuva?\n1 para sim e 0 para não.\n"); scanf("%d",&est->chuva); printf("Houve neblina?\n1 para sim e 0 para não\n"); scanf("%d", &est->neblina); if (est->chuva == 1) { printf("Quantos mm de precipitacao:\n"); scanf("%d",&est->mm_prec); } else if( est->chuva >= 3) { printf("Valor invalido...\nEditar conteudo com o valor correto.\n\n"); } } typedef struct { int inicio; int fim; int tamanho; eventos_atm *v; } tlista; void inicializar(tlista *x, int tam) { x-> inicio = -1; x-> fim = -1; x-> tamanho = tam; x-> v=(eventos_atm *) malloc(tam*sizeof(eventos_atm)); } void inserir(tlista *p, int novo, int pos) { } int main () { tlista *l; eventos_atm *dados; int dias, i; printf("Qual o numero de dias que você deseja coletar informações?\n"); scanf("%d", &dias); inicializar(&l, dias); for (i=0; i<dias; i++) { ler_eve(&dados[i]); } return 0; }
  2. Prezados, Estou tentando salvar os dias bons em um vetor chamado dias_bons e dias ruins em um vetor chamado de dias_ruins. Entretando, não consegui imprimir os valores na função "do". O problema é que só está salvando o último vetor rrodado. Alguém pode ajudar? Grato! #include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 1 #define FALSE 0 typedef struct { float temp, press; int chuva, mm_prec, dia_bom, dia_ruim, neblina; char nome[200]; }eventos_atm; void ler_eve(eventos_atm *est) { printf("Digite o nome do Coletor:\n"); scanf("%s", &est->nome); printf("Qual a temperatura:\n"); scanf("%f",&est->temp); printf("Qual a pressao atmosferica:\n"); scanf("%f",&est-> press); printf("Houve chuva?\n1 para sim e 0 para não.\n"); scanf("%d",&est->chuva); printf("Houve neblina?\n1 para sim e 0 para não\n"); scanf("%d", &est->neblina); if (est->chuva == TRUE) { printf("Quantos mm de precipitacao:\n"); scanf("%d",&est->mm_prec); } else if( est->chuva >= '3') { printf("Valor invalido...\nEditar conteudo com o valor correto.\n\n"); } } void edit_eve ( eventos_atm *est ) { int i; printf ( "Qual dia a ser editado:\nEntre 1 e 2.\n" ); scanf ( "%d", &i ); printf ( "Dia %d\n", i ); if ( i > 0 && i < 8 ) { ler_eve ( &est[i-1] ); } else{ printf ( "O valor está fora do intervalo permitido." ); } } void exi_eve (eventos_atm *est) { printf("nome: %s\n", est->nome); printf("temperatura: %.2f\n", est->temp); printf("pressao: %.2f\n", est->press); printf("mm_prec: %d\n", est->mm_prec); printf("\n"); } int main() { eventos_atm *vetor, *dias_bons, *dias_ruins; int i, valor, dias, dr, db; printf("Quantos dias deseja gravar na memoria?\n"); scanf("%i", &dias); vetor=(eventos_atm*)malloc(sizeof(eventos_atm)*dias); dr = 0; db = 0; for (i=0; i<dias; i++) { printf("Dia %i\n\n", i+1); ler_eve(&vetor[i]); if (vetor[i].chuva==TRUE || vetor[i].neblina == TRUE) { dr = dr+1; } else { db = db+1; } } dias_bons=(eventos_atm*)malloc(sizeof(eventos_atm)*db); dias_ruins=(eventos_atm*)malloc(sizeof(eventos_atm)*dr); for (i=0; i<dias; i++) { if (vetor[i].chuva==TRUE || vetor[i].neblina == TRUE) { dias_ruins = &vetor[i]; } else{ dias_bons = &vetor[i]; } } free(vetor); free(dias_bons); free(dias_ruins); do { printf("Escolha uma das opcoes: \n"); printf("1 - Editar dia\n"); printf("2 - Exibir dia\n"); printf("3 - Exibir mm precipit\n"); printf("4 - Exibir dias bons\n"); printf("5 - Exibir dias ruins\n"); printf("6 - Exibir vetores bom\n"); printf("7 - Exibir vetor ruins\n"); printf("8 - Sair\n"); scanf("%d", &valor); printf("\n"); switch (valor) { case 1 : edit_eve(&vetor[0]); break; case 2 : printf("Qual dia para exibir? [1-7]\n"); scanf("%d", &i); printf("Dia %d\n", i); exi_eve(&vetor[i-1]); break; case 3 : printf("Qual dia para ver quantidade de mm de precipitacao? [1-7]\n"); scanf("%d", &i); printf("Dia %d\n", i); printf("A precipitacao no dia %d foi de\n", i); printf("\n"); break; case 4 : printf("O numero de dias bons são: %d\n\n", db); break; case 5 : printf("O numero de dias ruins são: %d\n\n", dr); break; case 6: for (i=0; i<db; i++ ) printf("nome: %s\n", dias_bons[i].nome); printf("temperatura: %.2f\n", dias_bons[i].temp); printf("pressao: %.2f\n", dias_bons[i].press); printf("mm_prec: %d\n", dias_bons[i].mm_prec); printf("\n"); break; case 7: for (i=0; i<dr; i++ ) printf("nome: %s\n", dias_ruins[i].nome); printf("temperatura: %.2f\n", dias_ruins[i].temp); printf("pressao: %.2f\n", dias_ruins[i].press); printf("mm_prec: %d\n", dias_ruins[i].mm_prec); printf("\n"); break; case 8 : printf ("******************* Obrigado!!!*******************\n\n"); break; default : printf ("Valor invalido!\n"); }}while(valor != 8); }
  3. Oi! Mas continua lendo a função edi_eve, ele dá problema em acessar a memória...
  4. ///Bom dia galera! Estou rodando este script e estou tendo problema para editar o dias solicitados. Podem me ajudar? ///Obrigado! #include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 1 #define FALSE 0 #define TTT 2 typedef struct { float temp, press; int chuva, mm_prec, edi; char nome[200]; }eventos_atm; void ler_eve(eventos_atm *est) { printf("Digite o nome do Coletor:\n"); fflush(stdin); gets(est->nome); printf("Qual a temperatura:\n"); scanf("%f",&est->temp); printf("Qual a pressao atmosferica:\n"); scanf("%f",&est-> press); printf("Houve chuva?\n1 para sim e 0 para não.\n"); scanf("%d",&est->chuva); if (est->chuva == TRUE) { printf("Quantos mm de precipitacao:\n"); scanf("%d",&est->mm_prec); } else if( est->chuva >= '3') { printf("Valor invalido...\nEditar conteudo com o valor correto.\n\n"); } } void edit_eve(eventos_atm *est) { int i; printf("Qual dia a ser editado:\nEntre 1 e 2.\n"); scanf("%d", i); printf("Dia %i", i); ler_eve(&est); } void exi_eve (eventos_atm est) { printf("nome: %s\n", est.nome); printf("temperatura: %.2f\n", est.temp); printf("pressao: %.2f\n", est.press); printf("mm_prec: %d\n", est.mm_prec); printf("\n"); } int main() { eventos_atm vetor[TTT]; int i, valor; for (i=0; i<TTT; i++) { printf("Dia %i\n\n", i+1); ler_eve(&vetor); } do { printf("Escolha uma das opcoes: \n"); printf("1 - Editar dia\n"); printf("2 - Exibir dia\n"); printf("3 - Exibir mm precipit\n"); printf("4 - Sair\n"); scanf("%d", &valor); printf("\n"); switch (valor) { case 1 : edit_eve(&vetor[0]); break; case 2 : printf("Qual dia para exibir? [1-7]\n"); scanf("%d", &i); printf("Dia %d\n", i); exi_eve(vetor[i-1]); break; case 3 : printf("Qual dia para ver quantidade de mm de precipitacao? [1-7]\n"); scanf("%d", &i); printf("Dia %d\n", i); printf("A precipitacao no dia %d foi de %d", i, vetor[mm_prec); printf("\n"); break; case 4 : printf ("******************* Obrigado!!!*******************\n\n"); break; default : printf ("Valor invalido!\n"); }}while(valor != 4); }
×
×
  • Criar Novo...