1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

c++ PROGRAMA BASICO AJUDA PLZ

Discussão em 'Programação' iniciada por recordable, 14 de Junho de 2008. (Respostas: 9; Visualizações: 1482)

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

    Código:
    #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;
    }
     
    Última edição pelo moderador: 14 de Junho de 2008
  2. MPalhas

    MPalhas Power Member

    porque é que a variavel nome está declarada como um parametro do main?

    põe assim:

    Código:
    int main() {
       char nome[30];
    
       ...

    e não é printf("s%", nome), mas sim printf("%s", nome).
     
    Última edição: 14 de Junho de 2008
  3. OubeLa

    OubeLa Power Member

    Outra coisa, esse código de C++ não tem nada. Isso é C.
     
  4. naó é possivel arranjarem-me o codigo desse programa? percisava de isso para hoje mesmo :s
     
  5. Não. O fórum serve para pedir ajuda, não para pedir que façam o trabalho.
     
    Última edição: 14 de Junho de 2008
  6. MPalhas

    MPalhas Power Member

    (mais) outra coisa que não reparei a bocado

    tens isto:
    Código:
    [FONT=Arial][COLOR=White]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);
    }[/COLOR][/FONT]
    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)

     
  7. Código:
    #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
     
    Última edição: 14 de Junho de 2008
  8. MPalhas

    MPalhas Power Member

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

    OubeLa Power Member

    Aqui está o programa em C++, mais não posso fazer:

    Código:
    #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.
     
    Última edição: 15 de Junho de 2008
  10. arconada

    arconada Power Member

    Habituam-nos mal. depois não sabem fazer as coisas...
     

Partilhar esta Página