Ir ao conteúdo
  • Cadastre-se

BrunoPro10

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

Reputação

8
  1. @MB_ Não percebi e talvez eu não esteja a explicar direito. Coloquei o seu programa no DEV ++ e ele deu-me alguns erros. A ideia é fazer um programa com menu de 3 funções, se o menu fizer 1 ou seja Cifrar vamos supor que inserimos os digitos 3345 e a Cifra dele é vamos supor que seja 5578, e imprime a Cifrá é 5578 e o professor quer que sem sair deste menu possamos seleccionar "Decifra" e este decifre sem ser inserido o 5578(ou seja seja o programa a buscar esta informação e re torne a decifa ou seja 3345... Bem como se no menu fizermos 2 inserimos o valor e ele dá o decifra e sem digitar valores da decifra ele dê a Cifra... Fiz desta forma mas não faz como pretendo ou seja que desse a escolhe fazer o 2... #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op,o,p; srand(time(NULL)); while (1) { cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira o digitos : "; cin >> num[i]; } for (int i=0; i<4;i++){ cifra[(i+2) % 4]= num[i]; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; switch(op){ case 2: for (int i=0 ; i<4; i++){ decifra[i]= cifra[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } break; case 2: for( int i=0; i<4;i++){ cout << "Insira o digito"; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= num[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; switch (op){ case 1: for (int i=0 ; i<4; i++){ cifra[i]= decifra[(i+2) % 4]; } cout << " Cifra é " << cifra[0] <<cifra [1] << cifra[2] <<cifra[3]<< "\n"; case 999: return 0; break; } break; case 999: return 0; break; } } } adicionado 54 minutos depois Está pronto acabei agora como pretendia Obrigado pela ajuda de todos #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op,o,p; srand(time(NULL)); while (1) { cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira 4 digitos a vez : "; cin >> num[i]; } for (int i=0; i<4;i++){ cifra[(i+2) % 4]= num[i]; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; for (int i=0 ; i<4; i++){ decifra[i]= cifra[(i+2) % 4]; } cout << "Pretende fazer a DECIFRA do código insira [2], pretende SAIR digite [999] :"; cin >> op; switch(op){ case 2: cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } break; case 2: for( int i=0; i<4;i++){ cout << "Insira 4 digitos a vez : "; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= num[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; cout << "Pretende fazer a CIFRA do código insira [1], pretende SAIR insira [999] :"; cin >> op; switch (op){ case 1: for (int i=0 ; i<4; i++){ cifra[i]= decifra[(i+2) % 4]; } cout << " Cifra é " << cifra[0] <<cifra [1] << cifra[2] <<cifra[3]<< "\n"; case 999: return 0; break; } break; case 999: return 0; break; } } }
  2. Muito Obrigado Flávio pela preciosa ajuda já consegui colocar o programa como pretendia colocar a funcionar. #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op,o,p; srand(time(NULL)); while (1) { cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira 4 digitos a vez : "; cin >> num[i]; } for (int i=0; i<4;i++){ cifra[(i+2) % 4]= num[i]; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; for (int i=0 ; i<4; i++){ decifra[i]= cifra[(i+2) % 4]; } cout << "Pretende fazer a DECIFRA do código insira [2], pretende SAIR digite [999] :"; cin >> op; switch(op){ case 2: cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } break; case 2: for( int i=0; i<4;i++){ cout << "Insira 4 digitos a vez : "; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= num[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; cout << "Pretende fazer a CIFRA do código insira [1], pretende SAIR insira [999] :"; cin >> op; switch (op){ case 1: for (int i=0 ; i<4; i++){ cifra[i]= decifra[(i+2) % 4]; } cout << " Cifra é " << cifra[0] <<cifra [1] << cifra[2] <<cifra[3]<< "\n"; case 999: return 0; break; } break; case 999: return 0; break; } } }
  3. #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op; srand(time(NULL)); cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira o digitos : "; cin >> num[i]; } for (int i=0; i<4;i++){ cifra[(i+2) % 4]= num[i]; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; break; case 2: for( int i=0; i<4;i++){ cout << "Insira o digito"; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= num[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } } Com muita ajuda cheguei aqui... O problema é que eu queria que quando chegar ao fim do Decifre ele pudesse guardar esses 4 digitos e eu pudesse seleccionar Decifrar ou sair do programa caso eu seleccionar Decifar ele pegava automaticamente nos 4 digitos do Cifrar e fazia o decifrar. O mesmo aplicar no menu 2 ao colocar os 4 digitos de decifrar ele tivesse opção para escolher 1 ou sair, e pegasse nos 4 digitos saídos dos decifrar e fazer cifrar... adicionado 29 minutos depois Pensei desta forma não sei se é disparate... Mas está a dar erro no swtich op diz variavel #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op; srand(time(NULL)); cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira o digitos : "; cin >> num[i]; } for (int i=0; i<4;i++){ cifra[(i+2) % 4]= num[i]; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; Switch (op) { case 2: cifra[0]=decifra[0]= num[(i+2) % 4]; cifra[1]=decifra[1]=decifra[i]= num[(i+2) % 4]; cifra[2]=decifra[2]=decifra[i]= num[(i+2) % 4]; cifra[3]=decifra [3=]decifra[i]= num[(i+2) % 4]; cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } case 2: for( int i=0; i<4;i++){ cout << "Insira o digito"; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= num[(i+2) % 4]; } cout << " Decifra é " << decifra[0] <<decifra [1] << decifra[2] <<decifra[3]<< "\n"; break; case 999: return 0; break; } }
  4. @Flávio Pedroza peço desculpa pelo trabalho que lhe estou a dar, e por não explicar de forma correcta, mas pelo que percebi não é assim que ele quer. Ou seja ele querMenu 1 Cifra 2 Decifra 999 Sair escolhemos a opção 1 insira o digito 4 insira o digito 5 insira o digito 6 insira o digito 7 Cifra 5745 e aqui ele pretende que se escolha oção 2 decifra mas que não se insira números mas sim que ele use o valor da cifra para dar o decifra. Bem como se o inicio for opção 2 omesmo processo Não sei se assim fiz entender... Obrigado
  5. @Flávio Pedrozadevo estar a fazer algo de errado :(... Pois se abrir while ao inicio mal dá a cifra aparece logo para escolher de novo o menu 1, e ao colocar novo whule no case 2 não aconteceu nada.. A ideia é escolher [1] e digitar o número 2345 a cifra é 4523.. E então a ideia é dar outro enter e aparecer Decifra 2345 se escolher [2] fazer o oposto ...
  6. @Flávio Pedroza Obrigado Flávio, mas como eu faço para no case 1 quando der a cifra, ele passe para o case 2 e não saía do menu? Ou seja, quando o cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; dê para gravar este cout e seja utilizado para decifrar? e vice e versa? Obrigado mesmo
  7. Agora estou com este problema... Menu [1] Cifrar numero [2]Decifrar numero [999] Sair do Programa Supostamente é para usar vectores. E por exemplo a ideia é digitar o numero por exemplo 1765 e fazer [1] o cfirar pode ser 7651 e este valor seja guardado para ser decifrado por [2] eu estsava a fazer desta forma mas dizem que está mal... já me disseram que tem que ser com while.. mas fiz assim.. mas não dá nada nem grava... #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op; srand(time(NULL)); cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira o digitos : "; cin >> num[i]; } for (int i=0; i=4;i++){ cifra[i]= rand () %9; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; break; case 2: for( int i=0; i<4;i++){ cout << "Insira o digito"; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= rand () %9; cout << " Decifra é " << decifra[3] <<decifra [2] << decifra[1] <<decifra[0]<< "\n"; } break; case 999: return 0; break; } }
  8. Boas pessoal este foi o novo exercicio em C++ ajudem-me da forma mais simples possivel O exercicio é Cifre e decifre numa sequencia de 4 dígitos Menu [1] Cifrar numero [2]Decifrar numero [999] Sair do Programa Supostamente é para usar vectores. E por exemplo a ideia é digitar o numero por exemplo 1765 e fazer [1] o cfirar pode ser 7651 e este valor seja guardado para ser decifrado por [2] eu estsava a fazer desta forma mas dizem que está mal... #include <iostream> #include <locale> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n, i, num[4], cifra[4], decifra[4], op; srand(time(NULL)); cout << "--------------Menu----------------\n\n"; cout << "*************ESCOLHA UMA OPÇÃO**************\n"; cout << "[1] CIFRAR NÚMERO\n"; cout << "[2] DECIFRAR NÚMERO\n"; cout << "[999] SAIR DO PROGRAMA\n"; cout << "Opção? » "; cin >> op; switch(op) { case 1: for ( int i =0; i <4; i++){ cout <<"Insira o digitos : "; cin >> num[i]; } for (int i=0; i=4;i++){ cifra[i]= rand () %9; } cout << "Cifra é " << cifra[0] << cifra[1] << cifra[2] << cifra [3] << "\n"; break; case 2: for( int i=0; i<4;i++){ cout << "Insira o digito"; cin>> num[i]; } for (int i=0 ; i<4; i++){ decifra[i]= rand () %9; cout << " Decifra é " << decifra[3] <<decifra [2] << decifra[1] <<decifra[0]<< "\n"; } break; case 999: return 0; break; } }
  9. @MB_ Muito obrigado vou levar as 2 vertentes. Sobre o da divisão, só logo tenho aula, mas fiz desta forma Que acham responde ao problema esta solução de forma correcta? #include <iostream> #include <locale> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int dvd, dvs, res, quo; cout << "cálculo da divisão de um inteiro pelo outro\n"; cout << "Entre com o dividendo: "; cin >> dvd; cout << "Entre com o divisor: "; cin >> dvs; for (quo=0;dvd >= dvs;quo=quo+1) { res = dvd - dvs; dvd = res; } cout <<"O resultado da divisao e: " << quo << endl; cout <<"O resto e: " << res << endl; system ("pause"); }
  10. @devair1010 Obrigado entao vou deixar essa parte estar como colocou ao inicio. Sim estou em C++ Muito obrigado adicionado 2 minutos depois @Simon Viegas muito obrigado A parte de interpretação agora sim está entendida... mas agora como passar isso tudo para C++ é que não está nada fácil.. terei mesmo que amanha pedir uma explicaçao ao formador pois nem começar consigo....
  11. @devair1010 Obrigado pela explicação. Sim já dei vectores mas mesmo iniciação nada assim aprofundado... Alterei a parte das cores do seu programa pois isso não aprendemos... E o " push_back" também não foi falado em aulas, mas isso não posso alterar pois não? A orientação do formador foi fazer por Switch a alguns colegas, mas não estou a conseguir por esse metodo... E este exercicio " O resultado da divisão inteira de um número inteiro por outro número inteiro pode sempre ser obtido utilizando-se apenas o operador de subtração. Assim, se quisermos calcular (7/2), basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o resultado seja menor do que o dividendo. O número de subtrações realizadas corresponde ao quociente inteiro, conforme o exemplo seguinte: 7 - 2 = 5 5 - 2 = 3 3 - 2 = 1 Descreva um programa para o cálculo da divisão de um inteiro pelo outro. Note que se o dividendo for zero, esta é uma operação matematicamente indefinida" Aqui acho que é mais uma questão de português de não estar a entender o que realmente é pedido, vou tentar fazer este em aula com ele... Obrigado pela grande ajuda abraço
  12. Boas galera. Estou em formação de iniciação a C++ de 50h, e completei 35h até agora, meu professor passou 50 exercícios para fim de semana, e estou com problema em 2 deles. Este nem entendi : O resultado da divisão inteira de um número inteiro por outro número inteiro pode sempre ser obtido utilizando-se apenas o operador de subtração. Assim, se quisermos calcular (7/2), basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o resultado seja menor do que o dividendo. O número de subtrações realizadas corresponde ao quociente inteiro, conforme o exemplo seguinte: 7 - 2 = 5 5 - 2 = 3 3 - 2 = 1 Descreva um programa para o cálculo da divisão de um inteiro pelo outro. Note que se o dividendo for zero, esta é uma operação matematicamente indefinida. E o segundo exercicio é o seguinte escrever de 0 a 99 por extenso o numero, alguém me dá uma ajuda? #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <iostream> #include <locale> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); system ("color 1B"); int n,a,b,c; cout << "Insira um número de 0 a 99 e o retorno seja o número por extenso\n"; cout << "Insira o número : "; cin >> n; { switch (a) { case 0 : cout << "zero"; break; case 1 : cout <<"um"; break; case 2 : cout <<"dois"; break; case 3 : cout <<"tres"; break; case 4 : cout <<"quatro"; break; case 5 : cout <<"cinco"; break; case 6 : cout <<"seis"; break; case 7 : cout <<"sete"; break; case 8 : cout <<"oito"; break; case 9 : cout <<"nove"; break; } switch (b) { case 0 : cout <<"dez"; break; case 1 : cout <<"onze"; break; case 2 : cout <<"doze"; break; case 3 : cout <<"treze"; break; case 4 : cout <<"catorze"; break; case 5 : cout <<"quinze"; break; case 6 : cout <<"dezesseis"; break; case 7 : cout <<"dezassete"; break; case 8 : cout <<"dezoito"; break; case 9 : cout <<"dezanove"; break; } switch (c) { case 2 : cout <<"vinte"; break; case 3 : cout <<"trinta"; break; case 4 : cout <<"quarenta"; break; case 5 : cout <<"cinquenta"; break; case 6 : cout <<"sessenta"; break; case 7 : cout <<"setenta"; break; case 8 : cout <<"oitenta"; break; case 9 : cout <<"noventa"; break; } } { if (n >=20 && n<100) cout << c << a; } { if ( n>10 && n<20) cout <<b; } { if (n<=10) cout <<a << c; } return 0; }

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...