Ir para conteúdo
Fórum Script Brasil

Risadão

Membros
  • Total de itens

    44
  • Registro em

  • Última visita

Tudo que Risadão postou

  1. Risadão

    Ajuda em programa!

    Olá Beraldo, tentei fazer aki, mas só consegui passar de minúsculo para maiúsculo, o contrário não está funcionando. você poderia dar uma olhada no código e me dizer o que está errado por favor? #include <iostream.h> #include <stdio.h> int main() { int i, X; char STRING[50]; gets(STRING); for (i = 0; i < 50; i++) { X = STRING[i]; if (X >= 65 && X <= 90) strlwr(STRING); if (X >= 97 && X <= 122) strupr(STRING); } cout << "\n\n" << STRING; system("PAUSE >= nul"); }[/CODEBOX] Vlw cara t+ . . . abraços!!! :)
  2. Risadão

    Ajuda em programa!

    Olá Beraldo, vlw pela dica cara, vou ver se consigo fazer aki agora, vou ter que converter pra int mesmo porque no problema fala que as letras minúsculas estão no intervalo de 97 à 122 e que a maiúsculas estão entre 65 e 90 na tabela ascII. Vou tentar aki, vlw pela dica cara. Grato! Abraços . . . ^_^
  3. Risadão

    Matriz em C++

    E aí Anderson S., tranquilo? cara, cnsegui fazer o programa aki em casa de outra forma menor um pouco. Vou postar o código: #include <iostream.h> int main() { int MAT[3][3], l, c; for (c = 0; c < 3; c++) { for (l = 0; l < 3; l++) { cout << "Digite um numero [" << l << "][" << c << "]: "; cin >> MAT[l][c]; } cout << "\n"; } for (c = 0; c < 3; c++) { l = 0; if (MAT[l][c] > MAT[l + 1][c] && MAT[l][c] > MAT[l + 2][0]) cout << "\n\n" << MAT[l][c]; if (MAT[l + 1][c] > MAT[l][c] && MAT[l + 1][c] > MAT[l + 2][c]) cout << "\n\n" << MAT[l + 1][c]; if (MAT[l + 2][c] > MAT[l][c] && MAT[l + 2][c] > MAT[l + 1][c]) cout << "\n\n" << MAT[l + 2][c]; } system("PAUSE >= nul"); }[/CODEBOX] É isso aí cara, vlw! Depois posta o que achou, se era isso mesmo . . . falou! :D
  4. Olá pessoal, Tenho que fazer um programa onde o usuário digite um nome ou uma frase qualquer de até 50 caracteres, e se for digitado em MAIÚSCULO o programa deve imprimir a frase em minúsculo, se for digitado em minúsculo, o programa deve imprimir td em MAIÚSCULO. Não sei como fazer isto, gostaria que alguém me explicasse uma forma de como fazer. Grato desde já! VLW . . . :)
  5. Olá pessoal, usei o livro Fundamentos da Programação de Computadores (Ana Fernanda Gomes Ascencio e Edilene Aparecida Veneruchi de Campos) Editora Pearson, quando fui aprender a programar em C/C++, achei um excelente livro, linguagem bem clara, com exercícios resolvidos, vários exercícios para serem feitos tb, e acompanha um cd-rom com os códigos-fonte e executáveis dos exemplos citados no livro. Recomendo! Se quiserem saber mais, olhem no site: http://www.linuxmall.com.br/index.php?product_id=4676 Aí fala o conteúdo do livro, fala sobre as autoras e etc. É isso aí pessoal, falou T+!!! ^_^
  6. E aí hcanova, vlw pela dica cara, vou testar aki, vlw mesmo, vai ser de grande utilidade! Obrigado T+ Abraços . . .
  7. E aí Ervilha, tranquilo? Bom, aki em casa ele funcionou perfeitamente, pode ser por causa do compilador mesmo, eu fiz usando o Dev-C++. Vou tentar no Borland agora e vejo que qui rola. T+ falou . . .
  8. E aí Ervilha, tranquilo? cara, peguei seu código de transformar o número decimal pra romano e mudei pequenas coisas aki e funcionou perfeitamente, e coloquei a saída em C. Vou postar o código e você vê se é isso que você queria. Agora vou dar uma olhada no primeiro código, o de ver quantos dígitos o número tem. É isso aí, falou T+ . . . Onde eu mexi coloquei em Negrito pra você comparar com o seu código. Abraços! #include<iostream.h> #include<string.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<ctype.h> int dec_romana (int num); int main(int argc, char *argv[]) { int numerito; printf("\n Entre com um numero de 1 a 3999: "); scanf("%i", &numerito); dec_romana(numerito); getch(); return (0); } int dec_romana (int num) { int numeros[8] = {1,5,10,50,100,500,1000,5000},i,p; char letras[8] = {'I','V','X','L','C','D','M'},romano; if(num<=0) { printf("\n Sou bom, Mas não sou magico."); return(0); } else if(num<=3999) { while(num > 0) { i = 0; while(i < 7) { while(num >= numeros[i] && num < numeros[i+1]) { p = i%2; if(num >= numeros[i+1] - numeros[i-p]) { romano = romano + letras[i-p] + letras[i+1]; num = num-(numeros[i+1]-numeros[i-p]); } else { romano = romano + letras[i]; num = num-numeros[i]; } } i++; } } printf("%c", romano); } else { printf("Eu mandei escrever de 1 a 3999 cegueta!"); return(0); } }[/CODEBOX]
  9. E aí A. Pedro, tranquilo? Bom, vou tentar explicar +/-. Os 3 for serão as três parcelas. Vamos pegar o número seis como exemplo. Eles vão começar a contar de 0 + 1 + 1 e vão até 6 + 6 + 6. Os 3 for serve pra isso, pra fazer as três parcelas, o primeiro indo de 0 até 6, o segundo indo de 1 a 6 e o terceiro tb de 1 a 6, porém, se colocar apenas os 3 for sem os 2 if apareceria todas as somas desde 0 + 1 + 1 até 6 + 6 + 6, os 2 if serve justamente pra isso, o primeiro pra só aparecer as somas que são iguais ao número digitado, por exemplo 0 + 1 + 1 = 2, então essa soma NÃO SERVE pra nós porque só queremos as somas que serão iguais a 6, por isso coloquei if (...R == NUM). O primeiro if tb utilizei pra não aparecer números repetidos, por exemplo 1 + 1 + 1. Por isso do if (a != b && a != c...), ou seja, só quando o A for diferente de B e C e o B diferente de C e a soma deles igual ao número digitado é que vai aparecer o resultado. Mas ainda assim teríamos o problema de aparecer somas repetidas, por exemplo 1 + 2 + 3 e 1 + 3 + 2. O segundo if na verdade apenas coloca as parcelas em ordem crescente if (A < B && A < C...). Se A < B e A < C e B < C então imprima A + B + C. Dessa forma não apareceria somas repetidas porque se tivesse lá 1 + 2 + 3 e 1 + 3 + 2 ele só iria imprimir 1 + 2 + 3 porque o A seria menor que B e C e B seria menor que C, no caso de 1 + 3 + 2 o B é maior que C então não vai imprimir essa soma. Não sei se deu pra você intender direitinho, mas é isso aí, qualquer outra dúvida é só postar aí. cleyvison, se tiver algum comentário ou algo a acrescentar na explicação posta aí. VLW! :) É isso aí, falou, T+ . . . abraços!!!
  10. Olá blockmonork, Você terá que incluir a biblioteca stdio.h, declarar a variável texto como char e coloque até quantas letras ela vai poder ter pra você digitar mais de uma letra, no caso um texto. Depois onde tem cin >> texto, você subistitui por gets(texto); e de novo gets(texto). Terá dois gets(texto), um em baixo do outro. Compilei aki e deu certo. Vou postar o código modificado, você copia e cola aí pra ver se vai dar certo. #include <iostream> #include <fstream> #include <string> #include <stdio> using namespace std; int FuncaoNos () { int numero; char texto[50]; cout <<"\n Digite um numero qqer"; cin >>numero; cout <<"\n Digite um texto"; gets(texto); gets(texto); ofstream reescreve; reescreve.open("Config.xml"); reescreve<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; reescreve<<"<Config>\n"; reescreve<<"<Entrada numero=\""<<numero<<"\" texto=\""<<texto<<"\"/>\n"; reescreve<<"</Config>\n"; reescreve.close(); cout<<"\n\nArquivo XML editado.\n"; cout<<"--------------------------\n"; return 0; } // ----------------- M A I N int main(){ int escolha; int loop = 1; if ( loop == 1 ) { loop = 1; while ( loop != 0 ) { cout<<"\n Digite: \" 1 \" para escrever no xml, ou \" 0 \" para encerrar o programa: "; cin >> escolha; if ( escolha != 0 ) { cout<<"\nMetodo de escrita..."; if ( escolha == 1 ) { // sem app FuncaoNos (); } else if (( escolha != 1)||( escolha != 0)) { cout<<"\n é pra digitar 1 ou 0 somente!"; } } // escolha dif 0 else if ( escolha == 0 ) { cout<<"\nPrograma fechado pelo usuario.\n"; cout<<"----------------\n"; loop = 0; } } // UAILI if ( loop == 1 ) loop = 1; else loop = 0; } // uaili system("PAUSE"); return EXIT_SUCCESS; }[/CODEBOX] no char texto[50], o 50 entre colchetes é o número de letras que a variável pode ter, coloquei 50 só para exemplo, como é um texto talvez precise de mais, aí fica a seu critério, você pode colocar quantas quiser. ...É isso aí cara, qualquer dúvida posta aí. Depois posta tb se deu certo, se funcionou direitinho. falou T+ . . . . :)
  11. Isso aí cleyvison, você tem razão, não pensei no 0 + 1 + 11 rsrs Vlw! A. Pedro, posta aí se funcionou! :D
  12. Bom cara, nunca mexi com C, mas imagino que seje o seguinte: #include <stdio.h> main() { int a, b, c, R, NUM; printf("Digite um numero: "); scanf("%d", &NUM); for (a = 1; a <= NUM; a++) { for (b = 1; b <= NUM; b++) { for (c = 1; c <= NUM; c++) { R = a + b + c; if (a != b && a != c && b != c && R == NUM) { if (a < b && a < c && b < c) printf("\n%d + %d + %d = %d", a, b, c, R); } } } } system("PAUSE >= nul"); }[/CODEBOX] Acho que em C seria isso aí, mas não tenho certeza quanto ao último printf! Tenta compilar aí e posta se deu certo!. falou . . .
  13. E aí cara, tranquilo? Posso explicar melhor sim, vou postar o código e você vai intender! #include <iostream.h> int main() { int a, b, c, R, NUM; cout << "Digite um numero: "; cin >> NUM; for (a = 1; a <= NUM; a++) { for (b = 1; b <= NUM; b++) { for (c = 1; c <= NUM; c++) { R = a + b + c; if (a != b && a != c && b != c && R == NUM) { if (a < b && a < c && b < c) cout << "\n" << a << " + " << b << " + " << c << " = " << R; } } } } system("PAUSE >= nul"); }[/CODEBOX] Os 3 for's serão as 3 parcelas. No primeiro e no segundo for não é necessário colocar de 1 até NUM -3 e de 1 até NUM - 2 porque você vai usar a estrutura de condição. O primeiro if é a condição para que não seja repetidos os número e tb para somente mostrar os resultados iguais ao número digitado, porque se o cara digitar 12 por exemplo, o programa começa indo de 1 + 1 + 1 até 12 + 12 + 12, ou seja, teria números repetidos e iria mostrar os resultados de 3 à 36, e só queremos os resultados iguais ao número digitado. O segundo if é a condição para que não se repita parcelas iguais, tipo 1 + 2 + 9 e 1 + 9 + 2. ...não sei se expliquei direito ou se conseguiu intender, mas é isso. Qualquer dúvida posta aí! falou T+ . . . abraços :D
  14. Vlw pela ajuda pessoal, agora deu td certo aki, valeu mesmo, muito grato! falou . . . ! ! !
  15. Boa tarde A. Pedro, cara, fiz o programa aki em casa e deu certinho. Não vou postar o código pronto mas vou te dizer como se faz, porque seria muita moleza. Primeiro você deve declarar cinco variáveis, por exemplo A, B, C, R e NUM, onde NUM é o número que será digitado, A, B e C você vai usar para fazer 3 for's e R será o resultado da soma de A, B e C. O primeiro for deve ir de 1 até o NUM - 3, o segundo de 1 até NUM - 2 e o terceiro de 1 até NUM. Agora só fazer a soma e colocar duas estruturas de condição. A primeira: Se A != B && A != C && B != C && R == NUM e a segunda: Se A < B && A < C && B < C. Agora só mandar imprimir na tela que vai dar certinho! Qualquer dúvida tentarei esclarecer melhor, se ainda assim não der certo me fala que posto o código pra você. falou T+ . . . :D
  16. E aí cara, tranquilo? Vlw aí pela dica, mas já tentei colocar sem os apóstrofos e tb e não funcionou =/. Tem algum outro jeito e se fazer isso? falou t+ . . .
  17. Boa noite galera, fiz um projeto que utiliza dois servos e controlo eles pelo teclado do pc, porém estou controlando com as teclas: W, S, A e D, mas gostaria de controla-los através das setas. Peguei os códigos ASCII das setas porém não sei como usar. Tentei fazer da seguinte forma: if (kbhit()) { switch (getch()) { case '072': { . . . } onde 072 é o código da seta para cima. Alguém poderia me dizer como usar as setas e as outras teclas tipo ENTER, Insert, Delete, End, etc . . . ? Mesmo se eu coloco no lugar do 072 um código tipo 087 que é o código do W em ASCII tb não funciona. Aguardo respostas. Grato desde já! VLW . . .
  18. Boa noite pessoal, Estou fazendo um projeto de um braço mecatrônico controlado pelo porta paralela do pc. Já fiz o programa e funcionou direitinho, porém tive que usar os endereços 0x378 e 0x37A da porta paralela porque não consegui enviar um sinal 0 (falso) pra um único pino. Quando quero mandar um sinal 1 (verdadeiro), eu consigo mandar pra cada pino separadamente, mas quando quero mandar 0 (zero) pra um único pino não consigo, quando mando o sinal 0, ele zera todos os pinos. Gostaria de saber como mandar 0 para um único pino sem alterar o sinal que está nos outros pinos. É possível fazer isso? Se alguém souber por favor, poderia me explicar como se faz, ficarei bastante agradecido. VLW T+ . . . ! ! ! ;)
  19. Olá marcelo, tente colocar dois gets(string); não sei muito de C, só uso C++ e possui alguns detalhes que são diferentes, mas tente fazer isso que falei, acho que deve resolver. Vai ficar assim: case 8: { char string[100]; printf("\n Exerc¡cio %d\n\n",x); printf("\n +---------------------------------------------------+"); printf("\n Programa que le uma palavra e mostra invertida"); printf("\n +---------------------------------------------------+"); printf("\n Informe uma palavra: "); gets(string); gets(string); printf("\n O nome ‚ %s",string); getch(); titulo(); função que chama o titulo do programa menu(); função que chama o menu do programa break; } falou cara, depois posta aí se deu certo! T+ . . .
×
×
  • Criar Novo...