Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Guilherme Paiva

Problema na hora de cadastra os evento e cadastro de bebidas

Pergunta

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <locale.h>
#include <string.h>
struct bebidas
{
    char tipo1[50];
    char tipo2[50];
    char tipo3[50];
    char tipo4[50];
    float teor1,teor2,teor3,teor4;
    float valor_bebida1, valor_bebida2, valor_bebida3, valor_bebida4;
    float tt_bebidas;
    int cod;
} logb[100];
struct evento
{
    int quant_meia,quant_norm,quant_vip;
    int dia,mes,ano;
    int vazio,cod;
    int cont[100];
    char nome [30];
    char local[30];
    int quantidade;
    float lucro;
    float valor;
    float valor_ingres;
    int open,vend;
    struct bebidas logb;
} logE[100];

int verifica_pos(void);
int verifica_cod( int cod );
int opt;
void cadastroP(int cod,int pos);
void list();
void math();
void cadastrobebida();
void cadastroingress();
void consultaCod (void);
void excluirevento (void);

int main(void)  //INICIO DO MAIN
{
    setlocale(LC_ALL,"portuguese");
    int i,Opcao,Opevento,posicao,retorno,ingress;
    int codaux;
    do
    {
        printf("===================================\n");
        printf("1 - Cadastrar Evento\n");
        printf("2 - Pesquisar Evento \n");
        printf("3 - Ingressos Vendidos \n");
        printf("4 - Exibir Resultado Por Evento \n");
        printf("5 - Exibir Resultado Geral\n");
        printf("6 - Sair \n");
        printf("===================================\n");
        printf("Digite a Opção desejada\n");
        scanf("%d",&Opcao);
        getchar();
        if (Opcao == 1)
        {
            printf("Voce selecionou a opcao 1 - Cadastrar Novo Evento\n");
            posicao=verifica_pos();

            if ( posicao != -1 )
            {

                printf("\nEntre com um codigo de 1 a 50 se for evento open bar: \n");
                printf("\nEntre com um codigo de 51 a 100 Se for evento normal: \n");
                scanf("%d",&codaux);
                fflush(stdin);

                retorno = verifica_cod( codaux );

                if ( retorno == 1 )
                    cadastroP( codaux, posicao );
                else
                {
                    printf("\nCodigo ja existente ou invalido pressione enter para voltar ao menu principal\n");
                    getchar();
                    system("cls");
                    main();
                }

            }
            else
                printf("\nNao e possivel realizar mais cadastros!\n");

            break;

        }
        else if (Opcao == 2)
        {
            system("cls");
            do
            {
                printf("\t\t\t Voce selecionou a opcao 2 - Pesquisar eventos \t\t\t\n\n");
                printf("1 - Pesquisar Evento por codigo\n");
                printf("2 - Listar todos os Eventos\n");
                printf("3 - Cadastrar bebidas evento\n");
                printf("4 - Excluir Evento\n");
                printf("5 - Voltar ao menu principal\n");
                printf("Selecione uma opcao por favor: ");
                scanf("%d", &Opevento);
                getchar();
                if(Opevento == 1)
                {
                    consultaCod();
                }
                else if(Opevento == 2)
                {
                    list();
                }
                else if (Opevento == 3)
                {
                    printf("Voce selecionou a opcao 3 - Cadastrar Bebidas\n");
                    cadastrobebida();
                }
                else if (Opevento == 4)
                {
                    printf("Voce selecionou a opcao 4 - Excluir Evento\n");
                    excluirevento();
                }
                else if(Opevento == 5)
                {
                    printf("Voce selecionou voltar ao menu principal, pressione ENTER para continuar");
                    getchar();
                    system("cls");
                }
                else
                    printf("Opcao Invalida\n\n");
            }
            while(Opevento =!5 || Opevento > 5 || Opevento < 0 || Opevento == 0);
        }
        else if(Opcao == 3)
        {
                printf("\t\t\t Voce selecionou a opcao 3 - Ingressos vendidos \t\t\t\n\n");
                cadastroingress();
        }
        else if(Opcao == 4)
        {
                printf("\t\t\t Voce selecionou a opcao 4 - Resultado por evento  \t\t\t\n\n");
                math();
        }

        else if (Opcao == 6)
        {
            printf("Voce selecionou a opcao 6 - Sair\n");
            printf("Deseja Realmente sair aperte enter!!\n\n");

        }
        else
        {
            printf("Opcao invalida, favor pressione enter para voltar ao menu principal");            getchar();
            system("cls");
        }
    }
    while (Opcao != 6 || Opcao < 6);

} // FIM DO MAIN

