Ir para conteúdo
darthmagus

Me ajudem a resolver um exercício, por favor! E se possível, me mostrem como entender melhor estruturas de repetição.

Recommended Posts

Escreva um programa que calcule a média dos números digitados pelo usuário, se eles forem pares. O programa deve terminar a leitura se o usuário digitar zero.

 

Isso foi o que fiz até agora, mas não deu muito certo:

 

  main(void){
        setlocale(LC_ALL,"Portuguese");
        int n1, n2, n3;
        float media;
        int i;

        printf("Digite o 1º número: ");
        scanf("%d", &n1);

        printf("Digite o 2º número: ");
        scanf("%d", &n2);

        printf("Digite o 3º número: ");
        scanf("%d", &n3);

        while (n1%2 ==0 && n2%2 ==0 && n3%2 == 0) {
            media = (n1 + n2 + n3)
        }

        printf("%d", media);

    return 0;
    system ("pause");
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@darthmagus,  nessa situação não faz muito sentido usar o while. Tu poderia fazer 3 if's pra testar se são pares e ir somando numa variável. Depois, dividiria pelo total. Mas e se tu salvasse esses números dentro de um vetor? Aí sim tu poderia usar uma estrutura de repetição pra iterar nele. 

int main(){
    int numeros[3], somaGeral = 0;
    float media;

    for(int i=0; i<3; i++){
        printf("Digite o %d numero: ", i+1);
        scanf("%d", &numeros[i]);
            
        if(numeros[i] % 2 == 0)
            somaGeral += numeros[i];
    }

    media = somaGeral / 3;

    printf("%.2f", media);

    return 0;
}

Olha como a estrutura de repetição nos fez poupar linhas de código. Antes, precisávamos escrever três vezes "Insira nº número". Eram apenas três, ok, mas imagina que fossem 1000 números... 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dado Enunciado:

Em 10/05/2018 at 19:41, darthmagus disse:

Escreva um programa que calcule a média dos números digitados pelo usuário, se eles forem pares. O programa deve terminar a leitura se o usuário digitar zero.

 

 

 

O programa termina a leitura se quando ler 0, se não então continua o laço e a condição de soma.

Por questões didática vou portar solução:

#include <stdio.h>    /* incluir as funções: scanf; printf.                   */

int main( void )
{
  int numero= 0;      /* Para todas as entradas do usuario                    */
  float media= 0;     /* Para média                                           */
  int elemento= 0;    /* Quantidade de elementos do conjunto de números       */
  int somatorio= 0;   /* Soma de todos os números do conjunto que são pares   */
  
  printf( "%s","Informe todos os numeros e 0 quando terminar?\n" );
  do {
    
    printf( "%s%d%s","[",elemento,"]: " );
    scanf( " %i",&numero );
    
    if (0 == (numero % 2)) { /* o resto (%) da divisão de um número par por 2 é 
    igual 0, inclusive 0 que também é par                                     */
      
      elemento+= 1;
      somatorio+= numero; 
    }
    
  }while (0 != numero); /* somente se numero é diferente continua o laço      */

  media= ((float)somatorio) / elemento;
  printf( "%s%g%s","Media:= ",media,"\n" );/* mostra resultado                */
  return 0;/* fim do programa                                                 */
}

 

 

*** Até

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include<stdio.h>
int main(void){
    int valor;
    int divisor;
    int media;
    int soma;
    do{
        printf("Valor:");
        scanf("%d",&valor);
        if(valor !=0 && valor % 2 == 0){
            soma += valor;
            divisor++;
            media = soma/divisor;
        }
    }while(valor !=0);
    printf("Média: %d",media);
}

 

  • Haha 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ricardorstc
      E aí, pessoa tudo certo?
      Estou fazendo um programa que imita uma loja de informática com structs, alocação dinâmica e pilha em c e preciso da ajuda de vcs em algumas funções que não consegui fazer. Preciso que me ajudem fazer uma função para Editar um bloco especifico da pilha, outra função para Apagar um bloco especifico na pilha e uma função para Buscar valores a cima do informado pelo usuário, por exemplo: se o usuário digitar o preço 5, é pra mostrar os produtos com valores acima de 5. Vou mandar o código do que fiz aqui em baixo, mas a função excluir está errada, desconsiderem ela.

       
      #include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct kabum {     char desc [30];     int cod;     float valor;     struct kabum *ant; } p; p *novo, *topo=NULL; int i=0; int quant; FILE *arquivo; int inserir () {     printf("\n\n    QUANTOS PRODUTOS QUER CADASTRAR?: ");     scanf("%d",&quant);     for (i=0; i<quant; i++)     {         novo=(p *) malloc (2*sizeof(p));         fflush(stdin);         printf("\n\n    PRODUTO: ");         gets(novo->desc);         printf("    CODIGO: ");         scanf("%d",&novo->cod);         printf("    VALOR: R$");         scanf("%f",&novo->valor);         novo->ant=NULL;         if(topo==NULL) //pilha vazia?         {             topo=novo;         }         else         {             novo->ant=topo;             topo=novo;         }     }     return (0); } int mostrar () {     p *tmp;     tmp=topo;     if (tmp==NULL)   //aqui ele testa p/ saber se a pilha está fazia     {         printf ("\n\n     PILHA VAZIA! INSIRA UM DADO E TENTE NOVAMENTE.\n");     }     else     {         while (tmp!=NULL)         {             printf("\n\n    PRODUTO: %s\n", tmp->desc);             printf("    CODIGO: %d\n",tmp->cod);             printf("    VALOR: R$%0.2f\n\n",tmp->valor);             tmp=tmp->ant;         }     }     return (0); } int deletar () {     char alerta;     p *extra;     extra = topo;     if (topo == NULL)     {         printf ("\n\n     PILHA VAZIA!\n");     }     else     {         printf("\n\n      TEM CERTEZA DE DESEJA EXCLUIR A PILHA? (S/N): ");         scanf("%c",&alerta);         alerta=tolower(alerta);         if (alerta=='s')         {             topo = topo -> ant;             free(extra);             printf("\n      PILHA DELETADA! \n");         }         if (alerta=='n')         {             printf("\n      PILHA NAO DELETADA! \n");         }         if (alerta!='s' && alerta!='n')         {             printf("\n\n      OPCAO INVALIDA\n");         }     }     return(0); } int salvar() {     p *tmp;     tmp=topo;     arquivo=fopen("text.txt","wb");     /*    if (tmp==NULL)         {             printf("\n\n    ERRO AO SALVAR, PILHA ESTA VAZIA. INSIRA UM DADO E TENTE NOVAMENTE! \n");         }*/     while (tmp!=NULL)     {         fprintf(arquivo,"\n\n     PRODUTO: %s \n",tmp->desc);         fprintf(arquivo,"     CODIGO: %d \n",tmp->cod);         fprintf(arquivo,"     VALOR: %f ",tmp->valor);         tmp=tmp->ant;     }     fclose(arquivo);     printf("\n\n    ARQUIVO SALVO COM SUCESSO!\n");     return 0; } int abrir() {     p *tmp;     tmp=topo;     arquivo=fopen("text.txt","rt");     if (arquivo == NULL)     {         printf("\n\n    NAO FOI POSSIVEL ABRIR O ARQUIVO. SALVE E TENTE NOVAMENTE! \n");     }     char frase [10000];     while (fgets(frase, 1000,arquivo)!=NULL)     {         printf("%s\n",frase);     }     fclose(arquivo);     return 0; } void sobre () {     printf("\n\n");     printf("    *================================ SOBRE ================================*\n");     printf("    |                                                                       |\n");     printf("    |PROGRAMA CRIADO UTILIZANDO ALOCACAO DINAMICA, STRUCTS E PONTEIROS, COMO|\n");     printf("    |FORMA DE AVALIACAO DA DISCIPLINA DE ESTRUTURA DE DADOS, DO PROFESSOR:  |\n");     printf("    |GUSTAVO QUIRINO E APRESENTADO EM SALA DE AULA, COM A FINALIDADE DE     |\n");     printf("    |OBTER UMA DAS NOTAS DA SEGUNDA UNIDADE.                                |\n");     printf("    |                                                                       |\n");     printf("    |                          IDENTIFICACAO                                |\n");     printf("    |                                                                       |\n");     printf("    |IFBA - CAMPUS BARREIRAS                                                |\n");     printf("    |TURMA: 732                                                             |\n");     printf("    |CURSO: INFORMATICA                                                     |\n");     printf("    |PROFESSOR: GUSTAVO QUIRINO                                             |\n");     printf("    |COMPONENTES: LUCAS GOMES, MATEUS SENE E RICARDO CARVALHO               |\n");     printf("    |                                                                       |\n");     printf("    =========================================================================\n"); } int main () {     char op_menu=0, op_menu_interno=0; /*variaveis zeradas pq pode ser que o programa seja exacutado mais de uma vez     por isso eu zerei todas, para não pegar os valores das vezes anteriores. A cada nova execução     todas são zeradas*/     do     {         printf("\n\n");         printf("    *======================= MENU PRINCIPAL =========================*\n");         printf("    |                                                                |\n");         printf("    |                                                                |\n");         printf("    |         A - INSERIR                   B - MOSTRAR              |\n");         printf("    |                                                                |\n");         printf("    |         C - DELETAR                   D - EDITAR               |\n");         printf("    |                                                                |\n");         printf("    |         E - BUSCAR                    F - SALVAR               |\n");         printf("    |                                                                |\n");         printf("    |         G - ABRIR                     H - SOBRE                |\n");         printf("    |                                                                |\n");         printf("    |                        S - SAIR                                |\n");         printf("    |                                                                |\n");         printf("    |                                                                |\n");         printf("    ==================================================================\n");         fflush(stdin);         printf("\n    Digite...: ");         scanf("%c", &op_menu);         op_menu=tolower(op_menu);         fflush(stdin); //limpa o buffer do teclado         switch(op_menu)         {         case 'a'  :             fflush(stdin);             system("cls"); //limpa a tela             inserir();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;             fflush(stdin);         case 'b':             system("cls");             mostrar();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;         case 'c':             fflush(stdin);             system("cls");             deletar();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;             fflush(stdin);         case 'd':             fflush(stdin);             system("cls");             printf("você digitou: 4");             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;             fflush(stdin);         case 'e':         case 'f':             fflush(stdin);             system("cls");             salvar();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;         case 'g':             fflush(stdin);             system("cls");             abrir();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;         case 'h':             system("cls");             sobre();             printf("\n");             do             {                 printf("    0 - Menu principal: ");                 scanf("%s",&op_menu_interno);             }             while (op_menu_interno!='0');             system("cls");             break;         case 's':             system("cls");             printf("\n");             printf("Finalizando programa...");             printf("\n");             exit(0);             break;         default:             system("cls");             printf("Codigo invalido! Digite novamente");             break;         }     }     while (op_menu!=5);     return (0); }  
    • Por arisuchan
      Estou validando os dados de um vetor de estruturas chamado avião. Como parâmetros, estou passando o vetor alocado com um número predefinido, um contador e a capacidade inicial do vetor. Dentro da função eu realizo um loop com uma variável i setada como zero até o valor da capacidade inicial e vou cadastrando os dados. Vejam que eu utilizo mais a frente uma variável j igualmente setada como zero para utilizar nas comparações.  O erro no código é que a validação das repetições não está acontecendo.
       
       
       
      void cadastrarDadosAvioes(Aviao *aviao, int *contaAviao, int *baseInicial){
          int opcao=0, i, j, flag=1;
          char auxNome[MAX], *result;
          strcpy(auxNome, "");
          
          
          FILE *arquivo;
          //acrescenta dodos ao final ou faz leitura/escrita de arquivo
          arquivo = fopen("avioes.txt", "ab");
          
          if(!arquivo){
              perror("Error ");
              exit(EXIT_FAILURE);
          }else{
          
              do{
                  
                  if(*contaAviao==10){
                      *baseInicial = (*contaAviao)*2;
                      aviao = (Aviao*)realloc(aviao, (*baseInicial)*sizeof(Aviao));
                  }
                  
                  printf("\n\n%d", *baseInicial);
                  
                  for(i=0;i<*baseInicial;i++){
                      if(stricmp((aviao+i)->codigoIdentificacao, "")==0){
                          do{
                              strcpy((aviao+i)->codigoIdentificacao, leValidaCodigoAviao("DIGITE O CODIGO DO AVIAO:", "\nCODIGO DIGITADO INVALIDO!\n"));
                              for(j=0;j<*baseInicial;j++){
                                  if((stricmp((aviao+i)->codigoIdentificacao, (aviao+j)->codigoIdentificacao))==0&&i!=j){
                                      flag=0;
                                      printf("\nCodigo ja existe!\n");
                                  }else{
                                      flag=1;
                                  }
                              }
                              
                          }while(!flag);
                          
                          do{
                              strcpy((aviao+i)->modeloAviao, leValidaTexto("DIGITE O MODELO DO AVIAO:", "\nMODELO NAO PODE SER VAZIO!\n"));
                              for(j=0;j<*baseInicial;j++){
                                  if((stricmp((aviao+i)->modeloAviao, (aviao+j)->modeloAviao))==0&&i!=j){
                                      flag=0;
                                      printf("\nEsse modelo já existe!\n");
                                  }else{
                                      flag=1;
                                  }
                              }
                          
                          }while(!flag);
                          
                          leValidaCapacidade("INFORME A CAPACIDADE DO AVIAO:", "\nCAPACIDADE INVALIDA!\n", &(aviao+i)->capacidade);
                          
                          do{
                              strcpy((aviao+i)->nomeCliente, leValidaTexto("DIGITE O NOME DO CLIENTE:", "\nNOME INVALIDO!\n"));
                              for(j=0;j<*baseInicial;j++){
                                  if((stricmp((aviao+i)->nomeCliente, (aviao+j)->nomeCliente))==0&&i!=j){
                                      flag=0;
                                      printf("\nEsse nome já existe!\n");
                                  }else{
                                      flag=1;
                                  }
                              }
                          
                          }while(!flag);
                          
                          do{
                              
                              strcpy((aviao+i)->nomePais, leValidaTexto("DIGITE O NOME DO PAIS:", "\nPAIS INVALIDO!\n"));
                              
                              if(verifica((aviao+i)->nomePais)==0){
                                  printf("\nEsse paises não está cadastrado!\n");
                                  flag=0;
                                  
                              }else{
                                  flag=1;
                              }
                              
                          }while(!flag);
                          
                          break;
                      }                
                  }
                  fwrite(&aviao[*contaAviao], sizeof(Aviao), 1, arquivo);
              
                  //atualiza contador
                  *contaAviao+=1;
                  
                  
                  printf("(1)- CADASTRAR OUTRO AVIAO\n");
                  printf("(2)- RETORNAR AO MENU\n\n");
                  scanf("%d", &opcao);
                  
                  if(opcao == 2){
                      fclose(arquivo);
                      getch();
                      return;
                  }
                  
              }while(opcao==1&&(*contaAviao<*baseInicial));
              
          }    
      }
       
    • Por edson96
      alguem pode me ajudar nesse programa.
      não consigo efetuar a busca no segundo parametro. está com erro fatal. 
      está em c.
       
       
      # include < stdio.h >   # include < stdlib.h >       int main ()           {       printf ( " \ t ============================================= ================ \ n " );   printf ( " \ t =================== LEGAL ALUGAM UM CARRO ====================== == \ n " );   printf ( " \ t ============================================= ================ \ n \ n " );           int carro, carro1, carro2;           printf ( " \ t \ t \ t Digite um Opcao Desejada: \ n \ n " );   printf ( " \ t \ t 1 - CARROS POPULAR | " );   printf ( " | 2 - CARROS DE LUXO \ n \ n " );   scanf ( " % d " , & carro);               if (carro1 == 1 )       printf ( " \ n \ t CARROS POPULARES: \ n \ n " );   printf ( " \ t 1-Palio \ n \ n " );   printf ( " \ t 2-Gol \ n \ n " );   printf ( " \ t 3-Fox \ n \ n " );   printf ( " \ t 4-Ford KA \ n \ n " );   printf ( " \ t 5-Onix \ n \ n " );   printf ( " \ t 6-Celta \ n \ n " );   printf ( " \ t 7-Etios \ n \ n " );   printf ( " \ t 8-March \ n \ n " );   printf ( " \ t 9-Uno \ n \ n " );   printf ( " \ t 10-Voyage \ n \ n " );   printf ( " \ t Digite o numero do Carro escolhido: " );   scanf ( " % d " , & carro1);       interruptor (carro1)       {       caso 1 : system ( " cls " );   printf ( " \ t Palio \ n \ n " );   printf ( " \ t Ano: 2005/2006 \ n \ n " );   printf ( " \ t Placa: ABC1102 \ n \ n " );   printf ( " \ t Cor: Preto \ n \ n " );   printf ( " \ t Valor da Diaria: 100,00 \ n \ n " );   int calculo, qtdDias;       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 100 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 2 : sistema ( " cls " );   printf ( " \ t Gol \ n \ n " );   printf ( " \ t Ano: 2004/2005 \ n \ n " );   printf ( " \ t Placa: DFC5268 \ n \ n " );   printf ( " \ t Cor: Vermelho \ n \ n " );   printf ( " \ t Valor da Diaria: 120,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 120 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 3 : sistema ( " cls " );   printf ( " \ t Fox \ n \ n " );   printf ( " \ t Ano: 2010/2010 \ n \ n " );   printf ( " \ t Placa: SET2636 \ n \ n " );   printf ( " \ t Cor: Prata \ n \ n " );   printf ( " \ t Valor da Diaria: 150,00 \ n \ n " );   printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 150 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 4 : system ( " cls " );   printf ( " \ t Ford KA \ n \ n " );   printf ( " \ t Ano: 2003/2004 \ n \ n " );   printf ( " \ t Placa: ATR5332 \ n \ n " );   printf ( " \ t Cor: Verde \ n \ n " );   printf ( " \ t Valor da Diaria: 95,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 95 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 5 : system ( " cls " );   printf ( " \ t Onix \ n \ n " );   printf ( " \ t Ano: 2011/2012 \ n \ n " );   printf ( " \ t Placa: DFk7692 \ n \ n " );   printf ( " \ t Cor: Branco \ n \ n " );   printf ( " \ t Valor da Diaria: 200,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 200 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 6 : system ( " cls " );   printf ( " \ t Celta \ n \ n " );   printf ( " \ t Ano: 2007/2008 \ n \ n " );   printf ( " \ t Placa: UGH6849 \ n \ n " );   printf ( " \ t Cor: Azul \ n \ n " );   printf ( " \ t Valor da Diaria: 110,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 110 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 7 : system ( " cls " );   printf ( " \ t Etios \ n \ n " );   printf ( " \ t Ano: 2013/2014 \ n \ n " );   printf ( " \ t Placa: OHT5149 \ n \ n " );   printf ( " \ t Cor: Amarelo \ n \ n " );   printf ( " \ t Valor da Diaria: 130,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 130 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 8 : system ( " cls " );   printf ( " \ t March \ n \ n " );   printf ( " \ t Ano: 2009/2010 \ n \ n " );   printf ( " \ t Placa: WTH2486 \ n \ n " );   printf ( " \ t Cor: Cinza \ n \ n " );   printf ( " \ t Valor da Diaria: 140,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 140 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 9 : system ( " cls " );   printf ( " \ t Uno \ n \ n " );   printf ( " \ t Ano: 2012/2013 \ n \ n " );   printf ( " \ t Placa: GDT4698 \ n \ n " );   printf ( " \ t Cor: Preto \ n \ n " );   printf ( " \ t Valor da Diaria: 130,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 130 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 10 : system ( " cls " );   printf ( " \ t Voyage \ n \ n " );   printf ( " \ t Ano: 2011/2012 \ n \ n " );   printf ( " \ t Placa: JKL5042 \ n \ n " );   printf ( " \ t Cor: Vermelho \ n \ n " );   printf ( " \ t Valor da Diaria: 170,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 170 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;               if (carro2 == 2 )       printf ( " \ n \ t CARROS DE LUXO: \ n \ n " );   printf ( " \ t 1-Bmw \ n \ n " );   printf ( " \ t 2-Land Rover \ n \ n " );   printf ( " \ t 3-Audi A3 sedan \ n \ n " );   printf ( " \ t 4-renegado \ n \ n " );   printf ( " \ t 5-Captiva \ n \ n " );   printf ( " \ t 6-IX35 \ n \ n " );   printf ( " \ t 7-CRV \ n \ n " );   printf ( " \ t 8-Camaro \ n \ n " );   printf ( " \ t 9-Mercedes-Benz \ n \ n " );   printf ( " \ t 10-Tiguan \ n \ n " );       printf ( " Digite o numero do carro escolhido: " );   scanf ( " % d " , & carro2);           interruptor (carro2)           {           caso 1 : system ( " cls " );   printf ( " \ t Bmw \ n \ n " );   printf ( " \ t Ano: 2016 \ n \ n " );   printf ( " \ t Placa: ACG1092 \ n \ n " );   printf ( " \ t Cor: Preto \ n \ n " );   printf ( " \ t Valor da Diaria: 700,00 \ n \ n " );       int calculo, qtdDias;   printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 700 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 2 : sistema ( " cls " );   printf ( " \ t Land Rover \ n \ n " );   printf ( " \ t Ano: 2017 \ n \ n " );   printf ( " \ t Placa: DKC9026 \ n \ n " );   printf ( " \ t Cor: Vermelho \ n \ n " );   printf ( " \ t Valor da Diaria: 500,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 500 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 3 : sistema ( " cls " );   printf ( " \ t Audi A3 sedan \ n \ n " );   printf ( " \ t Ano: 2015 \ n \ n " );   printf ( " \ t Placa: SAB2693 \ n \ n " );   printf ( " \ t Cor: Prata \ n \ n " );   printf ( " \ t Valor da Diaria: 450,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 450 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 4 : system ( " cls " );   printf ( " \ renegado \ n \ n " );   printf ( " \ t Ano: 2016 \ n \ n " );   printf ( " \ t Placa: ADS4532 \ n \ n " );   printf ( " \ t Cor: Verde \ n \ n " );   printf ( " \ t Valor da Diaria: 550,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 550 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 5 : system ( " cls " );   printf ( " \ t Captiva \ n \ n " );   printf ( " \ t Ano: 2014 \ n \ n " );   printf ( " \ t Placa: DFk7992 \ n \ n " );   printf ( " \ t Cor: Branco \ n \ n " );   printf ( " \ t Valor da Diaria: 350,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 350 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 6 : system ( " cls " );   printf ( " \ t IX35 \ n \ n " );   printf ( " \ t Ano: 2015 \ n \ n " );   printf ( " \ t Placa: DFH6049 \ n \ n " );   printf ( " \ t Cor: Azul \ n \ n " );   printf ( " \ t Valor da Diaria: 500,00 \ n \ n " );   printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 500 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 7 : system ( " cls " );   printf ( " \ t CRV \ n \ n " );   printf ( " \ t Ano: 2014 \ n \ n " );   printf ( " \ t Placa: OUT1549 \ n \ n " );   printf ( " \ t Cor: Cinza \ n \ n " );   printf ( " \ t Valor da Diaria: 450,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 450 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           caso 8 : system ( " cls " );   printf ( " \ t CAMARO \ n \ n " );   printf ( " \ t Ano: 2017 \ n \ n " );   printf ( " \ t Placa: WTH2986 \ n \ n " );   printf ( " \ t Cor: Amarelo \ n \ n " );   printf ( " \ t Valor da Diaria: 850,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 850 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 9 : system ( " cls " );   printf ( " \ t Mercedes-Benz \ n \ n " );   printf ( " \ t Ano: 2015 \ n \ n " );   printf ( " \ t Placa: QRT0468 \ n \ n " );   printf ( " \ t Cor: Preto \ n \ n " );   printf ( " \ t Valor da Diaria: 650,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 650 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;           case 10 : system ( " cls " );   printf ( " \ t Tiguan \ n \ n " );   printf ( " \ t Ano: 2016 \ n \ n " );   printf ( " \ t Placa: WHL9542 \ n \ n " );   printf ( " \ t Cor: Vermelho \ n \ n " );   printf ( " \ t Valor da Diaria: 450,00 \ n \ n " );       printf ( " \ t Pretende Ficar Quanto ritmo com o caminhão? " );   scanf ( " % d " , & qtdDias);   calculo = ( 450 * qtdDias);   printf ( " \ n \ n \ t Total a Pagar:% d reais " , calculo);   pausa ;   }   }   }
    • Por Doloblan
      Peguei esse codigo da internet, e estou tentando modificar ele para ficar do jeito que preciso, peguei ele sem funcao e preciso de funcao para cada acao e apos criar a funcao de cadastro apenas para teste nao salva a variavel no arquivo binario.
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      struct Contato{
        char nome[100];
        int  telefone;
      };
      struct Contato *agenda;
      FILE *fp;
      int cadastra(int n, int cap){
          fp = fopen("xxx.dat","a+b");
          if(n == cap){
              cap *= 2;
              agenda = realloc(agenda, sizeof(struct Contato)*cap);
          }
          printf("Digite o nome: ");
          scanf(" %[^\n]", agenda[n].nome);
          printf("Digite o telefone: ");
          scanf("%d", &agenda[n].telefone);
          fwrite(agenda, sizeof(struct Contato), n, fp);
          fclose(fp);
          return n++;
      }
      int main(){
          int cap; 
          int n;  
          int opc; 
          int i;
          struct Contato *agenda;
          FILE *fp;
          
          fp = fopen("xxx.dat","rb");
          printf("N; %d \n", n);
          if(fp==NULL){
              n = 0; 
              cap = 20; 
              agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap);
          }
          else{ 
              fread(&n, sizeof(int), 1, fp);
              cap = n*2; 
              agenda = (struct Contato *)malloc(sizeof(struct Contato)*cap);
              fread(agenda, sizeof(struct Contato), n, fp);
              fclose(fp);
          }
        
          do{
              printf("*** Menu ***\n");
              printf("1) Cadastrar contato.\n");
              printf("2) Exibir contatos.\n");
              printf("3) Apagar.\n");
              printf("4) Sair.\n");
              scanf("%d",&opc);
              switch(opc){
                     case 1:
                         printf("n %d\n", n);
                         n = cadastra(n, cap);
                         printf("n %d\n", n);
                  break;
              }
          if(opc==2){
              for(i=1; i<4; i++){
                  printf("*** Contato %d ***\n",i+1);
                  printf("Nome: %s\n",agenda.nome);
                  printf("Telefone: %d\n",agenda.telefone);
              }
              printf("N; %d \n", n);
          }
          else if(opc==3){
              char nome[100];
              int j;
              scanf("%s",&nome);
              for(i=0; i<n; i++){
                  if (strcmp(agenda.nome, nome)==0){
                      for(j=i+1; j<n; j++){
                              strcpy(agenda[j-1].nome,agenda[j].nome);
                              agenda[j-1].telefone=agenda[j].telefone;
                      }
                  n--;
                  i=n;
                  }
              }
          }
          }while(opc!=4); 
          
          if(n>0){
          fp = fopen("xxx.dat","wb");
          fwrite(&n, sizeof(int), 1, fp);
          fwrite(agenda, sizeof(struct Contato), n, fp);
          fclose(fp);
          }
          free(agenda);
        
        return 0;
      }
    • Por SandroPaiva
      Ola, sou novo no forum e também novato em programação.
       
      Estou aprendendo sozinho o C# usando o Visual Studio 2017, e estou seguindo uma apostila bem prática e de fácil entendimento, porém, por conta da minha inexperiência como Visual Studio 2017, me deparei com um problema:
       
      Durante um projeto fiz a inserção de um button e não dei funcionalidade nenhuma a ele, só deixei ele lá no formulário junto com outros componentes já programados, como duas textBox e outros dois buttons, executei para testar uma funcionalidade simples porém deu um erro e apresentou uma nova aba onde o visual studio apresenta links de solução online que na verdade não me ajudaram muito. Depois disso o formulário com os componentes sumiu, tenho as guias Form1.Designer.cs, que deveria aparecer o formulário mas só aparecem linhas de códigos que fazem referencia aos componentes que deveriam estar visíveis, e a Form1.cs. Já encerrei e abri o VS e não deu certo.
       
      Não achei outro tópico ou pergunta com essa dúvida, por isso a fiz agora. Se existe alguma duvida parecida, peço desculpas pela repetição e peço que me indiquem a solução.
       
      Agradeço desde já quem puder me ajudar.
×

Informação importante

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