-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
@DefNão, ainda não era assim era mais como @KXSY fez. Outra coisa importante; Pareceu-me que fica um pouco perdido nas coisas, principalmente porque cada um contribui com coisa muito nova e você não questiona só aceita. Por exemplo, o colega @KXSY usou em sua estrutura campos de bits e você nem se ligou, porém já que saber como implementar uma linha de edição dinâmica no terminal.
-
Todos resto continua igual, só as opções que ficam separadas. Loop fica dento da função main. No printf da função menu sobrou ); basta apagar e deixar o último.
-
Nome é chamada recursiva, nesse tipo de processo uma função tem dentro de si uma chamada dela mesmo, assim como acontecia no seu código vi a função main que tinha uma chamada de si mesma só para exibir as opções do menu, mas vem com isso também consumo de memória sem necessidade. Eu recomendei que vocês implementassem uma função só para exibir o menu\opções. int opcao_usuario (void){ system("cls"); printf( "-----------------------------------------\n" "\tCONTROLE DE ESTACIONAMENTO\n" "-----------------------------------------\n" "\n1- Cadastrar Cliente\n" "\n2- Cadastrar Veiculo\n" "\n3- Listar veiculos cadastrados\n" "\n4- Creditos\n" "\n5- Sair\n" "\nOpcao: " ); int opcao = 0; scanf("%d",&opcao); return opcao; } Depois disse ainda que usem em um loop infinito, do tipo que @herbertbahia citou mais a função. while(1){ switch (opcao_usuario ()){ case 1: system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(aux); if (strlen(aux) > 11)printf("erro contem mais de 11 digitos\n"); else strcpy(info.nome,aux); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereco do cliente: "); gets(info.Endereco); system("pause"); // main(); CHAMADA RECURSIVA SEM FUNDAMENTO SÓ PRA REPETIR O MENU break; } } Todo resto continua igual porque a intenção é a repetição do menu.
-
Todo vez que chama a função main para repetir as opções cria uma cópia de seu conteúdo na memória. Coloque o conteúdo do menu em uma função e chame-a com todo o resto por meio de um loop infinito.
-
Chegou muito longe para ter erros é que existem aqui muita métodos, objetos funções e detalhes até um menu já tem; isso é fase final. É preciso testar as funções uma a uma eliminando o que está de acordo para identificar o que não está.
-
É um dos meios mais úteis. Outra coisa importante, considere sempre que um local na memória quando reservado é de variável. Uma variável deve ter um identificador, ou seja, um nome e quase sempre isso é possível. Em matrizes o nome identifica a referência do primeiro elemento, os demais são só índices que podemos dizer que são variáveis a partir do primeiro, pois têm as mesmas características. Outra coisa, se um ponteiro tem o endereço numérico de memória reservada, ou simplesmente referência, ao ser desreferenciado ele se torna uma variável.
-
C Uma papelaria vende 3 tipos de produtos que são identificados por um código.
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
Aqui só nos interessa o total, então não precisa apresentar o nome e o preço. Outra coisa importante é que existe uma iteração ou loop que continua enquanto os dois valores: código e quantidade são diferentes de 0. -
C Uma papelaria vende 3 tipos de produtos que são identificados por um código.
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
É possível resolver melhor e assim deixar como pede o exercício. Lá nos é dito que; Lei um número que é o código do produto e em seguida leia outro que é quantidade comprada. Exemplo: Por favor, entre com código do produto..: 16 Agora entre com a quantidade de produtos: 10 Note que nesse exemplo as entradas estão em sequencia. -
C Uma papelaria vende 3 tipos de produtos que são identificados por um código.
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
Usando a código anterior de base. Agora você lê dois valores, ou seja, a diferença na leitura é de 1 valor a mais que antes que é a quantidade comprada. Outra diferença também é que na hora de imprimir além do nome e preço do produto, você imprime também o valor da compra, ou seja, preço vezes a quantidade. Exemplo de entrada e saída 16 10 10x Cadernos a R$6 = R$60,00 99 10 Produto não encontrado -
Na linha 25
-
faltou a palavra struct antes, fica assim: struct cad_cliente info
-
C Uma papelaria vende 3 tipos de produtos que são identificados por um código.
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
@Matheus Freitas sim, não pode esquecer de imprimir a mensagem de acordo com a recomendação por último não há necessita dessas variáveis. Fica como @herbertbahia fez. -
C Uma papelaria vende 3 tipos de produtos que são identificados por um código.
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
Exercício Básico. A ideia de solução que usa blocos IF está certa, porém o sinal de comparação de igualdade na linguagem é (==) 2 iguais seguidos e também como resposta ao código o sistema deve imprimir a informação correspondente. Exemplo: 16 Cadernos R$6 99 Produto não encontrado Posteriormente quando estudar vetores e estruturas de repetição\iteração pode vir também a implementar uma versão mais dinâmica do mesmo sistema. Uma versão que permite muito mais códigos e descrições com apenas um bloco IF de decisão. -
C meu codigo le so uma linha dos casos de testes, nao sei como fazer pra ler todos
Ansi C respondeu ao tópico de henrique Souza850 em C/C#/C++
Dá colher de chá, esse é uma solução para nosso problema com interrogações (??) que precisam ser substituídas para acerta o código. #include <stdio.h> int main (void){ unsigned int t = 0, alfab[26] = {0}; scanf (" %u", &t); // Primeiro leia t ... for (unsigned int i = 0; i < ??; ++i){ // Depois um loop de 0 ate t lê 2 inteiros m,n em que unsigned int m, n; scanf (" %u%u", &m, &n); char s[m]; // m é tamanho do vetor_s VLA for (unsigned int j = 0; j < ??; ++j){ // e conseguinte lê m caracteres pra o vetor_s ... char ch; scanf (" %c", &ch); s[j] = ch; ++alfab[(ch) - 'a']; // enquanto contabiliza no vetor_alfabético cada caracter lido } for (unsigned int k = 0; k < ??; ++k){ // Em outro loop aninhado ao primeiro de 0 até n unsigned int am; scanf (" %u", &am); // lê 1 inteiro de nome am for (unsigned int a = 0; a < ??; ++a){ // um loop aninhado a esse de 0 até am ... ++alfab[s[a] - 'a']; // contabiliza no vetor_alfabético todos os caracteres } } for (unsigned int p = 0; p < ??; ++p){ // Por último, e ainda dentro do primeiro loop t, um loop de 0 até 26 ... printf ("%u ", alfab[??]); // imprime alfab[??] = 0; // e reinicia o vetor_alfabético caso precise para teste seguinte. } } return 0; } Agora, será que vai ? -
Conseguiu começa a fazer?
-
C Um cilindro de raio R vai atravessar um buraco retangular de largura L e altura
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
Tudo indica, dessa vez acertou. -
Lista é o algoritmo de estruturação de dados, existe nessa técnica métodos e funções que corresponde as propriedades da lista conforme seu tipo que são dois: estática e dinâmica. Por exemplo: O tamanho da lista, quando do tipo dinâmica, é indefinido porque ele cresce conforme a necessidade de novos itens; esse é bem o caso do nosso exercício. Quando diz lá que " A entrada de dados deve ser encerrada quando o usuário fornecer o valor 0 (zero) " diz que, a lista não tem um tamanho certo inicial e sim depende bem mais da quantidade de entrad antes do valor 0. Tudo fica mais claro quando pesquisar por: Lista Dinâmica.
-
C Um cilindro de raio R vai atravessar um buraco retangular de largura L e altura
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
kkkkkk se bebe não dirija, e também não acesse o Clube do Hardware. -
C Um cilindro de raio R vai atravessar um buraco retangular de largura L e altura
Ansi C respondeu ao tópico de Matheus Freitas em C/C#/C++
esp <= retanguloA && resp <= retanguloL Igual não porque se são iguais não existe espaço entre eles que permite a passagem. -
Quando estabeleceu um limite (500) para ... " Crie um algoritmo/programa que leia vários valores e armazene-os em uma lista. A entrada de dados deve ser encerrada quando o usuário fornecer o valor 0 (zero). Em seguida o programa deve mostrar a lista em ordem inversa. " O enunciado do exercício menciona lista, e número de entradas é indefinido somente determinado pelo fim de valor igual à 0 então é a lista dinâmica.
-
C meu codigo le so uma linha dos casos de testes, nao sei como fazer pra ler todos
Ansi C respondeu ao tópico de henrique Souza850 em C/C#/C++
O nível é dos mais básico. Você vai encontrar aqui no fórum membros que depois de muito "blablabla" dá uma resposta no final... Só aguarde -
C meu codigo le so uma linha dos casos de testes, nao sei como fazer pra ler todos
Ansi C respondeu ao tópico de henrique Souza850 em C/C#/C++
Fez como? Se entendeu a lógica de fato percebeu que o exercício se resolve com estruturas do tipo FOR aninhadas. -
C Trabalho : Criando um cofre virtual em linguagem C
Ansi C respondeu ao tópico de Duarte2020 em C/C#/C++
@Duarte2020 Sem o enunciado (formal) não digo com certeza se podemos usar float ou qualquer outro tipo não char! Essas variáveis em sequência a1...a5 também me encomendam, um vetor é bem mais natural. Coloque o enunciado formal, bem como, quais assuntos assistiu antes de se aventurar nessa questão. -
Palpite é que está acontecendo uma ou + divisões por 0.
-
C meu codigo le so uma linha dos casos de testes, nao sei como fazer pra ler todos
Ansi C respondeu ao tópico de henrique Souza850 em C/C#/C++
Exato, e pergunte sempre que surgirem dificuldades.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais