[ Foro de C++ ]

Imprime los triángulos indicados en la Interface de usuario.

30-Mar-2021 03:51
LESLI Ramirez
0 Respuestas

/* P13EAsterisc1.CPP
*/
#include"gotoxy.h"
#include<cstring>
#include<iostream>
#define CEN 40
#define T1 "P13Asterisc1.CPP"
#define T2 "\t ALIMENTAR NUMERO DE RENGLONES <0<n<=30 : "
#define T3 "\t ALIMENTAR CARACTER: "
#define T4 "Otro Proceso (s/n)?: "
using namespace std;
int Ent();
void Proc(int);
char Sal();
int main(void){
int nr;
char opc;
while(1){
nr=Ent();
Proc(nr);
opc=Sal();
if(opc=='n')break;
}
return 0;
}
int Ent(){
int r;
system("cls"); //clrscr();
do{
gotoxy((80-strlen(T1)-strlen(T2)-2)/2,1);
cout<<T1<<T2; cin>>r;
}while(!(r>0 && r<=30));
return r;
}
void Proc(int nr){
int i,j;
char c;
int num=1;
for(i=1;i<=nr;i++) {
for(j=1;j<=i;j++)
//if(num>9)
cout<<num++%10;
//else cout<<num;
cout<<"\n";
//num++;
}
num=0;
for(int ter=1;ter<=nr;ter++)num=num+ter;
for(i=nr;i>0;i--) {
for(j=1;j<=i;j++){
//if(num>=10)
cout<<num%10;
//else cout<<num;
num--;
}
cout<<"\n";
}
}
char Sal(){
char s;
do{
gotoxy((80-strlen(T4)+2)/2,24);
cout<<T4; cin>>s;
cout<<"\n";
s=tolower(s);
}while(!(s=='s'||s=='n'));
return s;
}
El problema es que no imprime bien los triángulos
loa imprime asi
1
23
456
654
32
1
y deberia imprimirlos así
1       654
23       32
654         1




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)