Ir ao conteúdo
  • Cadastre-se

Code guy

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

10
  1. Aqui está a solução final: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include<locale.h> char nomeP[20][30],textoP[20][200][50]; ///20(quantidade max de projetos),30(titulo) int seta,posicao=0,quantP=0,linha=-1; ///CIMA = 72 ///BAIXO = 80 void MenuposicaoS(); void Novo(); void Projeto(); // int main() { setlocale(LC_ALL,"portugese"); while(1<2){ MenuposicaoS(); Novo(); if(posicao>0) Projeto(); } return 0; } // void MenuposicaoS(){ do{ system("cls"); printf("\n\n\t\tUORDI\n\n\t"); if(posicao==0){ printf("->Novo Projeto+\n"); for(int i =0;i<=quantP;i++){ printf("%s\n\t ",nomeP[i]); } } else if(posicao>0){ printf(" Novo Projeto+"); for(int i =0;i<posicao;i++){ printf("\n\t %s",nomeP[i]); } printf("\n\t->"); for(int i =posicao;i<=quantP;i++){ printf("%s\n\t ",nomeP[i]); } } seta = getch(); ///comentario de: Simon Viegas (colocar o getch antes do if) if (seta == 0 || seta == 224) ///<-comentario de: vangodp seta = getch(); if(seta==80) posicao++; else if(seta==72) ///comentário de Simon Viegas e cyan(else antes do if) posicao--; if(posicao>quantP) posicao=0; else if(posicao<0) posicao=quantP; }while(seta!=13); } void Novo(){ system("cls"); if(posicao==0){ quantP++; printf("\n\n\tTITULO:"); gets(nomeP[quantP]); system("cls"); do{ linha++; gets(textoP[quantP][linha]); }while(textoP[quantP][linha][0]!='.'); } } void Projeto(){ system("cls"); linha=-1; do{ linha++; puts(textoP[posicao][linha]); }while(textoP[quantP][linha][0]!='.'); getch(); } OBS.: (Dentro do programa) para o programa entender que você acabou o texto basta digitar "." (ponto final) no COMEÇO DE UMA LINHA. Ps.: O programa ficou um pouco extenso, por isso vai ser díficil tanto de explicar quanto de entendê-lo mas vale a pena compilar para ver o resultado. Este é um programa que armazena textos. (assim como o word) Para compilar: Use windows, GNU GCC compiler.
  2. Muito obrigado pela resposta Simon Viegas! Como estou começando a programar em c++ ainda não tenho muita prática com programação e nem um professor para me auxiliar. Só uma observação: Eu coloquei os if's antes do getch() para poder imprimir o menu antes de o usuário pressionar qualquer tecla. Vou levar os comentários em consideração e assim que puder eu posto o programa completo.
  3. #include <stdio.h> int main(){ float i = 0 , j = 1; while(i <= 1.2){ printf("I=%.1f J=%.1f\n", i, j + i ); printf("I=%.1f J=%.1f\n", i, j + 1 + i); printf("I=%.1f J=%.1f\n", i, j + 2 + i); i = i + 0.2; } } Para deifinir a quantidade de casa decimais que você quer imprimir basta colocar:printf("%.(númeero de casas decimais)f",variável); Ex.: printf("%.0f",val1); // irá imprimir o valor de val1 com 0 casas decimais
  4. Muito obrigado pela sua solução Vangodp. A minha solução foi a seguinte: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include<locale.h> int seta,posicao=0; ///CIMA = 72 ///BAIXO = 80 void MenuposicaoS(); // int main() { setlocale(LC_ALL,"portugese"); MenuposicaoS(); ///Função(logo abaixo) return 0; } // void MenuposicaoS(){ do{ system("cls"); if(seta==72) posicao++; if(seta==80) posicao--; if(posicao>3) posicao=0; if(posicao<0) posicao=3; if(posicao==0) printf("\t\tUORDI\n\t Novo+ \n\n\n\t->"); if(posicao==1) printf("\t\tUORDI\n\t Novo+ \n\n\t->"); if(posicao==2) printf("\t\tUORDI\n\t Novo+ \n\t->"); if(posicao==3) printf("\t\tUORDI\n\t->Novo+ "); seta = getch(); }while(seta!=13); } ///estou criando um programa para armazenar texto por isso o nome:UORDI obs.: A minha solução foi simplermente ignorar o 224 e só fazer uma função se o usuario digitar a seta para cima ou para baixo. Dica: Coloquei 3 barras ao invés de 2 nos comentários porque o azul(no code::blocks) dá mais destaque.
  5. A função kbhit() só reconhece se a tecla foi pressionada e não retorna valor. Mas pode deixar, ja resolvi o programa.
  6. Fiz um código para tenta capturar o valor das setas do teclado mas as setas geram 2 valores: 224 e o valor das setas(72, 75, 77, 80), como faço para capturar apenas o valor das setas? Código abaixo: #include <stdio.h> #include <conio.h> int posicao; int main() { do{ posicao = getch(); printf("%d\t",posicao); }while(posicao!=13); return 0; } (Estou usando: windows, GNU GCC compiler)
  7. Compilei o seu programa para ver se tinha algo errado, o compilador mostrou um erro nesta linha provavelmente porquê AluD é um vetor e precisa indicar o [local] em um vetor para ser trabalhado. ficou assim: #include <stdio.h> #include <stdlib.h> #include <ctype.h>> int main() { int nA, cond ; char aluno[20], AluD[20]; float nt, maior; printf("Digite a quantidade de alunos:\n"); scanf("%i", &nA); cond = 1; while (cond <=nA){ printf("ALUNO \n", cond); printf("Digite o nome do aluno:\n"); scanf("%c", &aluno); gets(aluno); printf("Digite a sua nota:\n"); scanf("%f", &nt); if (nt>maior){ maior = nt; for(int i=0;i<19;i++){ AluD[i] = aluno[i]; } } cond = cond +1; } puts(AluD); printf("%f", maior); return 0; } obs:use a função "puts" para imprimir strings, fica bem mais simples.(c++)
  8. @Simon Viegas Obrigado pela resposta.Agora está funcionando.
  9. Fiz um programa para mostrar data e hora e atualizar a cada segundo, porém a função "for" não funciona. O compilador parece pular a função "for" e tudo que está dentro dela. Tem algum erro na sintaxe? #include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { int i; for( i=0;i>100;i++){ system ("date /t" );// imprimir data system ("time /t");//imprimir hora Sleep(1000); system("cls"); } return 0; } (Estou usando: Windows,GNU GCC compiler).

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!