void math()//Valor ingresso
{
   system("cls");
    int i;
    int Option;
    char nomeCad[200];
    do
    {
        printf("\nDigite o nome do evento  como esta no cadastro: ");
        gets(nomeCad);
        for(i=0; i<100; i++)
        {
            if(strcmp(logE[i].nome, nomeCad)==0)
            {

                logE[i].valor_ingres = logE[i].valor / logE[i].quantidade;
                logE[i].vend = logE[i].valor_ingres * logE[i].quant_norm;
                logE[i].lucro = logE[i].open - logE[i].valor;

                i++;
            }
        }
    }while(Option == 1);
    system("cls");
}
void cadastroP(int cod, int pos)  //Cadastro das pessoas
{
    int i;
    do
    {
        pos = verifica_pos();
        logE[pos].cod = cod;
        printf("\t\t\t================================\t\t\t\n",200,187);
        printf("\t\t\t | Cadastro Evento | \t\t\t\n ");
        printf("\t\t\t================================\t\t\t\n",200,187);

        printf("Digite o Nome do evento \n");
        fflush(stdin);
        gets(logE[pos].nome);

        printf("Digite o local do evento\n");
        fflush(stdin);
        gets(logE[pos].local);

        printf("Quantidade de ingresso\n");
        fflush(stdin);
        scanf("%d", &logE[pos].quantidade);

        printf("Custo total do Evento\n");
        fflush(stdin);
        scanf("%f", &logE[pos].valor);

        printf("Data do Evento em modo(dd/mm/aaaa)\n");
        printf("Data de Realizaçao \n");
        fflush(stdin);
        scanf("%d",&logE[pos].dia);
        scanf("%i",&logE[pos].mes);
        scanf("%i",&logE[pos].ano);

        logE[pos].vazio = 1;

        printf("\nDigite 1 para efetuar novo cadastro ou qualquer outra tecla para volar ao menu principal");
        scanf("%d", &opt);
     //opt ==1;
     //getchar();
    }
    while(opt==1);
    system("cls");
    main();

} // FIM DO CADASTRO DE PESSOAS

void cadastrobebida()  //Cadastro de bebidas
{
    system("cls");
    int i;
    int Option;
    char nomeCad[200];
    do
    {
        printf("\nDigite o nome do evento  como esta no cadastro: ");
        gets(nomeCad);
        for(i=0; i<100; i++)
        {
            if(strcmp(logE[i].nome, nomeCad)==0)
            {

                printf("\t\t\t================================\t\t\t\n",200,187);
                printf("\t\t\t | Cadastro bebidas | \t\t\t\n ");
                printf("\t\t\t================================\t\t\t\n",200,187);

                printf("Entre com o primeiro tipo de de bebida\n ");
                fflush(stdin);
                gets(logb[i].tipo1);
                printf("Teor Alcolico da bebida");
                fflush(stdin);
                scanf("%f",&logb[i].teor1);
                printf("Entre com o Valor da Bebida:\n ");
                fflush(stdin);
                scanf("%f",&logb[i].valor_bebida1);
                printf("Entre com o segundo tipo de bebida\n ");
                fflush(stdin);
                gets(logb[i].tipo2);
                printf("Teor Alcolico da bebida");
                fflush(stdin);
                scanf("%f",&logb[i].teor2);
                printf("Entre com o Valor da Bebida:\n ");
                fflush(stdin);
                scanf("%f",&logb[i].valor_bebida2);
                printf("entre com o terceiro tipo de bebida\n ");
                fflush(stdin);
                gets(logb[i].tipo3);
                printf("Teor Alcolico da bebida");
                fflush(stdin);
                scanf("%f",&logb[i].teor3);
                printf("Entre com o Valor da Bebida:\n ");
                fflush(stdin);
                scanf("%f",&logb[i].valor_bebida3);
                printf("entre com o quarto tipo de bebida\n ");
                fflush(stdin);
                gets(logb[i].tipo4);
                printf("Teor Alcolico da bebida");
                fflush(stdin);
                scanf("%f",&logb[i].teor4);
                printf("Entre com o Valor da Bebida:\n ");
                fflush(stdin);
                scanf("%f",logb[i].valor_bebida4);

                printf("\nPressione 1 para continuar cadastrando ou 2 para voltar ao menu principal: ");
                scanf("%d", &Option);
                i++;
            }
        }
    }
    while(Option == 1);
    system("cls");
} // FIM DO CADASTRO DE BEBIDAS.

