Boa Noite , To fazendo um sistema de venda de passagens mais tem umas partes que
não to conseguindo completar , algumas eu já fiz , fui olhando em forum entre
outros , peguei alguns codigos como referencia , mais ainda não sei por onde terminar
O sistema consiste em cadastrar cliente (OK) , Cadastrar Viagem(OK) , Comprar Passagem (não dei conta , e ainda por cima se for idoso colocar tarifa de 100% de gratuidade e 50% para estudante e ainda listar na tela como se fosse um ticket ) , Listar o numero de poltronas é 44 , cada passageiro não poderá ter a mesma poltrona e avisar se a mesma estiver já compra , e o Caixa mostrar o saldo de tudo arrecadado no dia , até ai tudo bem consegui arrumar um pouco
na opção if(op==3) {
não consigo executar o comando não aparece na tela a função do código que deveria
exibir a compra da passagem mais , não sei o que ta errado
alguém pode me ajudar , ou tirar a duvida? agradeço muito
//função gravar void gravar(struct Rodoviaria a[1000],int fim) { FILE *arq; int teste,i; arq = fopen("arquivo.txt","wb"); // w = cria arquivo, b = modo binario if(arq != NULL) { for(i=0;i<fim;i++) { teste = fwrite(&a,sizeof(struct Rodoviaria),1,arq); if (teste !=1) // retorna 1 gravou e 0 senao gravou { printf("erro ao salvar"); getch(); } } fclose(arq); } else { printf("erro ao abrir arquivo"); } }
//função carregar int carregar(struct Rodoviaria a[1000]) // abre arquivo e carrega no vetor { FILE *arq; int teste,percorre=0; struct Rodoviaria registro;
arq = fopen("arquivo.txt","rb"); if(arq != NULL) { while (!feof(arq)) // diferente do fim do arquivo? { teste = fread(®istro,sizeof(struct Rodoviaria),1,arq); if (teste ==1) // se conseguiu ler { a[percorre] = registro; percorre++; } } fclose(arq);
} return percorre;
}
int main ()
{
struct Rodoviaria vet[1000]; int ultimo=0, op=0,i,j,x,codonibus=0,qtd=0,onibus[100]; char nomedestino[100];
//carrega vetor for (i=0;i<44;i++) {
qtd++; onibus = qtd;
}
while(op !=4) {
ultimo = carregar(vet); //abre arquivo e carrega para o vetor printf ("======================================MENU======================================\n"); printf ("1 - Cadastrar passageiro :\n"); printf ("3 - Cadastrar viagem :\n"); printf ("3 - Comprar passagem :\n"); printf ("4 - Listar Lista de passageiros :\n"); printf ("5 - Sair :\n\n"); fflush (stdin); scanf ("%d",&op); fflush (stdin);
if(op==1) {
printf("Digite o Nome do Passageiro:"); scanf ("%d",&vet[ultimo].codigo); fflush(stdin); fgets (vet[ultimo].nomepassager,100,stdin); printf("Digite o Endereco:"); fflush(stdin); fgets(vet[ultimo].endereco,20,stdin); printf("Digite o Telefone:"); fflush(stdin); fgets(vet[ultimo].tel,12,stdin); printf("Digite o CPF:"); fflush(stdin); fgets(vet[ultimo].cpf,28,stdin); printf("Digite o RG:"); fflush(stdin); fgets(vet[ultimo].rg,16,stdin); printf("Digite a Idade:"); fflush(stdin); fgets(vet[ultimo].idade,100,stdin); ultimo++; gravar(vet,ultimo); //função para gravar vetor no arquivo .txt onibus = vet[ultimo].codigo; printf("\n"); printf("Cadastro Realizado com sucesso !\n\n"); system("pause");
}
if(op==2) printf("Informe Codigo do Onibus:"); scanf ("%d",&vet[ultimo].codigo); printf("Informe Destino de Viagem :"); fflush(stdin); fgets (vet[ultimo].destinoviagem,100,stdin); fflush(stdin); printf("Informe Horario de Partida da Viagem:"); scanf ("%d",&vet[ultimo].horapartida); ultimo++; gravar(vet,ultimo); //função para gravar vetor no arquivo .txt onibus = vet[ultimo].codigo; printf("\n"); printf("Cadastro Realizado com sucesso !\n\n"); system("pause");
if(op==3) {
printf("Informe Destino de Viagem :"); fflush(stdin); fgets(nomedestino,100,stdin); fflush(stdin); ultimo++; gravar(vet,ultimo); //função para carregar vetor no arquivo .txt onibus = vet[ultimo].codigo; printf("\n");
for(i=0;i<ultimo;i++) { x = strcmp(vet.destinoviagem,nomedestino);
if (x == 0) { printf ("=======================\n"); printf("Codigo do Onibus :%d\n",vet.codigo); printf("Horario de Partida :%d\n",vet.horapartida); printf("\n"); } }
printf("Informe o codigo do onibus desejado:"); scanf("%d",&codonibus);
for(i=0;i<ultimo;i++) // laço no arquivo { if(vet.codigo == codonibus) // se codigo do arquivo == codigo digitado { printf("\n"); for(i=0;i<44;i++) {}
Pergunta
Daron14
Boa Noite ,
To fazendo um sistema de venda de passagens mais tem umas partes que
não to conseguindo completar , algumas eu já fiz , fui olhando em forum entre
outros , peguei alguns codigos como referencia , mais ainda não sei por onde terminar
O sistema consiste em cadastrar cliente (OK) , Cadastrar Viagem(OK) ,
Comprar Passagem (não dei conta , e ainda por cima se for idoso colocar
tarifa de 100% de gratuidade e 50% para estudante e ainda listar na tela como
se fosse um ticket ) , Listar o numero de poltronas é 44 , cada passageiro
não poderá ter a mesma poltrona e avisar se a mesma estiver já compra , e o
Caixa mostrar o saldo de tudo arrecadado no dia , até ai tudo bem consegui arrumar um pouco
na opção if(op==3) {
não consigo executar o comando não aparece na tela a função do código que deveria
exibir a compra da passagem mais , não sei o que ta errado
alguém pode me ajudar , ou tirar a duvida? agradeço muito
segue o código abaixo
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>
struct Rodoviaria
{
int codigo;
int horapartida;
int preço;
int poltrona[44];
char destinoviagem[100];
char nomepassager[100];
char endereco[20];
char cpf[28];
char rg[16];
char tel[12];
char idade[100];
};
//função gravar
void gravar(struct Rodoviaria a[1000],int fim)
{
FILE *arq;
int teste,i;
arq = fopen("arquivo.txt","wb"); // w = cria arquivo, b = modo binario
if(arq != NULL)
{
for(i=0;i<fim;i++)
{
teste = fwrite(&a,sizeof(struct Rodoviaria),1,arq);
if (teste !=1) // retorna 1 gravou e 0 senao gravou
{
printf("erro ao salvar");
getch();
}
}
fclose(arq);
}
else
{
printf("erro ao abrir arquivo");
}
}
//função carregar
int carregar(struct Rodoviaria a[1000]) // abre arquivo e carrega no vetor
{
FILE *arq;
int teste,percorre=0;
struct Rodoviaria registro;
arq = fopen("arquivo.txt","rb");
if(arq != NULL)
{
while (!feof(arq)) // diferente do fim do arquivo?
{
teste = fread(®istro,sizeof(struct Rodoviaria),1,arq);
if (teste ==1) // se conseguiu ler
{
a[percorre] = registro;
percorre++;
}
}
fclose(arq);
}
return percorre;
}
int main ()
{
struct Rodoviaria vet[1000];
int ultimo=0, op=0,i,j,x,codonibus=0,qtd=0,onibus[100];
char nomedestino[100];
//carrega vetor
for (i=0;i<44;i++)
{
qtd++;
onibus = qtd;
}
while(op !=4)
{
ultimo = carregar(vet); //abre arquivo e carrega para o vetor
printf ("======================================MENU======================================\n");
printf ("1 - Cadastrar passageiro :\n");
printf ("3 - Cadastrar viagem :\n");
printf ("3 - Comprar passagem :\n");
printf ("4 - Listar Lista de passageiros :\n");
printf ("5 - Sair :\n\n");
fflush (stdin);
scanf ("%d",&op);
fflush (stdin);
if(op==1)
{
printf("Digite o Nome do Passageiro:");
scanf ("%d",&vet[ultimo].codigo);
fflush(stdin);
fgets (vet[ultimo].nomepassager,100,stdin);
printf("Digite o Endereco:");
fflush(stdin);
fgets(vet[ultimo].endereco,20,stdin);
printf("Digite o Telefone:");
fflush(stdin);
fgets(vet[ultimo].tel,12,stdin);
printf("Digite o CPF:");
fflush(stdin);
fgets(vet[ultimo].cpf,28,stdin);
printf("Digite o RG:");
fflush(stdin);
fgets(vet[ultimo].rg,16,stdin);
printf("Digite a Idade:");
fflush(stdin);
fgets(vet[ultimo].idade,100,stdin);
ultimo++;
gravar(vet,ultimo); //função para gravar vetor no arquivo .txt
onibus = vet[ultimo].codigo;
printf("\n");
printf("Cadastro Realizado com sucesso !\n\n");
system("pause");
}
if(op==2)
printf("Informe Codigo do Onibus:");
scanf ("%d",&vet[ultimo].codigo);
printf("Informe Destino de Viagem :");
fflush(stdin);
fgets (vet[ultimo].destinoviagem,100,stdin);
fflush(stdin);
printf("Informe Horario de Partida da Viagem:");
scanf ("%d",&vet[ultimo].horapartida);
ultimo++;
gravar(vet,ultimo); //função para gravar vetor no arquivo .txt
onibus = vet[ultimo].codigo;
printf("\n");
printf("Cadastro Realizado com sucesso !\n\n");
system("pause");
if(op==3)
{
printf("Informe Destino de Viagem :");
fflush(stdin);
fgets(nomedestino,100,stdin);
fflush(stdin);
ultimo++;
gravar(vet,ultimo); //função para carregar vetor no arquivo .txt
onibus = vet[ultimo].codigo;
printf("\n");
for(i=0;i<ultimo;i++)
{
x = strcmp(vet.destinoviagem,nomedestino);
if (x == 0)
{
printf ("=======================\n");
printf("Codigo do Onibus :%d\n",vet.codigo);
printf("Horario de Partida :%d\n",vet.horapartida);
printf("\n");
}
}
printf("Informe o codigo do onibus desejado:");
scanf("%d",&codonibus);
for(i=0;i<ultimo;i++) // laço no arquivo
{
if(vet.codigo == codonibus) // se codigo do arquivo == codigo digitado
{
printf("\n");
for(i=0;i<44;i++)
{}
}
}
printf("\n");
system("pause");
}
}
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.