Ir ao conteúdo
  • Cadastre-se
Ricardo Alex Kopp Jacob

C formar colunas para tabuada

Recommended Posts

Olá!

 

Uma das atividades que meu professor passou para minha turma é fazer com que o dev c mostrasse a tabuada automaticamente em um programa. Essa parte do calculo automatico está ok, mas queria deixar a apresentação da tabuada mais organizada, fazendo o programa criar colunas (colocar parte da tabuada lado a lado, não apenas em baixo.

 

Mas não estou conseguindo fazer isso, o programa não está formando as colunas, deixando tudo em uma única. Não consigo encontrar o que está causando o erro, poderiam me ajudar?

#include<windows.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>



void gotoxy(int x, int y){
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1});}
int main ()
{ 
    int num=-1, dec, x=0, y=0, con1, con2, cony, conx=0; //Variaveis
  

    printf ("Tabuada");


for (cony=0; cony<10; cony++)
{
    if (conx<=3)
    {
        y=y+20;
    }

for (conx=0; conx<3; conx++)
{
    if (num<10)    
    {
        gotoxy(x, y);
        num++;
        printf ("\n");
        dec=-1;


        for (con2=0; con2<=10; con2++)
        {
        dec++;
        printf ("\n%d x %d = %d", num, dec, (num*dec));
        x=x+15;
        }
    }
}
}
printf ("\n\n");
system ("pause");
}

 

pra tentar entender o que esta acontecendo de errado fiz um outro programa mais simples, mas tb não deu certo. Nesse ele forma as colunas, mas o começo e o fim de cada uma delas não esta como deveria (a primeira linha fica com as colunas juntas, sem o espaçamento que coloquei pra x, nas outras começa a imprimir a informação depois do primeiro espaçamento e no final fica com 2 "+" juntos)... resumo, so me confundi mais :v

#include<windows.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>

void gotoxy(int x, int y){
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1});}
int main ()
{
    int x=0, y, cony, conx; //variaveis
    
for (cony=0; cony<5; cony++)
{
    if (x==0)
    {y=0;}
    else
    {y=y+3;}
    x=0;
for (conx=0; conx<=3; conx++)
{
    gotoxy(x, y);
    
    printf ("+");
    x=x+10;
}
}system ("pause");

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Escreva sem a SetConsoleCursorPosition.

Sugestão é

 

Linha:    segunda parcela   (de 1 até 10) 

Coluna: primeira  parcela   (de 1 até   3)

 

Imagem Ilustrativa Sujeita a Exclusão

image.png.a16fa4efa40e9db67d9053ff1a0bed8f.png

Ou seja, após impressão de uma linha com todas as tabuadas (de 1 até 3) vem a próxima linha conseguinte (j + 1).

 

@Ricardo Alex Kopp Jacob entende isso ???

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ricardo Alex Kopp Jacob 

Usei 2 estruturas de repetição aninhadas para linhas e colunas.

 


13:04 Atualização

          Código fonte foi removido por conta da política local de não fornecer

          respostas prontas para exercícios.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Ricardo Alex Kopp Jacob disse:

não estou conseguindo fazer...

 

 


13:04 Atualização

          Código fonte foi removido por conta da política local de não fornecer

          respostas prontas para exercícios.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagem Ilustrativa Sujeita a Exclusão

image.png.f5417ebe4109ee10e2d63f12e35019a1.png

Com pode bem perceber pelo print uma das lógicas funcionais é perfeitamente essa.

 

Obrigado pelo exercício.

Se ainda tem alguma pergunta, para mim, faça e ficarei feliz em responder suas perguntas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×