Jump to content
Fórum Script Brasil
  • 0

Amigos do fórum, por favor gostaria que me ajudassem, preciso fazer um algoritmo para dia 01/12/2015.


joota.carvalho@gmail.com
 Share

Question

Já tentei de todas as formas, e não conseguir,quem puder da essa força, ficarei muito grato, obrigado! 

Segue o tema:

Descritivo - Sistema de Vendas de Passagens Interestaduais

Elabore um sistema de vendas de passagens Interestaduais para a empresa Viagens S.A.

Regras de funcionamento do sistema:

1. O sistema deve ter dois perfis de acesso: Administrador e Vendedor

2. O sistema deve ter um controle de acesso diferenciado entre Administrador e Vendedor 

(conforme menus abaixo). 

3. Na tela inicial o sistema deve escolher opção de administrador ou vendedor. 

4. Apenas o administrador pode cadastrar vendedores.

5. A tela de cadastro de vendedores deve ter os seguintes campos para preenchimento: Nome 

Completo, RG, data de nascimento, nome de usuário e senha.

6. A tela de cadastro de rotas deve ter os seguintes campos: origem, destino, número lugares 

disponíveis e valor da passagem. Todas as rotas saem diariamente e já tem seus horários 

definidos: 08:00, 14:00, 18:00 e 22:00. 

7. A tela de relatório de vendas por vendedor deve mostrar a quantidade e o valor total das 

vendas de cada vendedor.

8. A tela de consultas deve solicitar a rota, o dia, o horário e a quantidade de passagens e em 

seguida informar se existem vagas e qual o valor total.

9. A tela de venda deve ser semelhante à tela de consultas, além dos campos da forma de 

pagamento, nomes dos passageiros e a confirmação de venda (emitir bilhete de 

confirmação de venda).

10. A opção logoff deve retornar a tela de login inicial.

Senha administrados = 1234

Menu Administrador

1. Cadastro de Vendedores

2. Cadastro de rotas

3. Consulta de Passagens

4. Venda de Passagens

5. Relatório de vendas por vendedor

6. Logoff

Menu Vendedor

1. Consulta de Passagens

2. Venda de Passagens

3. Logoff

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 200
#include <conio.h>
#include <time.h>

void inserir(void);
void mostrar(void);
int i;
struct registro
{
          char origem[30];
          char destino[30];
          char poltronas[30];
          char valor[5];
          char hora[10];
};

struct regv
{
          char nome[30];
          char rg[30];
          char datanasc[30];
          char login[20];
          char senha[7];
};
     