void cadastroingress()  //Cadastro dos ingressos
{
    system("cls");
    int i;
    int Option;
    char nomeCad[200];
    do
    {
        printf("\nDigite o nome do evento  como esta no cadastro: ");
        gets(nomeCad);
        for(i=0; i<100; i++)
        {
            if(strcmp(logE[i].nome, nomeCad)==0)
            {

                printf("\t\t\t================================\t\t\t\n",200,187);
                printf("\t\t\t |  Ingressos Vendidos | \t\t\t\n ");
                printf("\t\t\t================================\t\t\t\n",200,187);

                printf("Entre Com A Quantidade de Ingressos open bar \n ");
                fflush(stdin);
                scanf("%2d",logE[i].quant_vip);
                printf("Entre Com A Quantidade de Ingressos normal\n");
                fflush(stdin);
                scanf("%d",logE[i].quant_norm);
                printf("Entre Com A Quantidade de Ingressos Meia\n ");
                fflush(stdin);
                scanf("%d",logE[i].quant_meia);


                printf("\nPressione 1 para continuar cadastrando ou 2 para voltar ao menu principal: ");
                scanf("%d", &Option);
                i++;
            }
        }
    }
    while(Option == 1);
    system("cls");
} // FIM DO CADASTRO DE INGRESSOS.

void list()  // Lista os usuarios cadastrados.
{
    int i,j;
    for(i=0; i<100; i++)
    {
        if(logE[i].cod!=NULL)
        {
            printf("\nCodigo: %d \nNome: %s\nlocal: %s\ndata: %d/%i/%i\n\n", logE[i].cod,logE[i].nome,logE[i].local,logE[i].dia,logE[i].mes,logE[i].ano);
        }
    }
    printf("Nenhum codigo cadastrado!!\n");
    printf("Pressione enter para volta ao menu principal");
    getchar();
    system("cls");

} //FIM DO LIST

