Ir para conteúdo
Fórum Script Brasil

Hzsiul

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Sobre Hzsiul

Hzsiul's Achievements

0

Reputação

  1. 2.28 Escreva um programa que le o tamanho do lado de um quadrado e então imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20. Por exemplo, se seu programa le um de 5 deve imprimir: ***** * * * * * * ***** (Tem espaços dentro da figura) Eu não consegui completar o exercicio, do jeito que eu fiz fica faltando imprimir um lado do quadrado, se alguém puder me ajudar eu agradeço, tenho dificuldades para trabalhar com o for, sou iniciante. #include <iostream> using namespace std; int main(){ int entrada; inicio: cout<<"Digite o tamanho do quadrado (2 ate 20): "; cin>>entrada; cin.ignore(); if (entrada <= 20 && entrada >= 2){ for (int x=0; x<entrada; ++x) cout<<"* "; cout<<"\n"; for (int x=0; x<(entrada-1); ++x) cout<<"*"<<endl; for (int x=0; x<(entrada);++x) cout<<"* "; } else{ cout<<"\nTamanho do quadrado invalido! pressione qualquer tecla para tentar novamente..."; getchar(); system("cls"); goto inicio; } getchar(); return(0); }
  2. Hzsiul

    [Ajuda] Condiçao :?

    Obrigado gente, consegui entender o padrão do condicional *-*
  3. Gostaria de entender o que acontece nessas duas linhas do codigo abaixo: cout<<(count % 2? "****" : "++++++++")<<endl; cout<<( row % 2 ? "<" : ">"); não entendi a condição que enpoem x%2, se fosse ao menos pra ver se o numero é divisivel por 2 ainda vai.. mas não to entendendo qual o retorno que a expressao está dando quando é verdade ou falso. Se alguém me explicar estas condiçoes ficarei muito grato =) O codigo dos dois programas segue abaixo: int main(){ for(int count=1;count<=10;++count) cout<<(count % 2? "****" : "++++++++")<<endl; getchar(); return(0); } int main(){ for (int row=10;row>=1;--row){ for (int column=1;column<=10;++column) cout<<( row % 2 ? "<" : ">"); cout<<"\t"; } getchar(); return(0); }
  4. Acabei de resolver um exercicio, e não sei se consegui alcançar o objetivo do problema, pois achei algumas definiçoes meio estranhas, queria a opniao de vocês, para saber se está correto ou errado a soluçao e ou quais melhoras posso fazer no codigo. Abaixo segue o problema juntamente com o codigo que desenvolvi para o mesmo. 1) Desenvolva um programa em C++ que determinará se um cliente de uma loja de departamentos excedeu o limite de credito em conta corrente. Para cada cliente, os seguintes fatos estao disponiveis: a)Numero da conta b)Saldo no principio do mes c)Total de debitos d)Total de compras no credito. e)Limite de credito permitido. O programa deve receber como entrada cada um destes fatos. calcular o novo saldo (=saldo inicial +debitos -creditos) e determinar se o novo saldo execede o limite de credito do cliente. Para aqueles clientes cujo limite de credito for excedido, o programa deve exibir o numero da conta do cliente, o limite de credito, o novo saldo e a mensagem "Limite de credito excedido." #include <iomanip> #include <iostream> using namespace std; int main(){ cout<<setprecision(2)<<setiosflags(ios::fixed|ios::showpoint|ios::left); int nconta,op; float nsaldo,ncredito,ndebito,nncredito; float nfsaldo=0,nfcredito=0; cout<<"Digite o numero da conta: "; cin>>nconta; cout<<"Digite o seu saldo inicial: "; cin>>nsaldo; cout<<"Digite seu limite de credito: "; cin>>ncredito; cout<<"Digite os gastos em sua conta: "; cin>>ndebito; cout<<"Digite os gastos em seu cartao de credito: "; cin>>nncredito; cout<<"Digite (1) para calcular,(2) Para iniciar o calculo novamente\n"; cin>>op; switch (op){ case 1: nfsaldo=nsaldo-ndebito; nfcredito=ncredito-nncredito; cout<<"Conta: "<<nconta<<endl; cout<<"Saldo: "<<nfsaldo<<endl; cout<<"Limite de credito: "<<nfcredito<<endl; if (ncredito < nncredito) cout<<"Limite de credito excedido, voce esta devendo: "<<nfcredito<<endl; if (ndebito > nsaldo) cout<<"Limite em conta excedido, cheque especial!"<<endl; getchar(); break; case 2: system ("cls"); main(); break; default: cout<<"Opcao invalida por favor tente novamente!\n"; system ("cls"); main(); break; } getchar(); return(0); }
  5. Ah sim, tinha me esquecido do EOF, no caso aqui como é windows, pra finalizar é ctrl z ... valeu por lembrar , agora deu certinho aqui.. muito obrigado =)
  6. Creio que o problema não seje esse, não tem nenhuma função da cstdio no codigo. Mas por via das duvidas compilei aqui com o #include <cstdio> e o problema continua.. D:
  7. Sou iniciante em c++, estou lendo o livro de deitel how to program 3º edição, e me deparei com um programa exemplo que apresenta comportamento anormal ele não funciona! baixei o mesmo programa do site em english,e o mesmo não funcionou tambêm! Eu consegui fazer o código funcionar retirando o valor sentinela, mas gostaria de entender o motivo do original não ser funcional. O objetivo do programa é apenas armazenar as notas e mostrar na tela, usando as estruturas aninhas while e switch com valor sentinela, porem não consegui fazer o valor sentinela funcionar, quando o valor sentinela é acionado, aparece a mensagem, que deveria aparecer quando você digita-se um caractere inválido, e eu tentei compilar o codigo original tanto em ambiente UNIX e ambiente WINDOWS; Original: #include <iostream> using std::cout; using std::cin; using std::endl; int main() { int grade, // one grade aCount = 0, // number of A's bCount = 0, // number of B's cCount = 0, // number of C's dCount = 0, // number of D's fCount = 0; // number of F's cout << "Enter the letter grades." << endl << "Enter the EOF character to end input." << endl; while ( ( grade = cin.get() ) != EOF ) { switch ( grade ) { // switch nested in while case 'A': // grade was uppercase A case 'a': // or lowercase a ++aCount; break; // necessary to exit switch case 'B': // grade was uppercase B case 'b': // or lowercase b ++bCount; break; case 'C': // grade was uppercase C case 'c': // or lowercase c ++cCount; break; case 'D': // grade was uppercase D case 'd': // or lowercase d ++dCount; break; case 'F': // grade was uppercase F case 'f': // or lowercase f ++fCount; break; case '\n': // ignore newlines, case '\t': // tabs, case ' ': // and spaces in input break; default: // catch all other characters cout << "Incorrect letter grade entered." << " Enter a new grade." << endl; break; // optional } } cout << "\n\nTotals for each letter grade are:" << "\nA: " << aCount << "\nB: " << bCount << "\nC: " << cCount << "\nD: " << dCount << "\nF: " << fCount << endl; return 0; } Do jeito que eu arrumei: #include <iostream> using namespace std; int main() { int nentrada, aCount = 0, bCount = 0, cCount = 0, dCount = 0, fCount = 0; cout << "Digite as letras correspondentes as notas, e digite z para sair do programa." << endl; while (nentrada = cin.get()){ switch ( nentrada ) { case 'A': case 'a': ++aCount; break; case 'B': case 'b': ++bCount; break; case 'C': case 'c': ++cCount; break; case 'D': case 'd': ++dCount; break; case 'F': case 'f': ++fCount; break; case '\n': case '\t': case ' ': break; case 'z': case 'Z': exit(0); break; default: break; } system("cls"); cout << "Totalizando as notas:" << "\nA: " << aCount << "\nB: " << bCount << "\nC: " << cCount << "\nD: " << dCount << "\nF: " << fCount << endl; cout<<"Digite as letras correspondentes as notas, e digite z para sair do programa."<<endl; } return 0; }
×
×
  • Criar Novo...