main(){
	char usuariod [10];
	char senhad [10];
	int hora;
    int menu1=0;
    int menu2=0;
    int menu3=0;
    int senha;
    char nome [SIZE][50];
    int nasc [SIZE];
    int RG [SIZE];
    int op; 
    char usuario [SIZE][20];
    int senhacad[SIZE];
    int poltrona1[48];
    int poltrona2[48];
    int gratuidade1 = 0;
    int gratuidade2 = 0;
    int bus = 0;
    int bus1 = 0;
    int bus1l = 0;
    int tot1= 0;
    int inte1 = 0 ;
    int pas = 0 ;
    int bus2 = 0;
    int bus2l = 0;
    int tot2 = 0;
    int grts2 = 0;
    int inte2 = 0;
    int assent1 = 0;
    int assent2 = 0;
    int grts1 = 0;
         
		 struct tm *DataAtual; 
         time_t Segundos;
         time(&Segundos);
         DataAtual = localtime(&Segundos); 
 
  while (menu1!=6){
        printf("\n        VIAGENS S.A");
        printf("\nSatisfacao do Cliente e a nossa motivacao!");
        printf("\n");
        printf("\n- - MENU - -");
        printf("\n1-Administrador");
        printf("\n2-Vendendor");
        printf("\n6-Sair");
        printf("\n");
        printf("\nopcao: ");
        scanf("%d", &menu1);
        system("cls");
        switch (menu1){
            case 1:
               printf("\nSeja bem vindo, Administrador!");
               printf("\nEntre com a senha:");
scanf("%d",&senha);
printf("\nVerificando...\n");
if(senha==1234) {

printf("Senha correta! Bem vindo.\n\n");
 while (menu2!=6){
  printf("\n\nESCOLHA UMA opção\n\n");
  printf("\n1-Cadastro de vendedores");
  printf("\n2-Cadastro de rotas");
  printf("\n3-Consultar passagens");
  printf("\n4-Venda de passagens");
  printf("\n5-Relatorio de venda por vendedor");
  printf("\n6-Sair");
  printf("\n Opcao");
  scanf("%d", &menu2);
  switch(menu2){
   case 1:
   	int num;
     struct regv vend[10];
              printf("\t\t\t\tCADASTRO DE VENDEDORES\n");
              printf("1-Para adicionar vendedor\n");
              printf("2-Para ver lista de vendedores\n");
              printf("0-  Sair\n");
              scanf("%d",&num);
              
              switch(num){
              case 1:
              	   for(i=0; i<3; i++)
                 {
                 fflush(stdin);
                 printf("\n\n\nDigite o nome: ");
                 gets(vend[i].nome);
                 fflush(stdin);
                 printf("Digite o RG: ");
                 gets(vend[i].rg);
                 fflush(stdin);
                 printf("Digite a data de nascimento:");
                 gets(vend[i].datanasc);
                 fflush(stdin);
                 printf("Digite o login de acesso:");
                 gets(vend[i].login);
                 fflush(stdin);
                 printf("Digite a senha de acesso:");
                 gets(vend[i].senha);
                 fflush(stdin);
                 }
              break;
              case 2:
              	 int i;
              	   for(i=0; i<3; i++)
          {
          printf("\n Nome do vendedor:  %s",vend[i].nome);
          printf("\n RG: %s",vend[i].rg);
          printf("\n Data de nascimento: %s",vend[i].datanasc);
          printf("\n Login: %s",vend[i].login);
          printf("\n Senha: %s",vend[i].senha);
          }
          break;
              case 0: exit(0);
              default: puts("TENTE NOVAMENTE");
               break;
              }
          

getche();

 break;
 case 2:
     struct registro vetor[10];

for(i=0; i<3; i++)
                 {
                 fflush(stdin);
                 printf("\n\n\nDigite o local de origem: ");
                 gets(vetor[i].origem);
                 fflush(stdin);
                 printf("Digite o destino: ");
                 gets(vetor[i].destino);
                 fflush(stdin);
                 printf("Digite o numero de poltronas:");
                 gets(vetor[i].poltronas);
                 fflush(stdin);
                 printf("Digite o valor da passagem:");
                 gets(vetor[i].valor);
                 fflush(stdin);
                 }
                 system("cls");
getche();


  break;
  case 3:
          for(i=0; i<3; i++)
          {
          printf("\n       SAIDA           DESTINO     VALOR      HORA DE SAIDA   ");           
          printf("\n%d        %s             %s           R$ %s        08:00 ~ 22:00",i,vetor[i].origem,vetor[i].destino,vetor[i].valor);                
          printf("\n");
          printf("\n");
          }
          break;
       
   case 4:
   	 for(i=0; i<3; i++)
          {
	            printf("\nVENDA DE PASSAGEM");
                printf("\n");
                printf("\n       SAIDA           DESTINO     VALOR      HORA DE SAIDA   ");           
                printf("\n%d        %s             %s           R$ %s        08:00 ~ 22:00",i,vetor[i].origem,vetor[i].destino,vetor[i].valor);          
                printf("\n");
                printf("\n");
            }
            printf("Digite a hora que deseja a passagem: 0800, 1400, 1800 e 2200.");
            scanf("%d",&hora);
             printf("\nDigite o Codigo do Onibus: ");
                scanf("%d", &bus);
                switch(bus){
                    case 0:
                        bus1++;
                        printf("\nOnibus 0 - %s para %s",vetor[0].origem,vetor[0].destino);
                        printf("\nValor: R$%s",vetor[0].valor);                  
                        printf("\nAssento: ");
                        scanf("%d", &assent1);
                        if (bus1>48) {
                        	printf("\nNao ha mais vagas para este onibus.");
                        	break;
						}
                        while (assent1>48) {
                            printf("\nEste Onibus possui apenas 48 assentos, por favor, digite um assento valido\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent1);
                            system ("pause");
                        }
 
                        while (poltrona1[assent1] == 1) {
                            printf("\nEste assento ja esta ocupado\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent1);
                            system ("pause");
                        }
 
                        poltrona1[assent1] = 1;
 
                        printf("\n");
                        printf("\n1 - Passagem Inteira");
                        if(gratuidade1 < 2){
                            printf("\n2 - Passagem GRATUITA");
                        }
                        else {
                        	printf("\n2 - Passagem GRATUITA [LIMITE EXCEDIDO]");
						}
                        printf("\n");
                        printf("\nDigite o Tipo de Passagem: ");
                        scanf("%d", &pas);
                        if(gratuidade1 >= 2){
                        	printf("\nLimite de gratuidades excedido.");
                        	break;
						}
                        switch(pas)
                        {
                            case 1:
                                inte1++;
                                printf("\n___________________________________________________________");
                                printf("\n|           Onibus 0 - VIAGENS S.A                        |");
                                printf("\n|Embarque: %s               | Desembarque: %s             |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d              |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: R$%s            Hora de Saida: %d                 |",vetor[0].valor,hora);
                                printf("\n|Tipo de Passagem: INTEIRA                                |");
                                printf("\n|Assento: %d                                              |", assent1);
                                printf("\n-----------------------------------------------------------");
                                printf("\n");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                break;
                            case 2:
                                grts1++; 
                                printf("\n___________________________________________________________");
                                printf("\n|           Onibus 0 - VIAGENS S.A                        |");
                                printf("\n|Embarque: %s          | Desembarque: %s                  |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Data: %02d/%02d/%04d  | Hora: %02d:%02d:%02d             |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: GRATIS          Hora de Saida: %d                 |",hora);
                                printf("\n|Tipo de Passagem: GRATUIDADE IDOSO                       |");
                                printf("\n|Assento: %d                                               |", assent1);
                                printf("\n-----------------------------------------------------------");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                gratuidade1 ++;
                                break;
                        }
                        break;
                    case 1:
                        bus2++;
                        printf("\nOnibus 1 - %s para %s",vetor[1].origem,vetor[1].destino);
                        printf("\nValor: R$%s",vetor[1].valor);                  
                        printf("\nAssento: ");
                        scanf("%d", &assent2);
                        if (bus2>48) {
                        	printf("\nNao ha mais vagas para este onibus.");
                        	break;
                        }
                        while (assent2>48) {
                            printf("\nEste Onibus possui apenas 48 assentos, por favor, digite um assento valido\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent2);
                            system ("pause");
                        }
 
                        while (poltrona2[assent2] == 1) {
                            printf("\nEste assento ja esta ocupado\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent2);
                            system ("pause");
                        }
 
                        poltrona2[assent2] = 1;
 
                        printf("\n");
                        printf("\n1 - Passagem Inteira");
                        if(gratuidade2 < 2){
                            printf("\n3 - Passagem GRATUITA");
                        }
                        else {
                        	printf("\n3 - Passagem GRATUITA [LIMITE EXCEDIDO]");
						}
                        printf("\n");
                        printf("\nDigite o Tipo de Passagem: ");
                        scanf("%d", &pas);
                        if(gratuidade2 >= 2){
                        	printf("\nLimite de gratuidades excedido.");
                        	break;
						}
                        switch(pas)
                        {
                            case 1:
                                inte2++;
                                printf("\n______________________________________________________________");
                                printf("\n|           Onibus 2 - VIAGENS S.A                           |");
                                printf("\n|Embarque: %s         | Desembarque: %s                      |",vetor[1].origem,vetor[1].destino);
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d                           |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: R$%s           Hora de Saida: %d                     |",vetor[1].valor, hora);
                                printf("\n|Tipo de Passagem: INTEIRA                                   |");
                                printf("\n|Assento: %d                                                  |", assent2);
                                printf("\n--------------------------------------------------------------");
                                printf("\n");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                break;
                            case 2:
                                grts2++; 
                                printf("\n______________________________________________________________");
                                printf("\n|           Onibus 2 - VIAGENS S.A                           |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Embarque: %s      | Desembarque: %s                         |");
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d                           |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: GRATIS         Hora de Saida: %d                     |",hora);
                                printf("\n|Tipo de Passagem: GRATUIDADE IDOSO                          |");
                                printf("\n|Assento: %d                                                  |", assent2);
                                printf("\n--------------------------------------------------------------");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                gratuidade2 ++;
                                break;
                        }
                             
                } 
                printf("\n");
            break;
}
 }

}
else
{
printf("Senha incorreta! Tente novamente. \n\n");

}

break;
case 2:
	struct regv vend[10];
	printf("\nDigite o login: ");
    scanf("%s",usuariod);
    printf("\nDigite sua senha: ");
    scanf("%s",senhad);
	 for (i=0;i<3;i++){
	
    if((strcmp(usuariod,vend[i].login)==0) and (strcmp(senhad,vend[i].senha)==0)){
       printf("\n\nESCOLHA UMA opção\n\n");
       printf("\n1-Consultar passagens");
       printf("\n2-Venda de passagens");
       printf("\n3-Sair");
       printf("\n Opcao");
       scanf("%d", &menu3);
       switch(menu3){
       	case 1:
       		struct registro vetor[10];
       		for(i=0; i<3; i++)
          {
          printf("\n       SAIDA           DESTINO     VALOR      HORA DE SAIDA   ");           
          printf("\n%d        %s             %s           R$ %s        08:00 ~ 22:00",i,vetor[i].origem,vetor[i].destino,vetor[i].valor);                
          printf("\n");
          printf("\n");
          }
	   
       break;
       case 2:
       	for(i=0; i<3; i++)
          {
	            printf("\nVENDA DE PASSAGEM");
                printf("\n");
                printf("\n       SAIDA           DESTINO     VALOR      HORA DE SAIDA   ");           
                printf("\n%d        %s             %s           R$ %s        08:00 ~ 22:00",i,vetor[i].origem,vetor[i].destino,vetor[i].valor);          
                printf("\n");
                printf("\n");
            }
            printf("Digite a hora que deseja a passagem: 0800, 1400, 1800 e 2200.");
            scanf("%d",&hora);
             printf("\nDigite o Codigo do Onibus: ");
                scanf("%d", &bus);
                switch(bus){
                    case 0:
                        bus1++;
                        printf("\nOnibus 0 - %s para %s",vetor[0].origem,vetor[0].destino);
                        printf("\nValor: R$%s",vetor[0].valor);                  
                        printf("\nAssento: ");
                        scanf("%d", &assent1);
                        if (bus1>48) {
                        	printf("\nNao ha mais vagas para este onibus.");
                        	break;
						}
                        while (assent1>48) {
                            printf("\nEste Onibus possui apenas 48 assentos, por favor, digite um assento valido\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent1);
                            system ("pause");
                        }
 
                        while (poltrona1[assent1] == 1) {
                            printf("\nEste assento ja esta ocupado\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent1);
                            system ("pause");
                        }
 
                        poltrona1[assent1] = 1;
 
                        printf("\n");
                        printf("\n1 - Passagem Inteira");
                        if(gratuidade1 < 2){
                            printf("\n2 - Passagem GRATUITA");
                        }
                        else {
                        	printf("\n2 - Passagem GRATUITA [LIMITE EXCEDIDO]");
						}
                        printf("\n");
                        printf("\nDigite o Tipo de Passagem: ");
                        scanf("%d", &pas);
                        if(gratuidade1 >= 2){
                        	printf("\nLimite de gratuidades excedido.");
                        	break;
						}
                        switch(pas)
                        {
                            case 1:
                                inte1++;
                                printf("\n___________________________________________________________");
                                printf("\n|           Onibus 0 - VIAGENS S.A                        |");
                                printf("\n|Embarque: %s               | Desembarque: %s             |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d              |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: R$%s            Hora de Saida: %d                 |",vetor[0].valor,hora);
                                printf("\n|Tipo de Passagem: INTEIRA                                |");
                                printf("\n|Assento: %d                                              |", assent1);
                                printf("\n-----------------------------------------------------------");
                                printf("\n");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                break;
                            case 2:
                                grts1++; 
                                printf("\n___________________________________________________________");
                                printf("\n|           Onibus 0 - VIAGENS S.A                        |");
                                printf("\n|Embarque: %s          | Desembarque: %s                  |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Data: %02d/%02d/%04d  | Hora: %02d:%02d:%02d             |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: GRATIS          Hora de Saida: %d                 |",hora);
                                printf("\n|Tipo de Passagem: GRATUIDADE IDOSO                       |");
                                printf("\n|Assento: %d                                               |", assent1);
                                printf("\n-----------------------------------------------------------");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                gratuidade1 ++;
                                break;
                        }
                        break;
                    case 1:
                        bus2++;
                        printf("\nOnibus 1 - %s para %s",vetor[1].origem,vetor[1].destino);
                        printf("\nValor: R$%s",vetor[1].valor);                  
                        printf("\nAssento: ");
                        scanf("%d", &assent2);
                        if (bus2>48) {
                        	printf("\nNao ha mais vagas para este onibus.");
                        	break;
                        }
                        while (assent2>48) {
                            printf("\nEste Onibus possui apenas 48 assentos, por favor, digite um assento valido\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent2);
                            system ("pause");
                        }
 
                        while (poltrona2[assent2] == 1) {
                            printf("\nEste assento ja esta ocupado\n");
                            printf("\nAssento: ");
                            scanf("%d", &assent2);
                            system ("pause");
                        }
 
                        poltrona2[assent2] = 1;
 
                        printf("\n");
                        printf("\n1 - Passagem Inteira");
                        if(gratuidade2 < 2){
                            printf("\n3 - Passagem GRATUITA");
                        }
                        else {
                        	printf("\n3 - Passagem GRATUITA [LIMITE EXCEDIDO]");
						}
                        printf("\n");
                        printf("\nDigite o Tipo de Passagem: ");
                        scanf("%d", &pas);
                        if(gratuidade2 >= 2){
                        	printf("\nLimite de gratuidades excedido.");
                        	break;
						}
                        switch(pas)
                        {
                            case 1:
                                inte2++;
                                printf("\n______________________________________________________________");
                                printf("\n|           Onibus 2 - VIAGENS S.A                           |");
                                printf("\n|Embarque: %s         | Desembarque: %s                      |",vetor[1].origem,vetor[1].destino);
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d                           |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: R$%s           Hora de Saida: %d                     |",vetor[1].valor, hora);
                                printf("\n|Tipo de Passagem: INTEIRA                                   |");
                                printf("\n|Assento: %d                                                  |", assent2);
                                printf("\n--------------------------------------------------------------");
                                printf("\n");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                break;
                            case 2:
                                grts2++; 
                                printf("\n______________________________________________________________");
                                printf("\n|           Onibus 2 - VIAGENS S.A                           |",vetor[0].origem,vetor[0].destino);
                                printf("\n|Embarque: %s      | Desembarque: %s                         |");
                                printf("\n|Data: %02d/%02d/%04d | Hora: %02d:%02d:%02d                           |", DataAtual->tm_mday, DataAtual->tm_mon+1, DataAtual->tm_year+1900, DataAtual->tm_hour, DataAtual->tm_min, DataAtual->tm_sec);                                
                                printf("\n|Valor: GRATIS         Hora de Saida: %d                     |",hora);
                                printf("\n|Tipo de Passagem: GRATUIDADE IDOSO                          |");
                                printf("\n|Assento: %d                                                  |", assent2);
                                printf("\n--------------------------------------------------------------");
                                printf("\nDigite 1 para imprimir passagem e voltar ao menu principal: ");
                                scanf("%d", &op);
                                gratuidade2 ++;
                                break;
                        }
                             
                } 
                printf("\n");
            break;
            default:
            	printf("Acao nao permitida");
       }
   }

   else 
   printf("Tente novamente.");
}
}
}
system("Pause");
}
Estou com duvida nessa parte.

A tela de relatório de vendas por vendedor deve mostrar a quantidade e o valor total das vendas de cada vendedor, nesse caso o case 5 do menu do administrador.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...