int verifica_pos( void ) //VERIFICADOR DA POSIÇÃO
{
    int cont = 0;

    while ( cont <= 100 )
    {

        if ( logE[cont].vazio == 0 )
            return(cont);

        cont++;

    }

    return(-1);

} // FIM DO VERIFICADOR
int verifica_cod( int cod ) // VERIFICADOR DE CÓDIGO
{
    int cont = 0;

    while ( cont <= 100 )
    {
        if ( logE[cont].cod == cod )
            return(0);

        cont++;
    }

    return(1);

} // FIM DO VERIFICADOR
void consultaCod (void) // CONSULTAR 1 CADASTRADO QUALQUER VIA CÓDIGO DADO POR USUÁRIO.
{
    int cont = 0, cod;

    printf("\nEntre com o codigo\n");
    scanf("%d",&cod);
    fflush(stdin);
    system("cls");

    while ( cont <= 100 )
    {

        if (logE[cont].cod==cod)
        {
            if (logE[cont].vazio==1)
            {
               if (cont<=50)
                {
                printf("Evento open Bar\n");
                printf("\nCodigo: %d \nNome: %s\nLocal: %s\nData: %d/%i/%i\n\n", logE[cont].cod,logE[cont].nome,logE[cont].local,logE[cont].dia,logE[cont].mes,logE[cont].ano);


                system ("pause");
                }else if(cont>50)
                {
                    printf("Evento normal");

                printf("\nCodigo: %d \nNome: %s\nLocal: %s\nData: %d/%d/%d\n\n", logE[cont].cod,logE[cont].nome,logE[cont].local,logE[cont].dia,logE[cont].mes,logE[cont].ano);


                system ("pause");

                }
                system("cls");

                break;

            }
        }

        cont++;

        if ( cont > 100 )
        {
            printf("\nCodigo nao encontrado, pressione enter para volar ao menu principal\n");
            getchar();
            system("cls");
        }

    }
} // FIM DA FUNÇÃO CONSULTAR
void excluirevento(void)  // EXCLUI CLIENTE
{
    int cod, cont = 0;
    char resp;
    printf("\nEntre com o codigo do registro que deseja excluir: \n");
    scanf("%d", &cod );

    while ( cont <= 100 )
    {

        if ( logE[cont].cod == cod )
        {

            if (logE[cont].vazio == 1 )
            {
                printf("\nCodigo: %d \n nome: %c \n data: %d//%d//%d \n local: %c \n",logE[cont].cod,logE[cont].nome,logE[cont].dia,logE[cont].mes,logE[cont].ano,logE[cont].local);
                getchar();
                printf("\nDeseja realmente excluir? s/n: ");
                scanf("%s",&resp);

                if ( ( resp == 'S' ) || ( resp == 's' ) )
                {
                    logE[cont].vazio=0;
                    logE[cont].cod = NULL;
                    printf("\nExclusao feita com sucesso\n");
                    break;
                }
                else
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        printf("Exclusao cancelada!\n");
                        break;
                    }
                }

            }

        }

        cont++;

        if ( cont > 100 )
            printf("\nCodigo nao encontrado\n");

    }

    system("pause");
    system("cls");

}

Um promoter  deseja controlar todos os eventos dos quais participa e você foi
contratado para resolver esse problema.
Assim que começou o trabalho, você ficou sabendo que o cadastro de um evento necessita de:
identificador único (um código inteiro), nome, local, data da realização, quantidade de ingressos
colocados à venda, custos de organização e valor da entrada.
Foi-lhe informado também que existem sempre três valores de entrada: o 1o valor, para as entradas do
tipo popular; o 2o valor, para as entradas do tipo normal e o 3o valor para as entradas do tipo especial.
Alguns desses eventos são festas open bar, possuindo assim, além de todas as informações anteriores,
uma relação das quatro bebidas que serão servidas. As informações das bebidas, por sua vez, são nome,
teor alcóolico e valor unitário.
O valor das entradas populares é calculado automaticamente, da seguinte forma:
 eventos open bar: R$ 60,00 mais 50% do valor unitário de cada bebida que será servida;
 demais eventos: custo de organização dividido pela quantidade de ingressos colocados à venda.
O valor da entrada normal é o valor da entrada popular mais 10% desse mesmo valor. Já o valor da
entrada especial é o valor da entrada normal mais 15% desse mesmo valor.
Você deverá implementar um sistema que cadastre os eventos desse promoter. O cadastro dos eventos
deverá ser finalizado quando for inserido 0 (zero) para o identificador único.
O sistema deverá funcionar com o seguinte menu de opções:
1 – Cadastrar evento
2 – Pesquisar evento
3 – Ingressos vendidos
4 – Exibir resultado por evento
5 – Exibir resultado geral
6 – Sair
Instituto Federal do Triângulo Mineiro - Campus Paracatu
Tecnólogo em Análise e Desenvolvimento de Sistemas
Trabalho de Conclusão da Disciplina
Disciplina: Algoritmos Turma: ADS1
Professor: Gustavo Alexandre de Oliveira Silva
Aluno (a):
Data: Valor: 16,0 pts Resultado:
A opção 1 cadastra os dados de cada evento: identificador único, nome, local, data da realização,
quantidade de ingressos colocados à venda, custos de organização e valor da entrada.
A opção 2 pesquisa os dados de cada evento, através do seu identificador único e exibe todos os dados
na tela.
A opção 3 pesquisa os dados de cada evento, através do seu identificador único e insere a quantidade de
ingressos (popular, normal ou especial) que foram vendidos para o respectivo evento. Feito isso, o
sistema deverá calcular se o respectivo evento teve lucro ou prejuízo.
A opção 4 exibe o resultado (lucro ou prejuízo) de um dado evento, informado pelo usuário através do
seu identificar único.
A opção 5 exibe o saldo atual do promoter, levando em consideração todos os eventos já realizados.
A opção 6 encerra o programa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 respostas a esta questão

