-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
Fico sem entender. Veja: Disso, se fez a interpretação (+) // Enquanto Ler um Numero, devolve 1 Numero while (scanf ("%f", &valor) == 1){ resultado += valor; // Aplica o Operador valor = .0f; } Isso é folclórico. O identificador da função scan+f, f no final que remete a palavra inglesa formatted. Isso inclusive ficamos sabendo qual é a sua entrada.
-
Melhor Editor do Mundo: Bloco de Notas Inclusive para você @Def, é pouco produtivo para os profissionais, porém pra quem está aprendendo ou não é profissional é melhor do mundo
-
Não é só isso. É preciso mais que isso. Observem: while (scanf ("%f", valor) == 1){ ... ... } Continua esperar mesmo com fim dos valores, disso basta digitar, por exemplo: # e depois ENTER *Eliminou-se a espera porque a função retorna 0 quando alcança # um valor ilegal para máscara de leitura ("%f"). Sim é uma maneira de delimitar. Eu não rsrsr. Se enganou porque eu não sugeri quantidade de operadores e operação arbitrários. Veja: Um operador por operação, operandos em sequência que lembra a notação polonesa, só que o nosso sinal indica em todos casos adição, multiplicação ou ... dos n termos.. Básico Estou interessado no Produtório de n {-3 2 1 -2} o usuário digita: * -3 2 1 -2 o programa responde: 12 * -3 2 1 -2 == (-3) * 2 * 1 * (-2) Aninhado Estou interessado no Somatório de n {2, 3, -1, Produtório de {-3 2 1 -2}} o usuário digita: * -3 2 1 -2 + 2 3 -1 o programa responde: 14 * -3 2 1 -2 + 2 3 -1 == ((-3) * 2 * 1 * (-2)) + 2 + 3 + (-1) Unitário Estou interessado no Somatório de n {2, Produtório de {-3}} o usuário digita: * 3 + 2 o programa responde: 5 * 3 + 2 == 3 + 2 Fica no Básico! Que mané backspace kkkkk coisa ridícula é space-barque dá espaços.
-
Nesse formato: Usuário define a operação e a quantidade de operandos em uma linha. O caractere de nova linha ('\n'), que surge no fim de cada entrada, marca o fim da operação e também dos operandos. O operador ('+','-','/','*') define o tipo da operação e será o primeiro caractere em cada linha. Todos argumentos têm um espaço entre eles (backspace). Sim, você pode reutilizar esse outro programa. Com pequenas diferenças. Leia antes de tudo o operador Depois leia o primeiro valor Dentro de cada switch case: ao invés de uma operação terá quantas forem necessárias, ou seja, em loop. Enquanto pegar (getchar ()) um caractere diferente de nova linha ('\n') novo valor é lido no corpo do loop e a operação escolhida executada. E quando finalmente o caractere de nova linha surgir, o loop acaba e imprime o resultado, conforme o operador. Tente e depois mostre (faça só para adição)
-
É foi isso que não ficou totalmente claro para mim. Por exemplo, o usuário digita: + 45 90 1024 1 Disso, o programa responde: 1160 É isso?
-
Acho que fiquei com dúvidas na sua pergunta! Dê-me uma exemplo de entrada e saída.
-
Tudo indica @Hugo Picello , foi confuso no começo, porém é isso que o enunciado pede implicitamente.
-
Então é isso mesmo, M e O são constantes quaisquer que deseje dar um valor e com isso concluir a expressão.
-
Fiquei sem compreender completamente @Hugo Picello , mas acho que sim. Poderia post o enunciado para tirar as dúvidas.
-
Então! Saber o que é fatorial de um número é importante nesse questão. Depois que descobrir o fatorial, implemente uma função que passado N retorna o fatorial de N. Basicamente, a função calcula quando multiplica todos os números inteiros positivos de 1 até N. Por exemplo.: Se o valor de N da função é 4 acontece isso dentro da função: 1*2*3*4, logo a função retorna 24. Percebe-se que é um exercício envolvido em loop WHILE ou FOR e VETORES. Essa função não é a resposta total ao exercício, porém é a metade do problema. Tente e depois mostre!
-
Essa está certa, só tentei melhorar a apresentação do código int conta_vogais (char *str){ int i = 0,contador = 0; while (*(i + str)!='\0'){ if( (*(i + str)=='a')|| (*(i + str)=='e')|| (*(i + str)=='i')|| (*(i + str)=='o')|| (*(i + str)=='u')|| (*(i + str)=='A')|| (*(i + str)=='E')|| (*(i + str)=='I')|| (*(i + str)=='O')|| (*(i + str)=='U') ){ contador++; } i++; } return contador; } Como posso ajudar nas questões 1 e 3 ?
-
Se tentou responder alguns desses, mostre-nos o resultado e daí discutiremos.
-
"Nesse código aqui const char* funciona mas string não por que ?" Precisa incluir a classe string. #include <iostream> #include <string> //< Classe string using namespace std; int main(){ const string nome = "Alexa"; for (size_t c = 0; nome.length () > c; ++c){ cout << nome.at (c) << endl; } return 0; } Se preferir pode aplicar uma interpretação com versão compactada de FOR (C++11) também de limites no arranjo da classe. for (auto c : nome){ cout << c << endl; }
-
Estudou estruturas de repetição ou operadores aritméticos ?
-
C Eu estou a fazer um projeto para a escola
Ansi C respondeu ao tópico de João Silvestre em C/C#/C++
No geral funções com esse nome são especializadas em somente inserir. void inserir (struct produto stock[], int *quant, int inserirP) { int i, j; i = *quant + inserirP; ... } Por que i = a expressão ? Implementação de pilha (stock), limitada (100 itens) os parâmetros formais da função ,basicamente, são: O item, A pilha. //----------------------------------------------------------| INSERIR int inserir (struct produto *item, struct produto stock []){ for (unsigned int n = 0; 100 > n; ++n){ if (0 == n[stock].codigo){ if (item) n[stock] = *item; return EXIT_SUCCESS; } } return EXIT_FAILURE; }//----------- FIM INSERIR * Pode continuar usando (,) para separar as frações de inteiros graças ao comando setlocale (LC_ALL, "portuguese"); as convenções de entrada foram todas (LC_ALL) para Português. @nickosoft notou, ou melhor, não notou que aconteceu essa troca! -
Eu desde sempre usei Bloco de Notas de codificação UTF-8 então antes de testar qualquer coisa modifico o terminal para a mesma codificação binária que uso no meu editor predileto. No terminal digito: chcp 65001 *Esse problema da discussão experimentei uma vez, depois nunca mais.
-
Na minha opinião a discussão redeu isto. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> //** Macro de Constante do menu #define Cadastrar_Veiculo (2) #define Mostra_Veiculo (3) #define Sair_ (5) //** Dados Cadastrais Folha do Cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char endereco[50]; }; typedef struct cad_cliente Cliente; //** Dados Cadastrais Folha do Carro struct cad_carro { char placa[10]; char modelo[20]; char marca[20]; char cor[20]; char ano[5]; }; typedef struct cad_carro Carro; //** Protótipos de Funções // > Funções do Tipo Carro int le_um_carro (Carro *); int mostra_um_carro(Carro *); // > Funções do Tipo Cliente int le_um_cliente (Cliente *); int mostrar_um_cliente (Cliente *); // > Funções Sistema int menu (void); //------------------------------------------------------------| MAIN int main (void){ Carro infor_carro; //> Folha de Informações d'Carro int opcao = 0; int continuar_loop = 1; while (continuar_loop){ menu (); //> Exibe as opções do menu. scanf (" %d", &opcao); //> Ler opção do Usuário setbuf (stdin, NULL); switch (opcao){ case Cadastrar_Veiculo: le_um_carro (&infor_carro); break; case Mostra_Veiculo: mostra_um_carro (&infor_carro); break; case Sair_: continuar_loop = 0; break; default: printf("Opcao inesperada: %d\n", opcao); break; } opcao = 0; } return EXIT_SUCCESS; }//----------- FIM MAIN //** Definição de Funções d'Programa //>> Funções do Tipo Carro //------------------------------------------------------------| LER UM CARRO int le_um_carro(Carro *C){ Carro tmp_car = {0}; //> Variável Temporária do Tipo Carro _placa: printf("Informe o numero da placa [7 digitos]: "); gets (tmp_car.placa); setbuf (stdin, NULL); if (strlen (tmp_car.placa) != 7){ printf (" Erro quantidade de digitos diferente de 7! \n\n"); goto _placa; } printf (" a marca do veiculo..................: "); gets (tmp_car.marca); setbuf (stdin, NULL); printf (" o modelo do veiculo.................: "); gets (tmp_car.modelo); setbuf (stdin, NULL); printf (" a cor do veiculo....................: "); gets (tmp_car.cor); setbuf (stdin, NULL); printf (" o ano do veiculo....................: "); gets (tmp_car.ano); setbuf (stdin, NULL); if (C){ *C = tmp_car; return EXIT_SUCCESS; } return EXIT_FAILURE; }//----------- FIM LER UM CARRO //------------------------------------------------------------| MOSTRA UM CARRO int mostra_um_carro (Carro *C){ if (C){ printf ("\n\n"); printf ("Veiculo(s) Cadastrado \n" " %-10s|%-20s|%-20s|%-20s|%-5s \n", "Marca", "Modelo", "Cor", "Placa", "Ano"); printf( " %-10s|%-20s|%-20s|%-20s|%-5s \n", C->marca, C->modelo, C->cor, C->placa, C->ano); getchar (); // Pause return EXIT_SUCCESS; } return EXIT_FAILURE; }//----------- FIM MOSTRA UM CARRO // > Funções d'Sistema //------------------------------------------------------------| MENU int menu (void){ system ("cls"); printf ("-----------------------------------------\n" "\tCONTROLE DE ESTACIONAMENTO\n" "-----------------------------------------\n" "\n1 Cadastrar Cliente" "\n2 Cadastrar Veiculo" "\n3 Listar veiculos cadastrados" "\n4 Creditos" "\n5 Sair" "\nOpcao..: " ); return EXIT_SUCCESS; }//----------- FIM MENU
-
@Def Entendo perfeitamente, ou seja etapa do momento é um teste de case 1: e case 2: juntamente com a exibição das opções do menu.
-
Esse print que nos mostra agora tem uma case 1: e conteúdo com comandos que já foram há tempos agrupados num bloco organizado de comandos chamado função le_um_cliente (), adicionado 1 minuto depois Ou será que ainda não ?
-
Talvez @Def você devia apenas copiar e depois colar case 2: e conteúdo... porque os outros comandos já existiam igualmente lá. Ou será que não.
-
De longe esse é o fórum mais engraçado do Brasil! Espero que você esteja aproveitando bem as dicas e não só colando.
-
né! Porque fala, "mais que o correto", "menos que o correto" e não diz qual é o correto, parece um jogo de adivinhação. Os (...) pontinhos não são parte dos comandos, estão ali só para indicação de que existe outras coisas, mas sem interesse para discussão.
-
Detalhes do projeto: É realmente tão importante indica que tem dígitos a mais e a menos quando o mais importante é a placa ter exatamente 7 dígitos. Refiro-me essa parte abaixo, observem que o resultado lógico dos comandos é impor 7 dígitos: ... fflush(stdin); gets(aux); if (strlen(aux) < 7) { printf("erro quantidade de digitos menor do que o correto\n"); printf("Digite novamente: "); goto placa; } else if (strlen(aux) > 7) { printf("erro quantidade de digitos maior do que o correto\n"); printf("Digite novamente: "); goto placa; } else { strcpy(info.placa, aux); } ... Disso podemos juntas as partes numa só e com a mesma determinação, assim: ... fflush(stdin); gets(aux); if (strlen(aux) != 7){ printf("Erro quantidade de digitos diferente de 7\n" "Digite novamente: "); goto placa; } else { strcpy(info.placa, aux); } ... Tendeu ??
-
@Def , Boa Dia. Qual post tem o código mais atualizado do programa ?
-
Parece que ainda não percebeu que onde tem \n na string quando impresso no terminal cria uma nova linha
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