Programa não funfa

1. Programa não funfa

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 25/07/2011 - 17:44h

olá, fiz esse programinha em C++ mas ele não funciona direito, põe os traços no lugares errados e não lê a entrada:
#include<iostream>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main ()
{
int i;
char repetir;
inicio:
cout<<"Quantos caracteres terá sua frase? ";
cin>>i;
char frase[i+1];
cout<<setfill('_');
cout<<"Frase: "<<setw(i)<<"\r";
cin.getline(frase,sizeof(frase));
cout<<"Repetir? [S/N] ";
cin>>repetir;
if (repetir=='S'||repetir=='s')
goto inicio;
if (repetir=='N'||repetir=='n')
return 0;
}

O que está errado?


  


2. Re: Programa não funfa

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 26/07/2011 - 19:21h

iup! E agora quem poderá me ajudar?


3. Re: Programa não funfa

José Mário
miura 787

(usa Ubuntu)

Enviado em 27/07/2011 - 09:39h

Você poderia explicar melhor o que vc deseja que o programa faça, mas de antemão "goto" já era faz tempo.

Use instruções de repetição como while() ou for()!




4. Re: Programa não funfa

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 27/07/2011 - 11:23h

é assim: digito a quantidade de caracteres que uma frase terá:

5, por exemplo, depois aparecerá:

Frase: _____ /já vi um erro sobre o \r ele voltará no inicio da frase em 'F'.

Eu digitaria a frase sabendo seu limite, é basicamente isso..


5. Re: Programa não funfa

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 27/07/2011 - 12:00h

#include<iostream>
#include<iomanip>
using namespace std;
int main ()
{
char repetir;
do{
int i;
cout<<"Quantos caracteres terá sua frase? ";
cin>>i;
char frase[i+1];
cout<<setfill('_');
cout<<"Frase: "<<"\n"<<setw(i)<<"\r";
cin.getline(frase,sizeof(frase));
cout<<"Repetir? [S/N] ";
cin>>repetir;
}while (repetir=='s' || repetir=='S');
return 0;
}

============
será que pode ter a soma em "frase[i+1]"?


6. Re: Programa não funfa

José Mário
miura 787

(usa Ubuntu)

Enviado em 27/07/2011 - 17:13h

Que eu saiba vc não pode criar uma variável do tipo char com o tamanho dinâmico usando outra variável para determinar seu tamanho.

No caso da soma dentro da declaração da variável, bastaria dar o comando: i+=1; antes de usá-lo como parâmetro de frase, então ficaria: char frase[i];


7. Re: Programa não funfa

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 27/07/2011 - 17:57h

corrigido, mas não sei o porque de não funcionar
#include<iostream>
#include<iomanip>
using namespace std;
int main ()
{
char repetir;
do{
int i;
cout<<"Quantos caracteres terá sua frase? ";
cin>>i;
i+=1;
char frase[i];
cout<<setfill('_');
cout<<"Frase: ";
cout<<setw(i)<<"\r";
cin.getline(frase,sizeof(frase));
do{
cout<<"Repetir? [S/N] ";
cin>>repetir;
if (repetir!='s'&&repetir!='S'&&repetir!='n'&&repetir!='N')
cout<<"Opcao invalida!\n";
}while (repetir!='s'&&repetir!='S'&&repetir!='n'&&repetir!='N');
}while (repetir=='s' || repetir=='S');
return 0;
}

veja esse:

#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
int cep;
cout<<setfill('_');
cout<<"*Obs.: não ultrapasse as delimitações!"<<endl;
cout<<"Qual é o seu CEP?\n";
cout<<setw(9)<<"\r";
cin>>cep;
return 0;
}

isso q eu queria fazer, mas especificando a quantidade de setw..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts