Jump to content
  • 0
victormota1695

Linguagem c (ajuda com armazenamento)

Question

Estou desenvolvendo um programa para trabalho de faculdade onde

preciso usar estrutura de repetição para perguntar ao usuario um nome/itens armazena-los e quando o usuario nao quiser mais digitar os nomes ao sair do loop mostra todos os nomes que ele digitou.

 

nao estou conseguindo preciso de ajuda. dese ja agradeço.

 

meu codigo ate o momento e:

 

#include <stdio.h>
#include<stdlib.h>


int main (){

char lista,lista2;
int menu1,menu2;


printf("***BEM-VINDO AO LISTSUPER***\n\n");
// ****Aqui o 1º menu de seleção****//
printf("Escolha uma opção\n");
printf("1-inserir novos itens\n2-inserir quantidade\n3-calcular valor\n4-mostrar itens\n\n");
scanf("%i",&menu1);


// ***Aqui e o loop para digitar os itens desejados****//
if (menu1==1){
  while(1) {

       printf("insira os itens\n");
       scanf("%s",&lista);
       printf("deseja inserir novos itens? [1-sim/2-nao]\n");
       scanf("%i",&menu2);


 if (menu2==2){ break;}
}
}

// ***Caso ele não selecione a opção para inserir novos itens aparecera esta mensagem***//

else {
    printf("Não ha itens inseridos\nEscolha a opção ( inserir novos itens )");
}

//***Apos acabar de digitar os itens mostrar a lista dos itens digitados***//


return 0;


}
 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By picsartisticc
      Meu professor passou uma prova pra casa para entregar na sexta feira e eu ainda não tive tempo de fazer nada e ainda tenho mais outra prova no mesmo dia. E definitivamente icc não tá como prioridade.
      Alguém pode pelo amooor me ajudar? 
      porque assim, máximo respeito pelos programadores viu? É muita paciência que vocês tem!
      1. Ele pede pra implementar um programa que tenha funções de soma, subtração, multiplicação e divisão que opere 2 números e retorne a sua respectiva operação.
      2. Implementar uma função que receba a quantidade de faltas no trabalho e retorne o salario mensal de um funcionario, cuja diaria é 100,00 de acordo com o numero de dias trabalhados.
      Tem essa formula aqui:
      dias_trabalhados=30-falta_no_mes
      salario_mensal=dias_trabalhadosx100
      3. Implantar um procedimento que receba 3 números e exiba-os em ordem crescente.

      Desde já muita gratidão por todos que tirarem um tempinho do tempo pra me salvar. Att.
    • By lsramos
      Tenho um DataGridView que exibe uma tabela do banco de dados. Até aí tudo bem :)
      A questão é que o cabeçalho (primeira linha do DataGrid) traz o nome das colunas da tabela do banco (exemplo: matricula, nome, data_nascimento, etc).
      Eu queria saber se é possível, até para melhor visualização, que eu personalizasse esse cabeçalho sem alterar do banco.
      Algo como inserir no DataGrid o nome das colunas e exportar do banco de dados sem o nome da coluna.
    • By Lísias de Castro
      Ola, sou Lísias e gostaria de saber se alguém poderia me ajudar nessa tarefa tão difícil para finalizar minha biblioteca.
      Eu fiz um motor de jogos, e nele já consegui implementar todas as funções básicas para um uso primário. Fazendo a criação de jogos simples através dela.
      Mas estou desenvolvendo um rpg, e resolvi fazer com que os personagens atirem a longa distância. Porém, para que isso aconteça, tenho que fazer com que o objeto a ser atirado sempre corra em linha reta.
      Criei uma função que faz com que todos os objetos se movam na tela, mas ela não funciona de uma maneira linear. O que posso modificar nessa função para que ela me proporcione isso?
       
      static STATUS place_user_move(OBJECT_SET * U, BP32 x, BP32 y) { if (U == NULL)return (Off); if (U->x_route == x) { if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but(U, NORTH); if (U->y_route < y) { U->y_route = y; U->where_stop(U); return (On); } } if (U->y_route < y) { U->y_route += U->y_speed; U->where_stop_but(U, SOUTH); if (U->y_route > y) { U->where_stop(U); U->y_route = y; return (On); } } return (Off); } if (U->y_route == y) { if (U->x_route > x) { U->x_route -= U->x_speed; U->where_stop_but(U, WEST); if (U->x_route < x) { U->where_stop(U); U->x_route = x; return (On); } } if (U->x_route < x) { U->x_route += U->x_speed; U->where_stop_but(U, EAST); if (U->x_route > x) { U->where_stop(U); U->x_route = x; return (On); } } return (Off); } if (U->x_route > x) { U->x_route -= U->x_speed; if (U->x_route < x)U->x_route = x; if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but_and(U, NORTH, WEST); if (U->y_route < y)U->y_route = y; } if (U->y_route < y) { U->where_stop_but_and(U, SOUTH, WEST); U->y_route += U->y_speed; } } if (U->x_route < x) { U->x_route += U->x_speed; if (U->x_route > x)U->x_route = x; if (U->y_route < y) { U->y_route += U->y_speed; U->where_stop_but_and(U, SOUTH, EAST); if (U->y_route > y)U->y_route = y; } if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but_and(U, NORTH, EAST); if (U->y_route < y)U->y_route = y; } } return (Off); } PLACE_CALL STATUS PLACE_TYPE place_user_route(CHAINED * user, BP32 x, BP32 y) { if (user && USER_C(user->it)->object && bit_is_on(USER_C(user->it)->object->status, OBJECT_VISIBLE)) { OBJECT_SET * U = USER_C(user->it)->object; if (U->x_route == x && U->y_route == y) { obj_where_stop_all(U); return (On); } //printf("xs %f ys %f\n",object->x_speed,object->y_speed); return (place_user_move(U, x, y)); } return (Off); } #define sign(x) ((x > 0) ? 1 : ((x < 0) ? -1 : 0) ) PLACE_CALL STATUS PLACE_TYPE place_user_straight(CHAINED * user, BP32 x1, BP32 y1) { if (user && USER_C(user->it)->object && bit_is_on(USER_C(user->it)->object->status, OBJECT_VISIBLE)) { OBJECT_SET * O = USER_C(user->it)->object; BP32 dx, dy; dx = x1 - O->x_route; dy = y1 - O->y_route; static BP32 x = -1, y = -1, p = -1; if (x == -1)x = O->x_route; if (y == -1)y = O->y_route; if (p == -1)p = 2 * dy - dx; printf("x %lf y %lf\n", x, y); if (x < x1) { if (p >= 0) { y = y + 1; p = p + 2 * dy - 2 * dx; } else { p = p + 2 * dy; } x = x + 1; } else { O->x_route = x; O->y_route = y; x = -1; y = -1; p = -1; return (On); } O->x_route = x; O->y_route = y; x = -1; y = -1; p = -1; } return (Off); } a função user_place_straight foi minha tentativa de implementar bresenham que promete fazer o que estou tentando.
       
      Isso é o que fá fiz com o motor: https://www.youtube.com/watch?v=nuLi_lB6c4Y&feature=youtu.be
       
      Mas até agora não estou conseguindo resultado
    • By SGTFalcao
      Boa noite, 
       
      Preciso de ajuda com o desenvolvimento de um programa. 
       
      Quero saber 3 coisas .
       
      1 - Criei uma  vetor de struct vinculada a uma constante de valor 5. Quero saber como faço para limitar o cadastro ao tamanho da constante ( controla o n° de posições do vetor da struct)
       
      De forma que ao cadastrar 5 livros ele impeça de cadastrar o sexto. 
       
      2- Impedir que dos 5 cadastros algum deles se repita. (Livros iguais)
       
       
       
      3- Se eu der o comando para exibir a lista de dados cadastrados e não houver nenhum ele tem que informar lista vazia. 
       
       
       
       
       
      Segue o meu código. 
       
      #include<stdio.h>
      #include<stdlib.h>
      #include<string.h>
      #define Max_livros 5
      struct biblio{
          char nomeobra[30];
          char nomeedit[30];
          char nomeaut[30];
          int codigo;
          int ativo;
      };
      biblio livros[Max_livros];
      void menu();
      void cadastrar();
      void mostrar();
      // Menu principal -------------------------INICIO-------------------------------
      int main(){
          menu();
          return 0;
      }
      // -----------------------------------------FIM---------------------------------
      void menu(){
          int op;    
          do{
          system("cls");
          printf("---------->>Sistema para bibliotecas<<----------\n \n \n ");
          printf("\n1 - Inserir um novo cadastro: ");
          printf("\n2 - Mostrar todos os cadastros: ");
          printf("\n0 - Encerrar \n\n");
          printf("Opcao escolhida: ");
          scanf("%d",&op);
          getchar();
          fflush(stdin);
          switch(op){
              case 1:
                   cadastrar();
              break;
              case 2:
                  mostrar();
              break;
              default : 
                  system("cls");
                  printf("\n \n ==========================================");
                  printf("\n\n\n\n\t Erro : opcao invalida!!!\n\n\n\n");
                  printf("\n \n ==========================================\n\n");
                  system("pause");
          }
          getchar();
          }while(op!=0);
                  }            
      void cadastrar(){
          
          system("cls");    
          char nomeobra[20];
          char nomeedit[20];
          char nomeaut[20];
          int codigo;
          int op;
          do{    
              codigo=0;
              codigo=codigo+1;
              printf("\nDigite o nome da obra: ");
              fgets(nomeobra,sizeof(nomeobra),stdin);
                  
              
              printf("\nDigite o(s) nome(s) d(os) autor(es): ");
              fgets(nomeaut,sizeof(nomeaut),stdin);
              
              
              printf("\nDigite o nome da editora: ");
              fgets(nomeedit,sizeof(nomeedit),stdin);
              
              for(int i=0;i<Max_livros;i++){
                  if(livros.ativo==0)
                  {
                      strcpy(livros.nomeobra,nomeobra);
                      strcpy(livros.nomeaut,nomeaut);
                      strcpy(livros.nomeedit,nomeedit);
                      livros.ativo=1;
                      break;
                  }
              }
              printf("\n1 - Continuar \n0 - Sair \n\n");
              scanf("%d",&op);
                  getchar();
                  fflush(stdin);            
          }while(op!=0);
          }
          
          
      void mostrar(){
          int codigo=0;
          system("cls");
          printf("------------->>Lista de livros cadastrados<<-------------\n \n \n");
          for(int i=0;i<Max_livros;i++){
              if(livros.ativo==1){        
                  codigo=codigo+1;
              printf("\nCodigo: %d\n",codigo);
              printf("\nNome da Obra: %s\n",livros.nomeobra);
              printf("\nNome do(s) autor(es): %s\n",livros.nomeaut);
              printf("\nNome da editora: %s\n",livros.nomeedit);
              printf("\n\n--------------------------------\n\n");
              }
          }
          printf("\n\nPressione '0' para voltar ao menu...");
          getchar();
          fflush(stdin);

    • By eduarda_dasilveira
      O sistema deverá, utilizando a linguagem C, receber 6 apostas (6 números cada
      aposta no intervalo de 1 a 60) e armazenar estas informações em uma matriz quadrada de
      ordem 6. Um vetor chamado vetGabarito  deve armazenar 6 números, que são os gabaritos
      da aposta.
      Com a matriz de apostas preenchidas, o sistema deverá:
      a. Mostrar a soma da diagonal principal da matriz de apostas.
      b. Transferir todas as apostas para vetores de inteiros de 6 posições.
      c. Indicar quantos números pares e ímpares foram apostados.
      d. Indicar quantos acertos o jogador obteve para cada conjunto de aposta.
       
      Estou com dificuldade de fazer letra d.
      Meu código esta ai mas esta dando erro (mostrando a quantidade errada de acertos) na parte da letra d.
      #include <stdio.h> #include <time.h> #include <conio.h> #include <stdlib.h> int main (void){ int mat [6][6], vetGabarito[6], vet1[6], vet2[6], vet3[6], vet4[6], vet5[6], vet6[6], l, c, soma_diagonal=0, impar=0, par=0; srand (time (NULL)); for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf ("Digite a sua aposta de 1 a 60:"); scanf ("%d", &mat [l][c]); } } for (l=0; l<6; l++){ for (c=0; c<6; c++){ printf (" %d", mat [l][c]); } printf ("\n"); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if (l==c){ soma_diagonal=soma_diagonal+mat[l][c]; } } } for (c=0; c<6; c++){ vet1[c]= mat [0][c]; vet2[c]= mat [1][c]; vet3[c]= mat [2][c]; vet4[c]= mat [3][c]; vet5[c]= mat [4][c]; vet6[c]= mat [5][c]; printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet1[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet2[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet3[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet4[c]); printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet5[c]); printf ("Aposta do jogador na rodada [%d] e %d\n", c, vet6[c]); } for (l=0; l<6; l++){ for (c=0; c<6; c++){ if ((mat[l][c]%2)==0){ par++; } else { impar++; } } } srand (time (NULL)); for (c=0;c<6;c++){ vetGabarito[c]=rand()%10; } for (c=0; c<6; c++){ printf (" %d", vetGabarito[c]); printf ("\n"); } for (c=0; c<6; c++){ vet1[0]==vetGabarito[c]; vet2[1]==vetGabarito[c]; vet3[2]==vetGabarito[c]; vet4[3]==vetGabarito[c]; vet5[4]==vetGabarito[c]; vet6[5]==vetGabarito[c]; } printf ("A soma da diagonal da matriz e: %d\n", soma_diagonal); printf ("A quantidade de numeros pares foi %d, e de numeros impares foi %d\n", par, impar); printf ("O jogador na primeira rodada teve %d de acertos.\n", vet1[0]); printf ("O jogador na segunda rodada teve %d de acertos.\n", vet2[1]); printf ("O jogador na terceira rodada teve %d de acertos.\n", vet3[2]); printf ("O jogador na quarta rodada teve %d de acertos.\n", vet4[3]); printf ("O jogador na quinta rodada teve %d de acertos.\n", vet5[4]); printf ("O jogador na sexta rodada teve %d de acertos.\n", vet6[5]); return 0; }  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.