Recommended Posts

Até agora não há respostas para essa pergunta


  • Conteúdo Similar

    • Por biza
      Ola
      Estou  a construir um datalogger em código C.Desta forma necessito passar os dados entre ficheiros. O meu problema está na inclusão de algumas variáveis no topo de um arquivo .txt onde os dados são salvos. Variáveis como tempo de data e hora, id do dispositivo e muito mais... Para isso preciso de ajuda, gostaria que os dados estivessem disponíveis para todos os arquivos, até aí é fácil, basta incluir a variável como extern, no arquivos *.h e incluí-lo em todos os outros que você deseja que a variável esteja disponível. mas como posso fazer para ter acesso a ele dentro do array que preciso?
      Exemplo: main.c
      #include "main.h" char dateTimeFormat[24]; void main(void){ dateTimeFormat = "22-02-22 13:23:04"; } main.h
      extern char dateTimeFormat[24];  
      teste.c
       
      #include "main.h" extern char dateTimeFormat[24]; /*Header .txt file initialization*/ volatile char headerFile[] ="\n\n" "# HEALT MONITORING SYSTEM \r\n" "# DEVELOPED: BIZA \r\n" "# VERSION: B \r\n" "# DATATIMECAPTURE:"+dateTimeFormat+ "\r\n" "# SAMPLINGFREQUENCY: 500 \r\n" "# SAMPLECHANNELS: 1 2 3 4 5 6 7 8 \r\n" "# SAMPLINGRESULUTION: 24 \r\n" "# IDDEVICE: HEALTHY \r\n" "# ENDOFHEADER  
      Como posso incluir a variável "dateTimeFormat" dentro do headerFile como descrevi acima?
       
    • Por oromotoceu
      #include <stdio.h>
      #include <stdlib.h>
      #define MAXTAM 1000
      int Frente, Tras, Lista[MAXTAM];
      void Lista_Construtor(){
      Frente=0;
      Tras=-1;
      }
      int Lista_Vazia(){
      if(Tras==-1)
      return 1;
      else
      return 0;
      }
      int Lista_Cheia(){
      if(Tras==MAXTAM-1)
      return 1;
      else
      return 0;
      }
      int Lista_Tamanho(){
      return Tras+1;
      }
      int Lista_Inserir_Inicio(int Valor){
      if(Lista_Cheia()){
      return 0;
      }else{
      /*se quero inserir na posição 0,
      vou deslocar todos os elementos para frente*/
      for(int i=Tras+1;i>Frente;i--){
      Lista=Lista[i-1];
      }
      Lista[Frente]=Valor;
      Tras++;
      return 1;
        }
      }
      int Lista_Inserir_Fim(int Valor){
      if(Lista_Cheia()){
      return 0;
      }else{
      Tras++;
      Lista[Tras]=Valor;
      return 1;
        }
      }
      int Lista_Inserir(int Valor, int Posicao){
      if(Lista_Cheia()){
      return 0;
      }else{
      /* Para verificar se a posição
      está no meio da lista */
      if(Posicao>Frente && Posicao<Tras){
      for(int i=Tras+1;i>Posicao;i--){
      Lista=Lista[i-1];
      }
      Lista[Posicao]=Valor;
      Tras++;
      return 1;
      }else{ 
      return 0;
         }
        }
      }
      int Lista_Remover_Inicio(int *Valor){
      if(Lista_Vazia()){
      return 0;
      }else{
      *Valor =Lista[Frente];
      for(int i=Frente;i<Tras;i++){
      Lista=Lista[i+1];
         }
      Tras--;
        }
      }
      int Lista_Remover_Fim(int *Valor){
      if(Lista_Vazia()){
      return 0;
      }else{
      *Valor=Lista[Tras];
      Tras--;
      return 1;
        }
      }
      int Lista_Remover(int *Valor, int Posicao){
      if(Lista_Vazia()){
      return 0;
      }else{
      if(Posicao>Frente && Posicao<Tras){
      *Valor=Lista[Posicao];
      for(int i=Posicao;i<Tras;i++){
      Lista=Lista[i+1];
      }
      Tras--;
      return 1;
         }
        }
      }
      int Lista_Get_toda(int *Valor){
      if(Lista_Vazia()){
      return 0;
      }else{
      *Valor=Lista[Frente];
      return 1;
        }
      }
      int Lista_Get_inicio(int *Valor){
      if(Lista_Vazia()){
      return 0;
      }else{
      *Valor=Lista[Frente];
      return 1;
        }
      }
      int Lista_Get_Fim(int *Valor){
      if(Lista_Vazia()){
      return 0;
      }else{
      *Valor=Lista[Tras];
      return 1;
        }
      }
      int Lista_Busca_Valor(int Valor, int *Posicao){
      int i;
      if(Lista_Vazia()){
      return 0;
      }else{
      for(i=Frente;i<Tras;i++){
      if(Lista==Valor){
      break;
        }
      }
      if(i==Tras){
      return 0;
      }else{
      *Posicao=i; 
      return 1;
         }
        }
      }
      int Lista_Busca_Posicao(int *Valor, int Posicao){
      if(Lista_Vazia()){
      return 0;
      }else{
      if(Posicao>Frente && Posicao<Tras){
      *Valor=Lista[Posicao];
      return 1;
      }else{
      return 0;
         }
        }
      }
      int main(){
      int i,Valor,op=0,pos;
      Lista_Construtor();
      while(op!=12){
      printf("*** Menu de opções ***\n");
      printf("1-Inserir início\n");
      printf("2-Inserir fim\n");
      printf("3-Inserir meio\n");
      printf("4-Excluir início\n");
      printf("5-Excluir fim\n");
      printf("6-Excluir meio\n");
      printf("7-Mostrar toda lista\n");
      printf("8-Mostrar primeiro item da lista\n");
      printf("9-Mostrar último item da lista\n");
      printf("10-Mostrar a posição de um item da lista\n");
      printf("11-Mostrar o valor de uma posição\n");
      printf("12-Sair\n");
      printf("Escolha uma opção: ");
      scanf("%d", &op);
      switch(op){
          case 1:
              printf("Digite o valor a ser inserido: ");
              scanf("%d", &Valor);
              Lista_Inserir_Inicio(Valor);
              break;
          case 2:
              printf("Digite o valor a ser inserido: ");
              scanf("%d", &Valor);
              Lista_Inserir_fim(Valor);
              break;
            case 3:
              printf("Digite o valor a ser inserido: ");
              scanf("%d", &Valor);
              printf("Digite a posição que deseja inserir: ");
              scanf("%d", &pos);
              Lista_ Inserir_meio(int Valor, pos); 
              break;
            case 4:
              printf("Digite a remoção do início: ");
              scanf("%d", &*Valor);
              Lista_ Excluir_inicio(*Valor); 
              break;
              case 5:
              printf("Digite a remoção do fim: ");
              scanf("%d", &*Valor);
              Lista_ Excluir_fim(*Valor); 
              break;
              case 6:
              printf("Digite a remoção do meio: ");
              scanf("%d", &Valor);
              printf("Digite a posição que deseja remover: ");
              scanf("%d", &*Posicao);
              Lista_ Excluir_meio(intValor, * pos); 
              break;
               case 7:
              printf("Digite ao a mostrar toda lista: ");
              scanf("%d", &Valor);
              Lista_ mostrar_toda_lista(Valor);
              break;
             case 8:
              printf("Digite ao a mostrar primeiro item da lista: ");
              scanf("%d", &*Valor);
              Lista_ mostrar_primeiro_item_da_lista(*Valor);
              break;
             case 9:
              printf("Digite ao a mostrar último item da lista: ");
              scanf("%d", &*Valor);
              Lista_ mostrar_ultimo_item_da_lista(*Valor);
              break;
              case 10:
              printf("Digite ao a mostrar a posição de um item da lista: ");
              scanf("%d", &Valor);
              printf("Digite a posição que deseja mostrar na lista: ");
              scanf("%d", &* pos);
              Lista_ mostrar_posicao_de_um_item_da_lista(intValor, *pos);
              break;
              case 11:
              printf("Digite ao a mostrar o valor de uma posição: ");
              scanf("%d", &*Valor
              printf("Digite a posição que deseja mostrar no valor: ");
              scanf("%d", &pos);
              Lista_ mostrar_posicao_de_um_valor_da_lista(int*Valor, pos);
              break;
              case 12:
              default:
              printf("Valor Invalido!\n");
              system("PAUSE");
               }
         }
       return 0;
      }
    • Por oromotoceu
      bom dia pode me ajudar nessa questão por favor
      O programa deverá trabalhar dados de um veículo, onde será armazenado, Nome do proprietário, placa do carro, modelo do carro e preço do carro.
      O programa deve ter as seguintes opções:
      Inserir dados (todos os dados sugeridos no enunciado acima).
      Excluir um Carro específico com a busca pela placa.
      Editar dados de um Carro com a busca pela placa.
      Consultar carro por Placa.
      Exibir todos os dados cadastrados.
      Finalizar programa.
      A opção exibir todos os dados, apresenta tudo que já foi cadastrado e está na memória.
       
    • Por TK_T
      olá sou iniciante consegui fazer um o código de um exercício só que quando eu peço o valor 12ab ele lê como numérica alguém pode me ajudar? 
      Exercício: Leia uma string e diga se a mesma é numérica (na base decimal) ou não.
      Ex.: "123" -> numérica
      "abc" -> não numérica
      "12ab" -> não numérica
      "12.34" -> numérica 
      #include <stdio.h> int main() { char Numero; printf("Digite Algo: "); scanf("%c", &Numero); if(Numero == '1' || Numero == '2' || Numero == '3' || Numero == '4' || Numero == '5' || Numero == '6' || Numero == '7' || Numero == '8' || Numero== '9' || Numero == '0') printf("\tNumérica...\n"); else printf("\tNão Numérica\n"); return 0; }  
    • Por cgm2k7
      Boa noite!
      Bom preciso de uma dica/ajuda em uma problema...
      tenho duas structs, LIST e NO.  lista duplamente encadeada.
      //insiro/crio 100.000 nos.
       
      struct no{ char *nome; char sexo; float nota; float media; int id; struct no *next, *prev; }; struct list{ long int size_list; struct no *begin, *end; }; typedef struct no NO; typedef struct list LIST; for(int y = 0; y < 100000; y++) inserir_inicio(*list); void CreateNo(NO **no) { *no = (NO*)calloc(1,sizeof(NO)); if (*no) { (*no)->nome = "cicero"; (*no)->sexo = 'M'; (*no)->nota = 0.0; (*no)->media = 1; (*no)->id++; (*no)->next = NULL; (*no)->prev = NULL; is_Ok = true; } else { printf("ERRO: Ao alocar memoria em 'void CreateNo(NO **no)'\n"); is_Ok = false; return; } } void inserir_inicio(LIST *list) { NO *no; CreateNo(&no); if (is_Ok) { no->next = list->begin; list->begin = no; list->size_list++; } } // destroy os nos void DestoyList(LIST **list) { if ((*list)->begin == NULL) { free(*list); printf("Lista vazia!\n\n"); } else { NO *p = (*list)->begin, *tmp = NULL; while (p != NULL) { tmp = p; p = p->next; /*tmp->nome = "0"; tmp->sexo = '\0'; tmp->id = 0; tmp->media = 0;*/ free(tmp); } free(p); (*list = NULL); } } o problema é o seguinte:
      quando inicio o aplicativo ele começão com 512kb, quando criando  100.000  na memoria heap, aumenta para mais ou menos uns 7,8mb, bom ate aqui tudo oks
      mas quando delete este nos com o free() esperava eu q retornasse para os mesmo 512kb inicias do aplicativo, mas isso não acontece, ele retorna para 1,3mb.
      minha pergunta é: porque não deleta tudo, já setei zeros e para todos os membros da struct no mas mesmo assim não deleta tudo.
      Se alguém poder meda da uma dica. OBS: não quero código  pronto eu quero apenas dicas se possível bem explicada porque sou meio novato em c kkk.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.