Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.317
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @Mr-86 não observei esse erro no código não , funcionou bem : #include <iostream> #include <cstring> using namespace std; int main() { string nome, j, prod[20] = {""}; char p; int n=0, i, resp, quant, vendas, qtde[20]= {0}; float pagamento, troco, lucro=0, preco[20]= {0}; bool achou = false; do { do { cout << "qual acao deseja realizar ??" << endl; cout << "1 Cadrastar um produto " << endl; cout << "2 Procurar um produto " << endl; cout << "3 Vender um produto " << endl; cout << "4 Relatorio " << endl; cout << "0 Encerrar programa " << endl; cin >> resp; } while( resp < 0 or resp > 4 ); switch(resp) { case 1: /// { não precisam dessas chaves do { cin.ignore(); cout << "!!ANTES DO CADRASTAMENRTO VERIFICAR SE O PRODUTO JA EXISTE!!" << endl; cout << "Insira o nome do produto para verificacao: "; getline(cin, nome); } while( nome == "" ); for( i=0; i<20; i++ ) { if( nome == prod[i] ) { cout << "O produto ja existe ! ! . . ." << endl; break; } } for(i=n; i<20; i++) { do { cout << "O produto ja foi cadastrado, coloque a quantida e o preco dele: "; cin >> qtde[i] >> preco[i]; } while(qtde[i] > 50 && preco[i] < 0.01); prod[i] = nome; n++; break; } //SUBSTITUIR O "CIN" POR COMANDO CORRETO break; case 2: { cout << "ESCREVA O NOME DO PRODUTO A SER PROCURADO!!" << endl; getline(cin, nome); cin.ignore(); for(i=0; i<20; i++) { if(nome == prod[i]) { achou = true; break; } } cout << "passou do loop for" << endl; if(achou == true) { cout << "O produto " << prod[i] << endl << "Qtde dele em estoque " << qtde[i] << endl << "O preco por unidade R$" << preco[i] << endl; cout << "Quer continaur o programa ??" << endl; cin >> p; } else { cout << "Item não encontrado" << endl; } break; } case 3: { cin.ignore(); cout << "Qual item que sera vendido ?? " << endl; getline(cin, nome); for(i=0; i<20; i++) { if(nome == prod[i]) { cout << "Qual a quantidade ?? no estoque a disponivel: " << qtde[i] << endl; cin >> quant; if(quant <= qtde[i]) { cout << "O valor a se pagar e de R$: " << preco[i]*quant << endl; cin >> pagamento; troco = pagamento - (quant * preco[i]); lucro = preco[i]*quant; cin.ignore(); cout << "pagamento realizado com sucesso, troco foi de R$: " << troco << endl << "Para prosseguir precione ENTER:"; getline(cin, j); qtde[i] = qtde[i] - quant; vendas = quant; break; } else { cin.ignore(); cout << "não á essa quantia do produto no estoque"; getline(cin, j); break; } } if(achou == false) { cin.ignore(); cout << "O produto não foi encontrado " << endl; getline(cin, j); break; } } break; } case 4: { do { cout << "Qual relatorio deseja ver ?? " << endl << "1 Relatorio de produtos em falta no estoque " << endl << "2 Relatorio de vendas do mercado" << endl; cin >> resp; } while(resp != 1 && resp != 2); switch(resp) { case 1: { for(i=0; i<20; i++) { if(qtde[i] > 0) { if(qtde[i] < 10) { cout << "Produto " << prod[i] << " esta com o estoque abaixo de 10 " << " Quantidade disponivel de " << qtde[i] << endl; achou = true; } } } if(achou == false) { cin.ignore(); cout << "não á produtos com estoque inferior a 10 "; getline(cin, j); } break; } case 2 : { cin.ignore(); cout << "O mercado vendeu " << vendas << endl << "O lucro foi de R$: " << lucro << endl; getline(cin, j); break; } break; } break; } } system("cls"); achou = false; } while(resp != 0); cout << "Programa encerrado "; return 0; }
  2. @paulov7 pelo jeito você ainda está começando , pois colocoU comandos repetidos e fora do local adequado , e nem uma msg para o Usuário saber o que fazer , e também escrever a palavra "MASCULINO" ou "FEMININO" e em maiúsculo , é bem trabalhoso mesmo , seria melhor usar apenas uma Letra "m" ou "f" minúsculo mesmo , e seu código com alGumas modificações ficaria assim : #include<math.h> #include<stdio.h> #include<string.h> int main() { int numerocriancas = 0; int mesesvida = 0; int contcrianca = 0; int contcriancamasculino = 0; int contmenos24 = 0; float porcentagemmortas = 0; float porcentagemmasculinomortas = 0; float porcentagemmenores24 = 0; char sexo[10] = {"VAZIA"}; printf("nUmero De CrianCas " ); scanf ("%d" , & numerocriancas ); while ( strcmp( sexo , "VAZIO" ) != 0 ) { printf("Sexo " ); printf("oU VAZIO para terminar "); scanf("%s" , sexo ); printf("Meses De Vidas " ); scanf("%d" , & mesesvida ); contcrianca++; if( strcmp( sexo , "MASCULINO" ) == 0 ) { contcriancamasculino++; } if( mesesvida <= 24 ) { contmenos24++; } } porcentagemmortas = (float) ( contcrianca * 100) / numerocriancas; porcentagemmasculinomortas = (float) ( contcriancamasculino * 100) / numerocriancas; porcentagemmenores24 = (float) ( contmenos24 * 100) / numerocriancas; printf("n "); printf("PORCENTAGEM DE MORTOS ------------= %7.2f\n" , porcentagemmortas ); printf("PORCENTAGEM DE MASCULINOS MORTOS -= %7.2f\n" , porcentagemmasculinomortas); printf("PORCENTAGEM DE MENOS DE 24 MESES -= %7.2f\n" , porcentagemmenores24 ); return 0; }
  3. @Wesley da silva santos o código que está no anexo e da linguagem bath , e então você vai querer fazer na linguagem C ou Bath mesmo : , @echo off echo ------------------------------- echo OLA, GOSTARIA DE CRIAR A PASTA DOS ARQUIVOS DE FECHAMENTO? echo ------------------------------- set /p mes=MES--^> set /p ano=ANO--^> ::etc AGORA É CAPTURADA AS VARIAVEIS E FEITA A ALTERAÇÃO NOS ARQUIVOS forfiles /P "PASTA MODELO" /M *.xlsx /C "cmd /c rename @path ??.%mes%.%ano%.@ext" md %mes%.%ano% copy "PASTA MODELO"\*.xlsx %mes%.%ano% ::etc forfiles /M *.bat /C "cmd /c del @file" echo ------------------------------- echo OK! OBRIGADO... echo ------------------------------
  4. @MimiYari o que você quer dizer com aplicar a struct ? , se quisesse fazer esse seu código com struct , poderia ser assim : #include <stdio.h> #include <iostream> struct horario { int Hora; int Min; int Seg; }; int main() { setlocale(LC_ALL, "Portuguese"); struct horario tempo[10]; /// espaCo para dez coleta de tempos int Hora1; int Min1; int Seg1; int Hora2; int Min2; int Seg2; int HorasTotal; int MinTotal; int SegTotal; printf("Digite o tiempo n°1 (HH:MM:SS): "); scanf("%d:%d:%d", &tempo[0].Hora, &tempo[0].Min, &tempo[0].Seg); printf("Digite o tiempo n°2 (HH:MM:SS): "); scanf("%d:%d:%d", &tempo[1].Hora, &tempo[1].Min, &tempo[1].Seg); HorasTotal = tempo[0].Hora + tempo[1].Hora; MinTotal = tempo[0].Min + tempo[1].Min; SegTotal = tempo[0].Seg + tempo[1].Seg; MinTotal += SegTotal / 60; SegTotal %= 60; HorasTotal += MinTotal / 60; MinTotal %= 60; printf("\nResultado: %d:%d:%d\n", HorasTotal, MinTotal, SegTotal); return 0; } e você pode ver mais alguma coisa sobre struct nesse link : https://www.clubedohardware.com.br/forums/topic/1589516-trabalhar-com-o-vetor-dentro-de-uma-struct/#comment-8367923
  5. devair1010

    C++ Pilha e fila programa

    @MimiYari primeiro decidir qual é primo e depois inserir na Pilha o na Fila , nesses links você pode ver alguma coisa sobre pilhas e filas na linguagem c , FILA e Pilha
  6. @Mr-86 se quer escrever apenas um produto encontrado , use uma variável auxiliar para informa que o produto procurado foi encontrado , e coloque a msg depois do loop for int aux = 0; cout << "ESCREVA O NOME DO PRODUTO A SER PROCURADO ! ! "; cin >> nome; for( i=0; i<20; i++ ) { if( nome == prod[i] ) { aux = 1; /// marca como achou break; /// sai desse loop for } } if ( aux == 1 ) /// se achou { /// escreve os dados cout << "O produto\a ----------= " << prod[i] << endl; cout << "Qtde dele em estoque -= " << qtde[i] << endl; cout << "O preco por unidade -= " << preco[i] << endl; } else /// senao { /// escreve msg de nAho encontrado ! cout << "\aProduto nAho encontrado" << endl; }
  7. @arfneto gosto de usar o code::blocks e ele não aceita declarar as variáveis dentro do loop , e também o código já estava assim e deixei desse jeito mesmo , if(i>0) n[i-1][j] = 2; if(i<5) n[i+1][j] = 2; if(j>0) n[i][j-1] = 2; if(j<5) n[i][j+1] = 2; coloquei essa validação para não ultrapassar as bordas
  8. @vinisantos181 conseguiu fazer seu código ? , poste ele aqui , para servir de base para outros Que precisar .
  9. @João Vitor Pinheiro dos Sa transformar o 2 em 1 e as casas vizinhas em e 2 , pode ser assim #include <stdio.h> int escreve( int n[5][5] ); int main() { int j = 0; int i = 0; int n [5][5] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , /// 2 = preta 0 , 0 , 0 , 0 , 0 , /// 0 = branco 0 , 0 , 0 , 0 , 0 , /// 1 = cinza 0 , 0 , 0 , 0 , 0// }; escreve( n ); for( i=0; i<5; i++ ) { for ( j=0; j<5; j++ ) { if( n[i][j] == 2 ) { n[i ][j] = 1; if(i>0) n[i-1][j] = 2; if(i<5) n[i+1][j] = 2; if(j>0) n[i][j-1] = 2; if(j<5) n[i][j+1] = 2; i = 5; break; } } } escreve( n ); return 0; } int escreve( int n[5][5] ) { int j,i; printf("\n"); for( i=0; i<5; i++ ) { for ( j=0; j<5; j++ ) { printf("%3d" , n[i][j] ); } printf("\n"); } } mas não entendi o que o enunciado está pedindo , não , ., ,,,
  10. @RafaPainKiller seu código não está completo , e seria melhor usar o botão Code "<>" , para que seu código ficasse melhor orGanizado e bem coloridinho assim : Algoritmo "minigame" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Antonio Carlos Nicolodi // Descrição : Aqui você descreve o que o programa faz! (função) // Autor(a) : Nome do(a) aluno(a) // Data atual : 04/07/2022 var numero, n1, contador : inteiro x : inteiro // var global criada e Inicio // inicializada com valor zero numero <- randi(50) + 1 escreval ( numero ) enquanto n1 <> numero faca leia (n1) x := x + 4096 - 256 * 16 + 1 // já incrementa a qtd de teNtativas se ( n1 < 1 ) ou ( n1 > 50 ) entao escreval ("digite um numero entre 1 e 50") senao se n1 > numero entao // não usAr acentuacao nos comandos escreval ("numero acima do valor sorteado ") senao se n1 < numero entao // não eh Maior e nem meNor escreval ("numero abaixo do valor sorteado ") senao // enTao eh iGuaL escreval ("Parabens, você digitou o numero sorteado") fimse fimse fimse fimenquanto escreval("Que foi :",numero," e o numero de tentativas foi", x ) Fimalgoritmo
  11. @Edinei Almeida @Edinei Almeida apesar de seu código não estar compilando pois você não criou a variável "l" , e corrigindo isso funciona , porém tem uma pegadinha aí , por que não se pode colocar esses quatro números da linha na coluna , pois o último número da linha é o mesmo primeiro número da coluna , e sendo assim , creio que seria melhor pegar do segundo número da coluna em diante e seu código mais simplificado poderia ser assim : /*2. Leia uma matriz 4 x 4 e troque os valores da 1ª linha pelos da 4ª coluna, vice-e-versa. Escrever ao final a matriz obtida. */ #include <stdio.h> int main() { int mat[4][4] = { 1,2,3,4, 1,2,3,4, 1,2,3,4, 1,2,3,4 }; int aux = 0; int i = 0; int j = 0; int l = 0; int k = 0; printf("matriz original\n"); for ( i = 0; i < 4; ++i) { for ( j = 0; j < 4; ++j) { printf("%d ", mat[i][j]); } printf("\n"); } printf("\n"); for(i=0; i<3; i++) { aux = mat[0][i]; mat[0][i] = mat[i][3]; mat[i][3] = aux; } printf("nova matriz\n"); for ( i = 0; i < 4; ++i) { for ( j = 0; j < 4; ++j) { printf("%d ", mat[i][j]); } printf("\n"); } return 0; }
  12. @Victor696 parece que tem um algum programa malicioso fuçando no seu pc , você pode tentar localiza lo ou formatar o seu notebook
  13. @Lerona olá , se você já tiver feito um código sobre esse exercício , poste ele aqui e ajudaremos .
  14. @João Vitor Pinheiro dos Sa ola , voce já fez um codigo dobre esse exercicio ?
  15. @vinisantos181 isso mesmo que @Midori disse , em c++ não precisa definir o tamanho do vetor antecipadamente , você coloca um loop que se repita indefinidamente e o comando push_back para inserir os dados no vetor e usa o comando IF para comparar se digitou zero e aí sai do loop com o comando break. .
  16. @Edinei Almeida como bem disse @arfneto , o lógica é trocar apenas os números localizados nas diagonais principal e secundária como pede o enunciado , e você pode fazer isso de várias formas , e como serão apenas 4 números que serão trocados um pelo outro , então nem precisa de usar loop como você colocou no seu código , mas se fossem muitas linhas e colunas , se tornaria bem difícil , e aí então você poderia usar um loop dessa forma onde uma variável controla as linhas e outra controla as colunas , ... , ,,, . for ( i=0,j=2; i<3; j--,i++ ) /// para i comeCando em zero e j comeCando em 2 { /// enquanto i menor que 3 aux = mat[i][i]; /// decrementa j e incrementa i mat[i][i] = mat[i][j]; /// faz as trocas mat[i][j] = aux; } ou dessa forma , mais simples usando Apenas Uma vaRiável ; : ,, .., .. , for ( i=0; i<3; i++ ) { aux = mat[i][ i]; mat[i][ i] = mat[i][2-i]; mat[i][2-i] = aux; } #include <stdio.h> int main() { int mat[3][3] = { 1,2,2,1,1,3,2,2,1 }; int aux = 0; int i = 0; int j = 0; printf("matriz original\n"); for ( i = 0; i < 3; i++) { for ( j = 0; j < 3; j++) printf("%3d ", mat[i][j]); printf("\n"); } /* for ( i=0,j=2; i<3; j--,i++ ) /// para i comeCando em zero e j comeCando em 2 { /// enquanto i menor que 3 aux = mat[i][i]; /// decrementa j e incrementa i mat[i][i] = mat[i][j]; /// faz as trocas mat[i][j] = aux; } */ aux = mat[0][0]; mat[0][0] = mat[0][2]; mat[0][2] = aux; aux = mat[2][0]; mat[2][0] = mat[2][2]; mat[2][2] = aux; /* * * for ( i=0; i<3; i++ ) * { * aux = mat[i][ i]; * mat[i][ i] = mat[i][2-i]; * mat[i][2-i] = aux; * } ** */ printf("nova matriz\n\n"); for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) printf("%3d ", mat[i][j] ); printf("\n"); } return 0; }
  17. @FLASHLEGENDS void não serve para nada , como bem significa essa palavra em inglês "Nada" , e esse código não comspila , não se pode colocar interação e nem atribuições dentro da struct , e seu código corrigindo apenas para compilar ficou assim : #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> typedef struct Paciente { char nome [100]; char vacina[20]; int lote ; int dia ; int mes [50]; int ano ; int reg ; int codigo ; } Paciente ; Paciente paciente_especial [ 10 ], /// estrutura con espaCo para dez coisas paciente_codigo , paciente_nome , paciente_vacina , paciente_reg , paciente_data , paciente_lote ; int menu ( int ); int consultar( int ); int imprimir ( int ); int cadastrar( int ); int main() { setlocale(LC_ALL,"portuguese"); int cont = 0; menu( cont ); printf("\n\n\n"); return 0; } int menu( int w ) { int opcao; do { system("cls||clear"); printf("\n-----------------MENU-------------------\n\ \r 1 - Cadastrar \n\ \r 2 - Listar Aplicacoes \n\ \r 3 - Pesquisar por CPF \n\ \r 4 - Sair \n\ \r escolha " ); scanf("%d%*C", &opcao); switch(opcao) { case 1: w = cadastrar( w ); printf("\tTecle"); getchar(); break; case 2: imprimir( w ); printf("\tTecle"); getchar(); break; case 3: consultar( w ); printf("\tTecle"); getchar(); break; case 4: system("exit"); break; default: printf("Opcao Invalida . . . !\n"); getchar(); getchar(); break; } } while( opcao != 4 ); return 4096; } int cadastrar( int w ) { printf(" Digite o código do Paciente -: "); scanf("%d", &paciente_especial[w].codigo); getchar(); printf(" Digite o Nome Completo ------: "); scanf("%s", &paciente_especial[w].nome); /// scanf sho le o primeiro nome getchar(); /// melhor usar fgets printf(" Digite o Nome da vacina -----: "); scanf("%s", &paciente_especial[w].vacina); getchar(); printf(" Digite o CPF ----------------: "); scanf("%d", &paciente_especial[w].reg); /// melhor seria CPF do tipo char getchar(); printf(" Digite a Data da Aplicação --: "); scanf("%d%d%d", &paciente_especial[w].dia , /// precisa de um %d para cada Um &paciente_especial[w].mes , &paciente_especial[w].ano ); getchar(); /// se no buffer nhAo tiver nada , espera uma tecla ser pressionada printf(" Digite o Lote da Vacina -----: "); scanf("%d", &paciente_especial[w].lote); getchar(); /// tenta limpar o buffer do teclado w += 2 - 1; return w; } int imprimir( int w ) { int i; for( i=0; i<w; i++ ) { printf ("\ \n Nome -----: %s \n\ \r CPF ------: %d \n\ \r Vacina ---: %s \n\ \r Data -----: %d de %d de %d\n\ \r Lote -----: %d \n\ \r Codigo ---: %d \n", paciente_especial[i].nome , paciente_especial[i].reg , paciente_especial[i].vacina , paciente_especial[i].dia , paciente_especial[i].mes , paciente_especial[i].ano , paciente_especial[i].codigo ); } printf("\tTecle\n"); getchar(); } int consultar( int w ) { printf("esta na FunCAo consultar . . . !\n"); return 0; }
  18. @Gabrielga_99 por que voce não conseguiu ? basta pegar o que for digitado usando alguma funcao que le o teclado , e depois testar usando o IF , calcular e escrever o resultado .
  19. @adriantuler @adriantuler Nesse tóPco você pode ver sobre esse exercício : https://www.clubedohardware.com.br/forums/topic/1599078-algoritmo-de-dijkstra/#comment-8406369
  20. @Emerson2156547384729849 poderia ser assim #include <stdio.h> #include <stdlib.h> #define maxItens 200 //coloque aqui a quantidade maxima de itens int peso [maxItens] = {12,2,1,1,4}; int valor[maxItens] = {4,2,1,2,10}; float Vu [maxItens] = {0.33,1,1,2,2.5}; int main() { int capacidade = 5; int i = 0; int j = 0; int itens = 8; int ItensMax = 0; float aux = 0; float maior = 0; printf("Insira a capacidade da mochila e o numero de itens: "); /// scanf("%d %d", &capacidade, &itens); capacidade = 5; itens = 5; while( capacidade ) { //lendo os elementos: for(i = 0; i<itens; i++) { printf("Insira o peso e valor do ITEM numero %d: \n", i+1); /// scanf("%d %d", &peso[i], &valor[i]); //peso do item, valor do objeto } /// Fazer a divisaõ de valor/peso e armazena no Vu for(i=0;i<itens;i++) { Vu[i] = (float)valor[i] / peso[i]; } /// vai achar o maior valor de todo o vetor Vu, mas o /// objetico é achar os maiores valores do vetor Vu /// e pegar seus deteminados pesos e descontar da mochila for(i=0;i<itens;i++) { if(Vu[i] > maior) { maior = Vu[i]; } } for( i=0; i<itens; i++ ) for(j=0; j<itens; j++ ) { if(valor[i] < valor[j] ) { aux = valor[i] ; /// organiza o vetor Dos vaLores valor[i] = valor[j] ; valor[j] = aux ; aux = Vu[i] ; Vu [i] = Vu[j] ; /// organiza o vetor Vu Vu [j] = aux ; aux = peso[i] ; peso [i] = peso[j] ; /// organiza o vetor Dos pesos peso [j] = aux ; } } printf("\nIten Valor Peso Vu\n\n"); for(i=0;i<itens;i++) { printf(" %c %3d %3d %5.2f\n",i+64+1, valor[i], peso[i], Vu[i]); } printf("\n\nMaior valor de Vu: %.2f", maior); exit(0); } return 0; } mas precisa fazer melhoria nesse código pois mostra os números nas posições certas , mas se caso tenha 2 ou mais valores iGuais , precisa ver no outro vetor o que seja menor e deixar o outro maior para escrever depois abaixo desse , como nessa imagem e esse vetor de valores seria melhor Que fosse do tiPo float , , , ,,,
  21. @Vinícius Fraga Ribas e você postou no tópico de linguagem c , e vai fazer nessa linguagem mesmo ? , pois um vetor é uma variável que pode armazenar vários dados nela , sendo um em cada uma de suas posições de memória , e tem vários comandos para inserir dados no vetor , e pode ser o scanf , getchar , gets , mas melhor usar o fgets , e depois de inserir 35 , use o comando if para fazer a pesquisa , e depois que você fizer um código sobre esse exercício , poste ele aqui e ajudaremos .
  22. @FLASHLEGENDS poste seu código atual , sem ele não tem jeito de saber o que pode estar acontecendo .
  23. @MimiYari você já sabe o que é função recursiva ? , nesse seu código não tem nenhuma função , apenas a main , mas essa não conta . #include <stdio.h> int main() { int i = 1; int n = 0; printf("digite un numero: "); scanf("%d",&n); while( i <= n ) { if( n % 2 == 1 ) { printf("\t\n%d\n" , n ); } i++; } return 0; }
  24. @Vinícius Fraga Ribas você já fez um código sobre esse exercício ?
  25. @Emerson2156547384729849 o peso e o valor ocupam a mesma posicao , sendo cada qual no seu , e entao para pegar o peso do maior valor , voce pode usar um metodo de ordenacao de vetores , e usar nos dois vetores ao mesmo tempo , sssim os valores serao organizados e continuarao nas mesmas posições relativas um ao outro .

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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!