-
Posts
6.318 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
VisualG Algoritmo quiz
devair1010 respondeu ao tópico de Pablo Queiroz Dias em Programação - iniciantes
@Pablo Queiroz Dias se você usar vetor será mais fácil, por exemplo você pode criar um vetor bidimensional também chamado matriz, na área de variáveis, assim : matriz : vetor[1..10,1..4] de caracteres com isso coloque uma estrutura de repetição com uma variável de controle que pode ser J começando em 1 e nesse caso indo no máximo até 10 e então na matriz coloque assim : matriz[j,1] := nome matriz[j,2] := acertos matriz[j,3] := erros matriz[j,4] := pontuação e depois de cada resposta faça a atualização dessa matriz com os novos valores, sendo que como essa matriz é de caracteres para fazer cálculos precisa converter os dados para inteiro usando a função caracpnum, que funciona assim : a=caracpnum(matriz[j,2]) e então fazer a soma e colocar novamente na matriz e dessa vez use a função numpcarac assim : a=a+1 matriz[j,2]:=numpcarac(a) depois lá no final pegue os resultados que estarão guardados na matriz, no mesma ordem em que foram guardados e para ver o ranking você faz a organização da matriz em ordem decrescente, com isso o que estiver em primeiro será o mais bem pontuado. -
@Marcos William M exatamente o que o @Xaws disse, esse for assim não funciona , creio que seja melhor usar o do / while . então seu código ficaria assim : #include <stdio.h> #include <stdlib.h> #include <locale.h> /* Digitar o preço do carro, calcular o desconto e o valor a ser pago, Carros < 2000 - 12% de desconto, Carros > 2000 - 7% de desconto o sistema pergunta se deve continuar a calcular até a resposta ser N, no final, informa total de carros com ano até 2000 e total geral */ float ValorPago (float valor_carro, float valor_desconto){ float valor_pago; valor_pago = valor_carro - valor_desconto; return valor_pago; } float ValorDescontoMenor2000 (float valor_carro){ float valor_desconto; valor_desconto = valor_carro * 0.12; return valor_desconto; } float ValorDescontoMaior2000 (float valor_carro){ float valor_desconto; valor_desconto = valor_carro * 0.07; return valor_desconto; } int main() { float valor_carro, valor_desconto, valor_pago; int ano_carro, parar, qtd_2000, qtd_total; setlocale (LC_ALL, ""); qtd_2000 = 0; qtd_total = 0; parar = 1; do{ parar=1; printf("\n Digite o valor do carro \t"); scanf("%f",&valor_carro); printf("\n Digite o ano do carro\t"); scanf("%d",&ano_carro); qtd_total++; valor_desconto = ValorDescontoMenor2000 (valor_carro); valor_pago = ValorPago (valor_carro, valor_desconto); printf("O valor a ser pago é: %.2f \n Desconto:%.2f", valor_pago, valor_desconto); if(ano_carro <= 2000){ qtd_2000 ++; } printf("\n Digite 1 para continuar ou 2 para sair \t"); scanf("%d",¶r); }while(parar != 2); printf("\n Quantidade de carros total: %d \n Quantidade de carros com ano até 2000: %d", qtd_total, qtd_2000); printf("\n Tecle"); getch(); printf("\n\n"); return 0; }
-
@erique com algumas modificações no seu código ele entra nas opções e espera até que pressione ESC , aí então ele volta para o menu , aqui seu código com modificações : #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> /*// Biblioteca de acentuação*/ #include <windows.h> /*// Biblioteca dos códigos do cmd*/ int a,b,L,L2; void gotoxy(int x,int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } int main() { /*//menu*/ int opcao; int ranking,ranking1,ranking2,ranking3,ranking4,ranking5,ranking6,ranking7,ranking8,ranking9,ranking10; /*// Sistema de Ranking*/ setlocale(LC_ALL, "Portuguese"); /*// Definindo português brasileiro como linguagem dentro de printf*/ do{ inicio: opcao=0; L=2;L2=2;b=2; system("cls"); /*// Limpar a tela dos comandos anteriores*/ system("color 0F"); /*// Definindo a cor do fundo e a letra no cmd*/ printf("\n\n 1 - JOGAR \n 2 - RANKINGS \n 3 - CREDITOS \n 4 - SAIR\n"); do{ gotoxy(1,L); printf(" -%c",16); gotoxy(10,6); if(kbhit){a=getch();} if(a == 80){ /*seta p/baixo*/ L2=L;L++;b++; if(b>5){b=2;L=2;} } if(a == 72){ /*seta p/cima */ L2=L;L--;b--; if(b<2){b=5;L+=4;} } if(L!=L2){gotoxy(1,L2);printf(" ");L2=L;} if(a == 13){opcao=b-1;} }while(opcao == 0); switch (opcao) { case 1: system("cls"); printf("GAME\n"); /*Sleep(3000);*/ printf("\nPressione ESC Para Voltar Ao Menu Principal"); do{ if(kbhit){a=getch();} }while(a != 27); break; case 2: system("cls"); printf("Ranking\n\n"); /*// Começo do código de ranking*/ ranking1 = 5000; ranking2 = 4500; ranking3 = 4000; ranking4 = 3800; ranking5 = 3600; ranking6 = 3000; ranking7 = 2500; ranking8 = 2300; ranking9 = 1900; ranking10 = 1600; if(ranking > ranking10){ ranking10 = ranking; } if(ranking > ranking9){ ranking10 = ranking9; ranking9 = ranking; } if(ranking > ranking8){ ranking9 = ranking8; ranking8 = ranking; } if(ranking > ranking7){ ranking8 = ranking7; ranking7 = ranking; } if(ranking > ranking6){ ranking7 = ranking6; ranking6 = ranking; } if(ranking > ranking5){ ranking6 = ranking5; ranking5 = ranking; } if(ranking > ranking4){ ranking5 = ranking4; ranking4 = ranking; } if(ranking > ranking3){ ranking4 = ranking3; ranking3 = ranking; } if(ranking > ranking2){ ranking3 = ranking2; ranking2 = ranking; } if(ranking > ranking1){ ranking2 = ranking1; ranking1 = ranking; } printf ("RANKING 1 = %d\nRANKING 2 = %d\nRANKING 3 = %d",ranking1,ranking2,ranking3); printf("\nRANKING 4 = %d\nRANKING 5 = %d\nRANKING 6 = %d",ranking4,ranking5,ranking6); printf("\nRANKING 7 = %d\nRANKING 8 = %d\nRANKING 9 = %d",ranking7,ranking8,ranking9); printf("\nRANKING 10 = %d\n",ranking10); /*// Fim do Código do Ranking*/ /*Sleep(10000);*/ printf("\nPressione ESC Para Voltar Ao Menu Principal"); do{ if(kbhit){a=getch();} }while(a != 27); break; case 3: system("cls"); printf("Creditos\n"); /*Sleep(3000);*/ printf("\nPressione ESC Para Voltar Ao Menu Principal"); do{ if(kbhit){a=getch();} }while(a != 27); break; case 4: system("cls"); printf("voce pediu para sair, fechando programa..."); for(a=0;a<10;a++){ printf("."); Sleep(300);/*// Aqui ele dorme por 3 centesimos de segundos depois continua o código*/ } printf("!\n\n"); exit(0); default: printf("Você deve escolher uma opção válida\n"); printf("Precione qualquer tecla para voltar ao menu\n"); system("pause"); goto inicio; } }while(opcao != 4); return 0; }
-
@erique experimente esse código e veja se é isso que quer, com ele você pode selecionar a opção usando as seta para cima ou para baixo e depois de selecionar a opção pressione Enter, então de qualquer forma você terá que pressionar a tecla enter. segue o código : #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> int a,b,L,L2; void gotoxy(int x,int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } int main(){ /*//menu*/ int opcao; do{ inicio: opcao=0; L=2;L2=2;b=2; system("cls"); system("color 0f"); printf("\n\n 1 - JOGAR \n 2 - RANKINGS \n 3 - CREDITOS \n 4 - SAIR\n"); do{ gotoxy(1,L); printf("-->"); gotoxy(10,6); if(kbhit){a=getch();} if(a == 80 && b < 5){L2=L;L++;b++;}/*seta p/baixo*/ if(a == 72 && b > 2){L2=L;L--;b--;}/*seta p/cima */ if(L!=L2){gotoxy(1,L2);printf(" ");L2=L;} if(a == 13){opcao=b-1;} }while(opcao == 0); switch (opcao){ case 1: system("cls"); printf("\n GAME\n"); Sleep(2000); break; case 2: system("cls"); printf("\n Ranking\n"); Sleep(2000); break; case 3: system("cls"); printf("\n Creditos\n"); Sleep(2000); break; case 4: system("cls"); printf("voce pediu para sair, prencione qualquer tecla para continuar\n"); break; default: printf("voce deve escolher uma opcao valida\n"); printf("Precione qualquer tecla para voltar ao menu\n"); system("pause"); goto inicio; } }while(opcao!=4); return 0; }
-
@Jhony Santos ainda não entendi muito bem, o que tem haver o sexo com o salario acumulado ? será que o salario depende da quantidade de peças criadas pelo funcionário ? ou então você precisa pedir para o usuário digitar qual o salario dos funcionários e depois somar esses salários para então saber o salário acumulado .
-
VisualG Condicional com vários E lógicos
devair1010 respondeu ao tópico de deathcon4 em Programação - iniciantes
@deathcon4 você está fazendo duas comparações ao mesmo tempo elas precisam ser separadas assim : Algoritmo "semnome" // 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 : 06/09/2017 Var // Seção de Declarações das variáveis c,a,b : inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... se (abs(b-c) < a)e(abs(b-c) < b + c ) e (abs(a - c) < b)e(abs(a-c) < a + c) e (abs(a - B) < c)e(abs(a-b) < a + B) então escreval("A figura é um triângulo.") senao escreval("A figura não é um triângulo") fimse Fimalgoritmo -
@Gabrilell você precisa atribuir valor as variáveis antes de fazer as comparações, pois você apenas criou as variáveis menino e menina e não atribuiu nenhum valor a elas, e também precisa pegar um valor digitado pelo usuário para depois fazer a comparação e para saber se são gêmeas você precisaria pedir para o usuário dar essa informação no inicio . então seu programa com algumas modificaçoes ficaria assim : #include<iostream> #include <conio.h> #include <locale.h> using std::cout; using std::cin; using namespace std; int main (){ setlocale(LC_ALL,"");/*para escrever com acentuação*/ int menina=2; int menino=1; double nenem; cout<<"Digite 1 para menino ou 2 para menina"<<endl; cin>>nenem; if(nenem==menino){ cout << "x é menino\n"; } else{ if(nenem==menina /*&& nenem<=menino*/) { /*cout << "x indefinido";*/ cout<<"x é menina"<<endl; } else{ cout<<"x indefinido"<<endl; } } /*else { if ( nenem==menina and nenem==menino) cout << "x sao gemeos\n"; } *//*else { if (nenem==menina and nenem==menina) cout << "x sao duas meninas\n";*/ cout<<"Tecle"<<endl; getch(); return 0; }
-
@Jhony Santos para salvar você precisa usar um arquivo, você pode salvar como arquivo txt ou arquivo binário, então para salvar como arquivo txt você pode usar um código parecido com este seu código com algumas modificações : #include<stdio.h> #include<stdlib.h> #include <string.h> #include<stdlib.h> #include<math.h> FILE *fp; char c[20]; int numf, pec, f, totpec, totpecf, totpecm; char sex; float sal, saltot, saltotm, saltotf, maiorsa; int main(){ saltotm=950; saltotf=950; printf("Bem vindo ao Software\n"); do{ printf("\nDigite o numero do funcionario: "); scanf("%d", &numf); fflush(stdin); do{ printf("Digite o sexo do funcionario [ M ] ou [ F ] : "); scanf("%s", &sex); }while(sex !='m'&&sex!='M'&&sex!='f'&&sex!='F'); fflush(stdin); printf("Digite a quantidade de pecas que o funcionario produziu: "); scanf("%d", &pec); fflush(stdin); sal= 600; totpec=totpec+pec; if(pec<=30){ sal= 600; printf("O salario do funcionario e: %.2f", sal); }else{ if((pec>30)&&(pec<36)) { sal=((18*(pec-30))+600); printf("O salario do funcionario e: %.2f", sal); }else{ sal=((30*(pec-30))+600); printf("O salario do funcionario e: %.2f\n", sal); } }if(sex=='m' || sex=='M'){ totpecm=totpecm+pec; } printf("\nDigite 0 para encerrar ou qualquer outra tecla para continuar: "); scanf("%d", &f); fflush(stdin); saltot=saltot+sal; } while(f!=0); printf("Quantidade de pecas masculino e %d\n", totpecm); printf("Quantidade de pecas feminino e %d\n", totpecf); printf("-Total de pecas e : %d\n", totpec); printf("-Total dos salarios: %.2f\n", saltot); printf("salario para homens: %.2f\n", saltotm); printf("salario para mulheres: %.2f\n", saltotf); printf("maior salario: %.2f\n", maiorsa); maiorsa=1000; /* aqui salva no arquivo os resultados */ fp=fopen("Total_Pecas.txt","r");/*abre o arquivo para ler*/ if(fp==NULL){ fp = fopen("Total_Pecas.txt", "wt");/*cria o arquivo*/ if(fp==NULL){printf("Erro Ao Abrir Arquivo");fclose(fp);return 0;} fclose(fp);/*fecha o arquivo*/ } fclose(fp);/*fecha o arquivo*/ fp=fopen("Total_Pecas.txt","wt");/*abre o arquivo para escrever*/ itoa(totpecm,c,10); fprintf(fp,"%s","totpecm = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); itoa(totpecf,c,10); fprintf(fp,"%s","totpecf = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); itoa(totpec,c,10); fprintf(fp,"%s","totpec = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); sprintf(c, "%.2f",saltot); fprintf(fp,"%s","saltot = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); sprintf(c, "%.2f",saltotm); fprintf(fp,"%s","saltotm = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); sprintf(c, "%.2f",saltotf); fprintf(fp,"%s","saltotf = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); sprintf(c, "%.2f",maiorsa); fprintf(fp,"%s","maiorsa = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," "); fclose(fp);/*fecha o arquivo*/ return 0; } depois de rodar o programa você pode visualizar o que foi salvo, abrindo o arquivo, usando o bloco de notas e o arquivo estará na mesma pasta em que você salvou esse programa .
-
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Simon Viegas realmente você está certo, pelo enunciado eu entendi que fosse dessa forma, mas agora que você falou eu vi que pode ser de outro modo . -
@Marmita esse enunciado não está bom não, pois ele diz que , o último termo maior que d e 1+d=1 então d é zero e tem um erro ali onde diz Sn = n / 0 pois n / zero dá um erro no programa e ele para de funcionar , por isso creio que não tem como fazer esse algoritmo .
-
@TButkus para isso você precisa salvar os dados em um arquivo guardados no disco c ou em algum outro dispositivo que pode ser um cd dvd ou pendrive mas acredito que no c seja o mais prático , e para salvar o arquivo você pode usar o comando fwrite ou fprintf . aqui como salvar com fprintf : FILE *pa; char *nome = "texto.txt"; if (( pa = fopen(nome, "w+")) == NULL) { printf("\n\nNao foi possivel abrir o arquivo para escrita.\n"); exit(1); } /* c igual os dados para gravar */ while (!feof(stdin)) { fprintf(c, pa); } fclose(pa); com isso vai gravar os dados um por um , ou você pode usar o fwrite para gravar uma struct inteira com todos os dados de uma vez, e depois quando abrir o programa novamente ele precisa pegar esses dados no arquivo e atualizar as variáveis. se você tiver um código e quiser poste o código para podermos ver como está em que podemos ajudar.
-
Checando se um programa está no vetor
devair1010 respondeu ao tópico de Lucas Assunção de Sousa em C/C#/C++
@Lucas Assunção de Sousa o que o @isrnick disse está certo então seu código ficaria assim : #include <stdio.h> #include <stdlib.h> #include <locale.h> int main (){ setlocale(LC_ALL,"portuguese"); int i, vet[10], cheque, cont; cont=0; printf("Checando um número no vetor\n\n"); for(i = 0; i < 10; i = i + 1) /*//Conta o vetor*/ { printf("Digite o [%i°] valor: ", i + 1); scanf("%i", &vet[i]); } printf("\nTecle um número para checar se está no vetor: "); /*//Número a ser checado para ver se está no vetor */ fflush(stdin); scanf("%i", &cheque); for(i = 0; i < 10; i = i + 1 ) /*//Laço para checar se contém o número*/ { if(cheque == vet[i]) { cont = cont + 1; } } if(cont == 0) { printf("\nNão Contem"); } else { printf("\nContém"); } getch(); return 0; } -
@Gabrilell se você quiser que ele espere você ler o que está na tela e depois quando você quiser tecle alguma tecla e aí então ele fecha, então você precisa colocar um comando para ele esperar e esse comando pode ser um Sleep ou um getch() ou um getchar() por exemplo se você quer usar o Sleep então você precisa colocar um #include <windows.h> assim : #include <windows. #include<iostream> using std::cout; using std::cin; using namespace std; int main () { int menina; int menino; double nenem; double if(nenem==menina and nenem<=menino) { if (nenem!= menina and nenem!=menino) cout << "x indefinido"; cout << "x é menino\n"; } else { if ( nenem==menina and nenem==menino) cout << "x sao gemeos\n"; } else { if (nenem==menina and nenem==menina) cout << "x sao duas meninas\n"; Sleep(2000); return 0; } o Sleep vai esperar dois segundos e então fechar , ou se você quiser pode usar o getch() no lugar do Sleep assim : #include <conio.h> . . . .getch(); com isso ele vai esperar até que você pressione alguma tecla .
-
VisualG Versão 3.5 do VisuAlg
devair1010 respondeu ao tópico de Eduardo Martins de Quadros em Programação - iniciantes
@Eduardo Martins de Quadros esses comandos que você quer criar são bons e você poderia criar também um comando para posicionar um caractere na tela tipo o gotoxy do pascal e outro para manipular arquivos, sem falar nos comandos para trabalhar com gráficos que também seria muito bom , mas para fazer isso não é nada fácil, então para fazer isso você precisa saber muito de programação, e creio que ele foi criado usando a linguagem c ou c++ por Claudio Morgado de Souza e aperfeiçoado pelo professor Antonio Carlos Nicolodi , creio que eles conseguiriam criar esses comandos . -
@Amiguinho experimente esse código , testei ele aqui e está funcionando bem , então coloque ele no code blocks como foi explicado ali em cima e também coloque esse exemplo do arquivo txt que você postou do jeito que ele está apenas que ali no número de celular coloque todos os números juntos uns dos outros não deixando espaço entre eles , pois senão dá erro, se você quiser deixar um espaço coloque um tracinho ou underline para fazer a separação e nas outras palavras também e não modifique a quantidade de colunas que no seu exemplo são cinco colunas , pois se modificar a quantidade de colunas precisa modificar também o código e salve ele com o nome de dados de consulta do tipo txt na raiz da unidade c pois no código está configurado assim ou se você quiser pode modificar no código onde ele deve procurar pelo arquivo . o arquivo precisa ficar nesse formato : NOME E-MAIL DEPARTAMENTO CELULAR RAMAL Zeca [email protected] TI (11)_99999-9999 501 Joao [email protected] RH (11)_98888-9888 502 Maria [email protected] Financeiro (11)_97777-7777 503 kiko [email protected] Financeiro (11)_98877-6655 504 Jonas [email protected] RH (11)_89977-4466 505 lolipop [email protected] TI (21)_92565-7457 506 junior [email protected] RH (11)_95566-4433 507 manuel [email protected] TI (11)_93322-4477 508 segue o código do programa : #include <windows.h> #include <stdlib.h> #include <conio.h> #include <iostream.h> #include <stdio.h> #include <string.h> #include <vector.h> LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); char c1[20],c2[20],c3[20],c4[20],c5[20]; char b1[20],b2[20],b3[20],b4[20],b5[20]; int g,j; struct arquivo{ char nome [20]; char email [30]; char depart [20]; char celular[20]; char ramal [20]; }; struct arquivo dados[2000]; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hwnd; MSG messages; WNDCLASSEX wincl; wincl.hInstance = hThisInstance; wincl.lpszClassName = "WindowsApp"; wincl.lpfnWndProc = WindowProcedure; wincl.style = CS_DBLCLKS; wincl.cbSize = sizeof (WNDCLASSEX); wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;/*+5=branco*/ if (!RegisterClassEx (&wincl)) return 0; hwnd = CreateWindowEx ( 0, "WindowsApp", "Interface De Pesquisa", WS_OVERLAPPEDWINDOW, 100, /*pos x da tela de 0 ate 1280 tamanho da tela*/ 5, /*pos y da tela de 0 ate 720 tamanho da tela*/ 1024, /*largura da janela criada largura da tela*/ 720, /*altura da janela criada altura da tela*/ HWND_DESKTOP, NULL, hThisInstance, NULL ); ShowWindow (hwnd, nFunsterStil); while (GetMessage (&messages, NULL, 0, 0)) { TranslateMessage(&messages); DispatchMessage(&messages); } return messages.wParam; } #define ID_BUTTONPesquisar 1001 #define ID_BUTTONSair 1002 #define ID_BUTTONAnterior 1003 #define ID_BUTTONProximo 1004 HINSTANCE g_inst; HWND EditNum1,EditNum2,EditNum4,EditNum3,EditNum5,EditNum6,ButtonPesquisar,ButtonSair,ButtonAnterior,ButtonProximo; void DesenharObjectos(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ EditNum1 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER/*|ES_RIGHT*/ , 200, 30, 150, 30,hwnd,NULL,g_inst,NULL ); EditNum2 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER,200, 80, 150, 30, hwnd, NULL, g_inst, NULL ); EditNum3 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "",WS_VISIBLE|WS_CHILD|WS_BORDER,200, 130, 150, 30, hwnd, NULL, g_inst, NULL ); EditNum4 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 180, 150, 30, hwnd, NULL, g_inst, NULL ); EditNum5 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 230, 150, 30, hwnd, NULL, g_inst, NULL ); EditNum6 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 280, 150, 30, hwnd, NULL, g_inst, NULL ); ButtonPesquisar = CreateWindowEx (0,"BUTTON","PESQUISAR", WS_VISIBLE|WS_CHILD, 500, 30, 150, 30, hwnd,(HMENU)ID_BUTTONPesquisar, g_inst, NULL ); ButtonSair = CreateWindowEx (0,"BUTTON","SAIR", WS_VISIBLE|WS_CHILD,500, 130, 150, 30, hwnd, (HMENU)ID_BUTTONSair, g_inst, NULL); ButtonAnterior = CreateWindowEx (0,"BUTTON","ANTERIOR", WS_VISIBLE|WS_CHILD,465, 80, 100, 30, hwnd, (HMENU)ID_BUTTONAnterior, g_inst, NULL); ButtonProximo = CreateWindowEx (0,"BUTTON","PROXIMO", WS_VISIBLE|WS_CHILD,580,80,100,30,hwnd, (HMENU)ID_BUTTONProximo, g_inst, NULL); CreateWindowEx (0,"STATIC","ENTRADA" , WS_VISIBLE|WS_CHILD|BS_RIGHT, 110, 35,68,16, hwnd, NULL, g_inst, NULL); CreateWindowEx (0,"STATIC"," NOME" , WS_VISIBLE|WS_CHILD|BS_LEFT, 110, 85,68,16, hwnd, NULL, g_inst, NULL); CreateWindowEx (0,"STATIC"," E-MAIL", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 135,68,16, hwnd, NULL, g_inst, NULL); CreateWindowEx (0,"STATIC"," DEPART", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 185,68,16, hwnd, NULL, g_inst, NULL); CreateWindowEx (0,"STATIC"," CELULAR", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 235,68,16, hwnd, NULL, g_inst, NULL); CreateWindowEx (0,"STATIC"," RAMAL", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 285,68,16, hwnd, NULL, g_inst, NULL); SendMessage((HWND) EditNum1, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) EditNum2, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) EditNum3, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) EditNum4, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) EditNum5, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) EditNum6, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) ButtonPesquisar,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) ButtonSair, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) ButtonAnterior, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); SendMessage((HWND) ButtonProximo, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam); } char s_valor1[50] = "0"; FILE *fp; int coloca_no_edit(int g); LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: DesenharObjectos(hwnd,message,wParam,lParam); break; case WM_COMMAND: if ((HIWORD(wParam) == BN_CLICKED)){ strcpy(s_valor1,"0"); SendMessage((HWND)EditNum1,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor1); switch (LOWORD(wParam)) { case ID_BUTTONPesquisar: char c[20]; int k; int h; h=0; k=0;j=0;g=1; fp = fopen("c:/dados de consulta.txt","r"); while( fscanf(fp,"%s",dados[j].nome ) != EOF && fscanf(fp,"%s",dados[j].email ) != EOF && fscanf(fp,"%s",dados[j].depart) != EOF && fscanf(fp,"%s",dados[j].celular) != EOF && fscanf(fp,"%s",dados[j].ramal ) != EOF){ j++; } fclose(fp); fp = fopen("c:/dados de consulta.txt","r"); if(fp==NULL){MessageBox(0,"erro no arquivo","",0);} while( g < j ){ strcpy(b1,dados[g].nome);strcpy(b2,dados[g].email);strcpy(b3,dados[g].depart); strcpy(b4,dados[g].celular);strcpy(b5,dados[g].ramal);strcpy(c,s_valor1); for(k=0;k<strlen(b1);k++) b1[k]=toupper(b1[k]); for(k=0;k<strlen(b2);k++) b2[k]=toupper(b2[k]); for(k=0;k<strlen(b3);k++) b3[k]=toupper(b3[k]); for(k=0;k<strlen(b4);k++) b4[k]=toupper(b4[k]); for(k=0;k<strlen(b5);k++) b5[k]=toupper(b5[k]); for(k=0;k<strlen(c);k++ ) c[k]=toupper(c[k] ); if(strcmp(b1,c)==0||strcmp(b2,c)==0||strcmp(b3,c)==0||strcmp(b4,c)==0||strcmp(b5,c)==0){ coloca_no_edit(g); h=1; break; } g++; } fclose(fp); if(h==0){ MessageBox(0,"Esse Dado Não Existe No Arquivo","(***) Informação",0); SendMessage((HWND) EditNum1, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) & ""); } break; case ID_BUTTONSair: PostQuitMessage(0); break; case ID_BUTTONAnterior: g--; if ( g < 1 ){ g=1; } coloca_no_edit(g); break; case ID_BUTTONProximo: g++; if( g > j-1 ){ g=j-1; } coloca_no_edit(g); break; } } break; case WM_DESTROY: PostQuitMessage (0); break; default: return DefWindowProc (hwnd, message, wParam, lParam); } return 0; } int coloca_no_edit(int w){ SendMessage((HWND) EditNum2, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].nome ); SendMessage((HWND) EditNum3, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].email ); SendMessage((HWND) EditNum4, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].depart ); SendMessage((HWND) EditNum5, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].celular ); SendMessage((HWND) EditNum6, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].ramal ); return 0; }
-
@MackDuKing seu código tem um erro logico no segundo if você colocou && e teria que ser || , veja como ficaria seu código : #include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { int numero; printf("digite um numero:"); scanf("%d",& numero); if( numero >= 20 && numero <= 90 ){ printf("seu numero esta entre 20 e 90"); } else{ if( numero < 20 || numero > 90 ){ printf("seu numero nao esta entre 20 e 90"); } } return 0; }
-
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Helen Fernanda de Souza seu código estava com um erro de sintaxe na linha 70 como o @Simon Viegas disse , então modifiquei essa linha e o código ficou assim : Algoritmo "Algoritmo exercicio de numeracao2" Var excluir,fixar,a,b,c,d,g : inteiro //variaves vetor_normal : vetor[1..60] de inteiro // vetor armazena 60 posiçoes vetor_excluir : vetor[1..10] de inteiro // vetor armazena 10 posiçoes vetor_3 : vetor[1..30] de inteiro // vetor armazena 30 posições vetor_4 : vetor[1..30] de inteiro // vetor armazena 30 posições vetor_5 : vetor[1..30] de inteiro // vetor armazena 30 posições //inicio do codigo Inicio // vamos armazenar os 60 numeros na variavel a e dentro do vetor_normal para a de 1 ate 60 faca vetor_normal[a] := a // armazena 60 numeros dentro do vetor_normal fimpara // deletando 10 numeros escreval("vamos excluir 10 numeros de 1 a 60") para excluir de 1 ate 10 faca // comando para fazer de 1 ate 10 repita b := 1 escreva("Digite O",excluir," Número de 1 a 60 Para Deletar ") leia(c) //ler entrada teclado se (c<1) ou (c>60)ENTÃO // so vale de 1 ate 60 escreval("so pode ser numero de 1 a 60 escolha outro tecle enter") b := 2 leia(c) senao se vetor_normal[c] = 0 ENTÃO escreval("o numero ja foi deletado , escolha outro tecle enter") b := 2 leia(c) senao vetor_normal[ c ] := 0 fimse fimse b := b-1 // nao entendi essa parte o do por que ate 0 ate b = 0 fimpara escreval("Aqui Estão Os 10 Números Deletados") para a de 1 ate 60 faca // comando de 1 ate 60 armazena variavel a se vetor_normal[a] = 0 ENTÃO// se for zero então o número foi deletado escreva(a," - ") fimse fimpara escreval escreval("Aqui Estão Os 50 Números Que Sobraram") d := 1 para a de 1 ate 6 faca para c de 1 ate 10 faca se vetor_normal[d] <> 0 ENTÃO escreva(vetor_normal[d]," - ") senao escreva(" - ") fimse d := d+1 fimpara escreval fimpara escreval("Vamos Escolher Aleatoriamente 30 Números Dos 50") //aqui é onde gera os numeros aleatórios para a de 1 ate 30 faca // serão 30 números repita // repite se precisar b:=1 // com valor 1 ele não repete g:=randi(60)+1 // gera um número aleatorio se vetor_normal[g]=0 ENTÃO//numero foi deletado b:=2//b recebe valor 2 para repetir e escolher outro fimse para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3 se b <> 2 ENTÃO// se o número não houver sido deletado se vetor_3[c] = vetor_normal[g] ENTÃO//se no vetor já haver o numero gerado b:=2// b recebe o valor 2 para repetir e escolher outro numero interrompa fimse fimse fimpara se b <> 2 ENTÃO vetor_3[a]:= vetor_normal[g] //vetor_3 armazena o numero gerado fimse b:=b-1 // b recebe b menos 1 ate b=0 // se b igual zero ele passa fimpara //aqui é onde termina a geração dos números aleatórios //escrevando os números gerados aleatórios escreval("Aqui Estão Os 30 Números Gerados Aleatórios") d:=1 para a de 1 ate 3 faca para c de 1 ate 10 faca escreva(vetor_3[d]," - ") d := d+1 fimpara escreval//para pular para a linha de baixo fimpara Fimalgoritmo com isso ele gerou 30 números aleatórios 1 vez , então para gera mais 30 números aleatórios mais duas vezes, repita essa parte final do código de onde está escrito " aqui é onde gera os números aleatórios " até onde está escrito " aqui é onde termina a geração dos números aleatórios " , você pode copiar essa parte e colar lá no final e mudar o vetor onde será guardados os números onde está escrito vetor_3 coloque vetor_4 e no outro que você colar mais abaixo no lugar de vetor_3 coloque vetor_5 , assim você terá gerado seus trinta números três vezes . então agora você quer gerar dez números dos vinte que sobram , mas como você gerou trinta números três vezes então terá gerado noventa números e é possível que não tenha sobrado vinte números , pois para ele gerar esses noventa números ele pode ter usado todos os cinquenta , então você precisa verificar quais os números que realmente sobram usando para isso um loop que verifica quais os números que não foram usados do vetor_normal . ou se você quiser pode gerar os trinta números apenas uma vez e então verificar quais os vinte que sobraram usando para isso um loop e depois gerar os dez números por cinco vezes desses vinte que sobraram , use um código semelhante ao que gerou os trinta, então faça o código e poste aqui para vermos como ficou . -
@PedroHars você pode fazer um jogo da velha, é um jogo simples mais é bem fácil de fazer . e você pode ver um código desse jogo nesse tópico aqui :
-
@amanda kellen s esse código que você postou está funcionando bem, apenas que ali no printf não precisa colocar aquele x e nem y e aqui no code blocks ele funciona bem sem erros e nem warning, veja como ficaria seu código com algumas modificações : #include <stdio.h> #include <conio.h> int main( ){ int x,y,soma; printf("insira um numero: "); scanf("%d",&x); printf("insira um numero: "); scanf("%d",&y); printf("\n"); soma = x + y; printf("A soma entre %d e %d = %d\n\n",x,y,soma); getch(); return 0; }
-
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Simon Viegas boa percepção a sua, não analisei o código antes de postar, realmente ele executa todos os comandos mesmo sem necessidade, creio que deveria ficar assim : escreval("Vamos Escolher 30 Números Dos 50") para a de 1 ate 30 faca // serão 30 números repita // repite se precisar b:=1 // com valor 1 ele não repete g:=randi(60)+1 // gera um número aleatorio se vetor_normal[g]=0 ENTÃO //numero foi deletado b:=2 //b recebe valor 2 para repetir e escolher outro fimse se b <> 2 ENTÃO para c de 1 ate 30 faca //verifica os trinta numeros no vetor_3 se vetor_3[c]=vetor_normal[g] ENTÃO //se no vetor já haver o numero gerado b:=2 // b recebe o valor 2 para repetir e escolher outro numero interrompa fimse fimpara fimse se b <> 2 ENTÃO vetor_3[a] = vetor_normal[g] //vetor_3 armazena o numero gerado fimse b:=b-1//b recebe b menos 1 ate b=0 // se b igual zero ele passa fimpara -
programar com if comparação de dois numeros
devair1010 respondeu ao tópico de catoyoshima em C/C#/C++
@catoyoshima seu código está bom, mas está precisando de mais alguns comandos para fazer as comparações que você precisa, primeiro você precisa pegar os números da primeira fileira e da segunda fileira, depois fazer as comparações e precisa de dois vetores para guardar esses números e mais um para receber o resultado para depois imprimir os números na tela, experimente seu código com algumas modificações : #include <stdio.h> #include <conio.h> #include <stdlib.h> int fileira1[8],fileira2[8],resultado[8]; int i; int main(){ printf("Digite 8 numeros da primeira fileira\n\n"); for(i=0;i<8;i++){ printf("Digite o %d numero da primeira fileira ",i+1); scanf("%d",&fileira1[i]); } printf("\nDigite 8 numeros da segunda fileira\n\n"); for(i=0;i<8;i++){ printf("Digite o %d numero da segunda fileira ",i+1); scanf("%d",&fileira2[i]); } for(i=0;i<8;i++){ if(fileira2[i]!= 2 && fileira2[i] != 9){ resultado[i] = fileira1[i]+3; } else{ resultado[i]=fileira1[i]; } } printf("\nAqui estão Os Numeros Resultado\n\n"); for(i=0;i<8;i++){ if(resultado[i] != 0){ printf("%d - ",resultado[i]); } } getch(); printf("\n\n"); return 0; } -
@amanda kellen s com esse print da tela não dá para ver muito bem o que está escrito, seria melhor você postar o código usando o botão responder que está lá em baixo na página e quando clicar nesse botão vai abrir uma janela para você escrever aí então use também o botão <> que está na barra de ferramentas na parte de cima dessa janela que abrirá outra janela para você colocar o seu código nela e depois clique em inserir .
-
VisualG Dizer qual é o maior número
devair1010 respondeu ao tópico de Vinícius V. em Programação - iniciantes
@viniciusv21 você colocou alguns comandos que não precisa e outros no lugar errado, então apenas coloquei comentário no lugar desses comandos, veja como ficaria seu código : Algoritmo "Dizer o maior número" var a,n : inteiro //----------------------------------- funcao dizer_maior_numero (x,y: inteiro): inteiro var vetorA : vetor[1..5] de inteiro j : inteiro inicio para j de 1 ate 5 faca escreva("Digite O",j,"º Número ") leia(vetorA[j]) fimpara repita //y := y + 1 //x := vetorA[y] se y = 1 ENTÃO x := vetorA[y] fimse se vetorA[y] > x ENTÃO//vetorA[y] ENTÃO x := vetorA[y] //y := y //x := x //senao //x := y fimse y := y+1 ate y > 5 retorne x fimfuncao //----------------------------------- inicio //var //a, n : inteiro //inicio a := 1 n := 1 escreva("O Maior Número é --> ",dizer_maior_numero(a,n)) Fimalgoritmo -
VisualG Construção algoritmo de numeração
devair1010 respondeu ao tópico de Vengefull em Programação - iniciantes
@Helen Fernanda de Souza você disse que não entendeu essa parte aqui : vetor_normal[ c ] := 0 fimse fimse b := b-1 // nao entendi essa parte o do por que ate 0 ate b = 0 fimpara o até 0 é porque se correr tudo bem e não precisar repetir ele faz b = b-1 e como b valia 1 então 1 menos 1 igual 0 aí ele passa sem repetir, e vai gerar outro número, já no caso de o número já haver sido deletado ou o número digitado for menor que 1 ou maior que 60 ele faz b = 2, aí lá no final ele faz b=b-1 e como b nesse caso vale 2 então 2 menos 1 igual 1 aí ele repete porque b não é igual a zero. essa parte aqui : escreval("vamos escolher 30 numeros aleatorios dos 50") g := randi(60)+1 para a de 1 ate 30 faca escreva(vetor_3[a]," - ") fimpara você precisa colocar o randi dentro do loop, pois a cada passada do loop ele precisa gerar um número aleatório e com isso no final do loop você terá seus trinta números aleatórios, e para gerar os números não precisa desse comando escreva, apenas se você quiser escrever o número na tela, então depois de gerar o número você precisa ver se ele já não foi gerado antes e no caso de já haver sido gerado antes, então repetir e gerar outro, até ter gerado os trinta e guardar o número no vetor . então o código poderia ser assim : escreval("Vamos Escolher 30 Números Dos 50") para a de 1 ate 30 faca // serão 30 números repita // repite se precisar b:=1 // com valor 1 ele não repete g:=randi(60)+1 // gera um número aleatorio se vetor_normal[g]=0 ENTÃO//numero foi deletado b:=2//b recebe valor 2 para repetir e escolher outro fimse para c de 1 ate 30 faca//verifica os trinta numeros no vetor_3 se vetor_3[c]=vetor_normal[g] ENTÃO//se no vetor já haver o numero gerado b:=2// b recebe o valor 2 para repetir e escolher outro numero fimse fimpara vetor_3[a]=vetor_normal[g] //vetor_3 armazena o numero gerado b:=b-1//b recebe b menos 1 ate b=0 // se b igual zero ele passa fimpara -
VisualG algoritmo informar o nome do lanche mais vendido
devair1010 respondeu ao tópico de supergodine em Programação - iniciantes
@supergodine você pode usar vetores para armazenar as informações coletadas e depois fazer a busca nos vetores para exibir os resultados, para você saber o valor arrecadado e a média de gasto dos alunos você precisa pegar essa informação antes, então esse vetor pode ser assim : vetor_nome : vetor[1..50] de caractere o vetor para qual lanche e o do curso tem que ser do tipo caractere também, já o de valor do lanche e a idade tem que ser do tipo inteiro, depois na hora de pegar os nomes coloque assim : para i de 1 ate 50 faca leia(vetor_nome[i]) leia(vetor_idade[i]) . . coloque os comandos para ler os outros dados . . fimpara com isso os dados estarão guardados nos vetores, então faça os cálculos para saber o total arrecadado e qual o lanche mais vendido e a média de gastos . faça o algoritmo e poste aqui para podermos ver como está e em que podemos ajudar .
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