View Full Version : c++ PROGRAMA BASICO AJUDA PLZ
recordable 14-06-2008, 23:24 O Programa aceita um nome e uma idade. Caso o nome seja o teu
primeiro nome então mostra-o o mesmo número de vezes que a idade
introduzida, caso contrário apenas o mostra uma vez na vertical.
O QUE FALTA NESTE CODIGO sff tame a dar erro mal introduzo a primeira variavel ?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <string.h>
main(char nome[30])
{
printf("Digite um nome: ");
gets(nome);
int x,i;
x=0;
printf("Introduza a sua idade: %d\n",x);
if (nome=="paulo")
{
for (i=1; i <= x; i++)
{
printf("s%",nome);
}
}
else
printf("s%",nome);
return 0;
}
porque é que a variavel nome está declarada como um parametro do main?
põe assim:
int main() {
char nome[30];
...
e não é printf("s%", nome), mas sim printf("%s", nome).
sir_atmc 14-06-2008, 23:34 Outra coisa, esse código de C++ não tem nada. Isso é C.
recordable 14-06-2008, 23:37 naó é possivel arranjarem-me o codigo desse programa? percisava de isso para hoje mesmo :s
Mr. Brightside 14-06-2008, 23:37 naó é possivel arranjarem-me o codigo desse programa? percisava de isso para hoje mesmo :s
Não. O fórum serve para pedir ajuda, não para pedir que façam o trabalho.
(mais) outra coisa que não reparei a bocado
tens isto:
int x,i;
x=0;
printf("Introduza a sua idade: %d\n",x);
if (nome=="paulo")
{
for (i=1; i <= x; i++)
{
printf("s%",nome);
}
Isso no primeiro printf vai escrever simplesmente:
"Introduza a sua idade: 0"
o printf não serve para ler variaveis, apenas para as escrever. o que tu deves querer é isto
printf("Introduza a sua idade: ");
scanf("%d", &x);
por último, se bem me lembro também não podes comparar strings fazendo if (nome=="paulo")
o correcto é:
if (strcmp(nome, "paulo")==0)
recordable 14-06-2008, 23:44 #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <string.h>
int main()
{
char nome[30];
printf("Digite um nome: ");
gets(nome);
int x,i;
x=0;
printf("Introduza a sua idade: ");
scanf("%d", &x);
if (strcmp(nome, "paulo")==0)
{
for (i=1; i <= x; i++)
{
printf("%s", nome);
}
}
else
printf("%s", nome);
return 0;
}
já esta a funcionar uma beka melhor,obrigado mas agora kando nao introduzo o meu nome nao me faz nada falta o else funcionar ou assim
claro que não faz nada. ou melhor faz mas tu não vez
pede-te o nome e tu não escreves nada
depois quando é para o escrever, vai escrever tal e qual como leu, ou seja NADA
sir_atmc 15-06-2008, 01:27 Aqui está o programa em C++, mais não posso fazer:
#include <iostream>
#include <string>
using namespace std;
int main() //função main retorna um valor do tipo int (não fizeste isso no teu programa)
{
//declaração de variaveis
string nome;
int idade = 0;
cout << "Escreva um nome: "; //pede o nome
cin >> nome; //getline(cin, nome) //lê o nome para a variavel
cout << endl << "Escreva a idade: "; //pede a idade e lê para a variavel
cin >> idade;
cout << endl;
if (nome == "paulo") //se o nome for igual a "paulo"
{
for (int i = 0; i < idade; i++)
cout << nome << endl; //imprime no ecra
}
else
{
for (string::size_type i = 0; i < nome.size(); i++)
cout << nome[i] << endl; //imprime cada letra do nome em cada linha. Não esquecer que podemos aceder aos elementos de uma string através de indices
}
return 0; //a função retorna um int, neste caso retornamos zero
}Deve estar a funcionar, mas não testei porque estou num sitio onde não tenho forma de o testar.
arconada 17-06-2008, 03:14 Habituam-nos mal. depois não sabem fazer as coisas...
|
|