Ir ao conteúdo
  • Cadastre-se

Reuel Lima

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde, criei cadastro de uma palestra,está pronto, porém gostaria de colocar um sorteio para algumas pessoas que são cadastradas... Gostaria de ajuda nessa parte, O sorteio deve ser assim: sortear com o numero das fileiras e das cadeiras das pessoas que cadastraram mas só pegar quem cadastrou,porque pode ser que umas 50 pessoas cadastraram e as outras 50 vagas não, por isso não quero pegar o lugar vazio e sim quem está ali cadastrado. Tentei fazer mas ainda não consegui chegar numa solução pra isso e preciso de ajuda. include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <windows.h> //inicializacao de todas as variaveis. SYSTEMTIME tempo; char nome[100][50], email[100][50], cpf[100][50]; int cadeiras[10][10]; int i=10, j=10, k[100], n=0, fileira[100], assento[100], cont=1; int op, op2, categoria; void cadastro(); void inicializa(int cadeiras[10][10]); void legenda(); void mostrarPainel(int cadeiras[10][10]); void ticket(); void lista(); void sorteio(); void sorteio(){ } //inicia os valores da matriz responsavel pelos assentos. void inicializa(int cadeiras[10][10]){ for(i=0; i<11; i++){ for(j=0; j<11; j++){ cadeiras[i][j]='-'; } } } //apresenta o cadastro para o usuario colocar as informações na tela. void cadastro(){ printf("\nNome: "); fflush(stdin); scanf("%[^\n]s",nome[n]); printf("\nEmail: "); fflush(stdin); scanf("%[^\n]s",email[n]); printf("\nCPF: "); fflush(stdin); scanf("%[^\n]s",cpf[n]); k[n]=1; } //apresenta a legenda da matriz. void legenda(){ printf("\n\n\n - -Livre E-Ocupado R-Reservado\n\n"); } //apresenta as informações que o usuario deu e queira. void ticket(){ system("cls"); printf("\nSuas informações do cadastro:\n"); printf("\n\nNome: %s\n\nEmail: %s\n\nCPF: %s\n\nFileira: %d Assento: %d", nome[n], email[n], cpf[n], fileira[n], assento[n]); GetLocalTime(&tempo); printf("\n\nData Atual %d/%d/%d", tempo.wDay, tempo.wMonth, tempo.wYear);//imprime dia,mes,ano printf("\n\nHora: %d Minutos: %d", tempo.wHour, tempo.wMinute);//imprime hora e minutos n++; } //apresenta a lista de todas as pessoas que cadastraram. void lista(){ system("cls"); printf("\nLista de participantes cadastrados:\n"); for(n=0; n<100; n++){ if(k[n]>0){ printf("\n\nNome: %s\n\nEmail: %s\n\nCPF: %s\n\nFileira: %d Assento: %d\t\n", nome[n], email[n], cpf[n], fileira[n], assento[n]); }else{ break; } } } //apresenta a matriz para a pessoa escolher seu assento. void mostrarPainel(int cadeiras[10][10]){ int i,j; printf("\n\n %c PAINEL DE OCUPACOES %c\n\n",16,17); printf(" "); for(i=1;i<=10;i++) printf("%d ",i); for(i=1;i<=10;i++){ printf("\n\n %d",i); for(j=1;j<=10;j++) printf(" (%c)",cadeiras[i][j]); } //apresenta o menu na tela legenda(); } //ler a linha oferecida pelo usuario int linhaX(){ int i; printf(" Fileira: "); scanf("%d",&i); if(i>10) { printf("\t\n Esta cadeira nao existe!!! "); } return i; } //ler a coluna oferecida pelo usuario int colunaY(){ int j; printf(" Assento: "); scanf("%d",&j); if(j>10) { printf("\t\n Esta cadeira nao existe!!! "); } return j; } //tudo que apresenta na tela ate o fim do main. int main(void) { inicializa(cadeiras); do{ system("cls");//limpa a ultima coisa na tela printf("\n\n %c TEATRO UNIP %c\n\n",16,17); printf("\nPalestra: Direitos Humanos"); printf("\nData: 15/12/2018"); printf("\nInicio: 9:00 \nTermino: 12:00"); printf("\n\n\n 1 - Cadastro\n 2 - Lista\n 3 - Sorteio\n");//um pequeno menu de opções scanf("%d", &op2); switch(op2){ case 1: system("cls"); cadastro(); //pergunta ao usuario o tipo de pessoa e seu assento especifico. system("cls"); printf("\nQual sua categoria?\n"); printf("\nDigite 1 para aluno \nDigite 2 para professor \nDigite 3 para convidado \nDigite 4 para pessoa com necessidade especial"); printf("\nCategoria: "); scanf("%d", &categoria); //caso o usuario digite um desses numeros ira fazer uma dessas funçoes. switch(categoria){ case 1: system("cls"); //este cont ira contar as pessoas do tipo aluno. cont; mostrarPainel(cadeiras); i = linhaX(); j = colunaY(); if(cont>75){ printf("\nNao ha mais vagas para pessoas do tipo aluno!\n"); }else{ if(i<3){ printf("\n As duas primeiras fileiras ja estão reservadas a professores e convidados!"); printf("\n Por favor escolha outras disponiveis!\n"); i = 0; j = 0; i = linhaX(); j = colunaY(); } if(cadeiras[i][j]=='-'){ cadeiras[i][j] = 'R'; printf("\n\n RESERVA EFETIVADA COM SUCESSO !!"); } else if (cadeiras[i][j]=='E') printf("\n\n CADEIRA JA OCUPADA!! ESCOLHA OUTRA !!\n\n"); else if(cadeiras[i][j]=='R') printf("\n\n CADEIRA JA RESERVADA !! ESCOLHA OUTRA !!\n\n"); } cont++; fileira[n] = i; assento[n] = j; getch(); break; case 2: case 3: system("cls"); //este cont ira contar as pessoas do tipo professor/convidado cont; mostrarPainel(cadeiras); i = linhaX(); j = colunaY(); if(cont>20){ printf("\nNao ha mais vagas para pessoas do tipo professor/convidado!\n"); }else{ if(i>2){ printf("\n Sua categoria esta determinada as duas primeiras fileiras!"); printf("\n Por favor escolha entre elas novamente!\n"); i = 0; j = 0; i = linhaX(); j = colunaY(); } if(cadeiras[i][j]=='-'){ cadeiras[i][j] = 'R'; printf("\n\n RESERVA EFETIVADA COM SUCESSO !!"); } else if (cadeiras[i][j]=='E') printf("\n\n CADEIRA JA OCUPADA!! ESCOLHA OUTRA !!\n\n"); else if(cadeiras[i][j]=='R') printf("\n\n CADEIRA JA RESERVADA !! ESCOLHA OUTRA !!\n\n"); } cont++; fileira[n] = i; assento[n] = j; getch(); break; case 4: system("cls"); cont; //vai contar o numero de pessoas especiais. mostrarPainel(cadeiras); i = linhaX(); j = colunaY(); //5 das 100 cadeiras sao resevadas a essas pessoas pois sao 5% especialmente a elas. if(cont>5){ printf("\nNao ha mais vagas para pessoas do tipo especial!\n"); }else{ if(i<3){ printf("\n As duas primeiras fileiras ja estão reservadas a professores e convidados!"); printf("\n Por favor escolha outras disponiveis!\n"); i = 0; j = 0; i = linhaX(); j = colunaY(); } if(cadeiras[i][j]=='-'){ cadeiras[i][j] = 'E'; printf("\n\n RESERVA EFETIVADA COM SUCESSO !!"); } else if (cadeiras[i][j]=='E') printf("\n\n CADEIRA JA OCUPADA!! ESCOLHA OUTRA !!\n\n"); else if(cadeiras[i][j]=='R') printf("\n\n CADEIRA JA RESERVADA !! ESCOLHA OUTRA !!\n\n"); } cont++; fileira[n] = i; assento[n] = j; getch(); break; } ticket(); break; case 2: lista(); break; } printf("\n\nDIGITE 0 PARA SAIR DO PROGRAMA OU OUTRO VALOR PARA VOLTAR AO MENU: "); scanf("%d", &op); //condicao para continuar o programa. }while(op!=0); return 0; }

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!