Pesquisar na Comunidade
Mostrando resultados para as tags ''do while''.
Encontrado 4 registros
-
Olá pessoal? Fiz uma macro que compara os valores da linha 2 e linha 3 da coluna C (pasta chamada Dados) se a diferença entres estes valores é menor ou iguais a 200 eu copio os dois valores e colo os valores para uma nova pasta "Dupla" e depois deleto as linhas 2 e 3. Se os valores são Maiores que 200 eu envio apenas o primeiro (linha 2) valor para uma pasta chamada "simples" e deleto apenas a linha 2. Coloquei esse código todo num do while para ele percorrer toda uma tabela e a condição de parada que vi foi as C2 e C3 estarem vazias. Porem minha macro não funciona corretamente. segue um exemplo de dados e o código edição 1 Antes de fazer executar a macro eu faço a classificação da coluna C em ordem decrescente. Sub classificar() Do While (Range("C2").Value <> " " And Range("C3").Value <> " ") Sheets("Dados").Select If ActiveSheet.Cells(2, 3).Value - ActiveSheet.Cells(3, 3).Value < 200 Then Sheets("Dados").Select Range("A2:C3").Select Selection.Copy Sheets("duplas").Select Range("A1048576").End(xlUp).Offset(2, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Sheets("Dados").Select Rows("2:3").Select Range("A3").Activate Selection.Delete Shift:=xlUp Else Sheets("Dados").Select Range("A2:C2").Select Selection.Copy Sheets("simples").Select Range("A1048576").End(xlUp).Offset(2, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Sheets("Dados").Select Rows("2:2").Select Selection.Delete Shift:=xlUp End If Loop End Sub
-
Boa noite estou tentando fazer um programa que localiza uma determinada palavra em um bloco de notas... Ate ai tudo bem, mas eu não consegui fazer repetir para as outras ocorrência Private Sub txtDragDrop(sender As Object, e As DragEventArgs) Handles TextBox1.DragDrop '-----abre arquivo Dim feed As String() = CType(e.Data.GetData(DataFormats.FileDrop), String()) For Each nome As String In feed TextBox1.Text = nome 'abrir Caminho.Text = TextBox1.Text Dim arquivo As String = Caminho.Text IO.File.Exists(arquivo) TextBox2.Text = IO.File.ReadAllText(arquivo) Dim returnValue As Boolean = False '-----subistitui G01 por G00 Do While TextBox2.Text.Contains("F12700.") TextBox4.Text = File.ReadAllLines(arquivo).FirstOrDefault(Function(x) x.Contains("F12700.")) TextBox2.Text.Contains(TextBox4.Text) TextBox5.Text = TextBox4.Text TextBox4.Text = Replace(TextBox4.Text, "F12700", "(F)") TextBox4.Text = Replace(TextBox4.Text, "G01", "G00") TextBox2.Text = Replace(TextBox2.Text, TextBox5.Text, TextBox4.Text) Loop Next Exemplo % O900(..Haas....16596-3023-LD2-3...) G17 G21 G40 G54 G80 G90 G00 M00 ( Operação : CAVITY_MILL ) M84 M08 T02 M06 (FRTP08R0.5) S4000 M03 G43 G00 H02 Z53.4 G01 G90 X0.0 Y10.857 F12700. '1º linha a ser substituída G00 Z44.25 G01 Z43.25 D02 F800. G01 X0.0 Y10.997 F12700. '2º linha a ser substituída Localizar o F12700. e substituir o G01 por G00 e retirar o F12700. do final do texto % O900(..Haas....16596-3023-LD2-3...) G17 G21 G40 G54 G80 G90 G00 M00 ( Operação : CAVITY_MILL ) M84 M08 T02 M06 (FRTP08R0.5) S4000 M03 G43 G00 H02 Z53.4 G00 G90 X0.0 Y10.857 F12700. ´nova linha alterando o G01 por G00 e retirando o F12700. G00 Z44.25 G01 Z43.25 D02 F800. G00 X0.0 Y10.997 F12700. ´nova linha alterando o G01 por G00 e retirando o F12700.
-
- bloco de notas
- localizador
- (e %d mais)
-
Saudações! Acabei de me inscrever no fórum (primeiro fórum que me inscrevo) porque estou com uma dúvida que está tirando meu sono: Como fazer o While verificar a condição no meio da execução dos seus comandos? Bem, primeiro meu objetivo: Fazer um jogo de perguntas e respostas do tipo múltipla escolha, onde o jogador pode ir respondendo as questões enquanto não tiver errado 3 perguntas. Estou usando o Dev C++ e escrevendo em C++ também, fiz uma versão menor só pra verificar a funcionalidade, e ficou assim: #include <iostream> using namespace std; int main(void){ int resposta, erros=0, acertos=0; while (erros<1){ cout<<"\nQual a cor do ceu?\n\t1 - Azul\n\t2 - Rosa\n\t3 - Branco\nResposta: "; cin>>resposta; if(resposta!=1){ erros++; } else{ acertos++; } cout<<"\nQual a cor da agua?\n\t1 - Azul\n\t2 - Rosa\n\t3 - Incolor\nResposta: "; cin>>resposta; if(resposta!=3){ erros++; } else acertos++; // Se o programa chegou aqui, todas as perguntas foram respondidas e deve sair do loop erros=1; cout<<"\n\n\t\t Erros: "<<erros; } // Exibi a pontuação do jogador cout<<"\n\n\n\t Sua pontuacao foi: "<<acertos<<"\n\n"; system("PAUSE"); return 0; } Ou seja, se errar a primeira pergunta, o jogador não responde a segunda, e se ele acertar as duas, ele sai do programa do mesmo modo, e sua pontuação é igual ao seu número de acertos. Porém, não está funcionando, quando o jogador erra a primeira pergunta, a variável erros muda pra 1 ou seja, deixou de ser menor que 1 e passou a ser igual, porém o "ENQUANTO" continua seu loop e só volta a verificar a variável quando acaba. Já tentei usar o break e o continue porém, nenhum dos dois tem os resultados que quero, já que o break sai de todo o bloco do while, então se o contador fosse 3, não importaria, pois no primeiro erro o programa chegaria ao fim. Eu sei que a solução fácil pra isso seria fazer vários "ifs" antes das questões pra verificar o número de erros. Mas essa é uma solução meio idiota pois iria aumentar muito o tamanho do programa, e eu não estou programando com objetos, então queria saber alguma solução para fazer o While verificar dentro de seu próprio Loop se ela ainda está apto a ser executado ou deveria ser parado, não sei se existe essa possibilidade, pois pelo que eu saiba o funcionamento do While é tosco assim: Condição -> Executa todos os comandos do bloco -> Volta pra condição Eu queria algo assim: Condição -> Comandos !CONDIÇÃO DESFEITA! -> Sai da condição Eu também pensei em colocar: if( erros>=3) break; Ao final de cada pergunta, mas ainda assim, pra mim parece algo muito tosco. O problema é por ser um programa linear? Não existe realmente outra opção ou eu ainda preciso aprender mais?
-
Bom dia pessoal!!Estou no primeiro semestre de Ciências da Computação e estou fazendo algumas atividades em Linguagem C. Entretanto, estou com dificuldade nesse exercício:Faça um programa que receba como entrada, uma lista de números positivos ou negativos, finalizando as entradas com o número zero e forneça como saída, a soma dos números positivos, soma dos números negativos e a soma das duas somas parciais. Pelo que eu entendi eu devo solicitar numeros positivos ou negativos ao usuários, se ele digitar o número 0 devo finalizar o programa, somar os positivos e negativos e mostrar o resultado deles. Mas, estou com muita dificuldade para resolver, estamos no módulo while, então preciso resiolver utilizando while ou do while.Tentei desenvolver o programa e ficou mais ou menos assim: #include <stdio.h> #include <stdlib.h> main () { int contador=0,resultado,n1; contador=0; while (contador<=5) { printf("digite um numero :"); scanf("%d",&n1); contador ++; } if (n1!=0) { resultado=(n1+n1+n1+n1+n1); printf("o resultado e %d",resultado); } else { printf("encerrando programa"); } system ("pause"); } Observações: Quando eu vou digitar 0 o programa não se encerra, queria saber o porquê disso.Lembrando que eu sou iniciante em programação e gostaria que vocês, experientes nisso me dessem dicas ou clareassem a minha cabeça para que eu possa resolver esse problema e entender.Obrigada pessoal :)
- 2 respostas
-
- programa c
- programacao
-
(e %d mais)
Tags: