imprimir matriz string outro metodo (não onde foi atribuido)

05/08/2009

0

olá
estou tentando imprimir uma matriz de string fora do metodo onde foi atribuido dados a ela e não dá certo (dentro do metodo onde são atribuidos as strings dá certo.
O metodo imprimeVetor deveria imprimir ...
segue meu codigo
class funcionario
{ public:
char nome[2][10];
int numFunc;
int salario[5];
void insereNumFuncionarios(int n);
void imprimeVetor(int n);
};
#include <iostream>
include ´exercVetor2.h´
void funcionario::insereNumFuncionarios(int n)
{ printf(´digite nome do funcionario´);
scanf(´¬s´,&nome[n]);
printf(´digite salario´);
scanf(´¬d´,&salario[n]);
}
void funcionario::imprimeVetor(int n)
{ int i;
for(i=1; i<n; i++)
printf(´\nPosição Vetor ¬d´,i);
printf(´¬s´,&nome[i]);
printf(´¬d´,salario[i]);
}
int main()
{ int i,a=1;
int n=1;
funcionario F1;
printf(´Quantos funcionarios´);
scanf(´¬d´,&F1.numFunc);
printf(´¬d´,F1.numFunc);
a=F1.numFunc;
for(i=1; i<=a; i++)
{F1.insereNumFuncionarios(n);
n=n+1;
}
F1.imprimeVetor(n);
}


Responder

Posts

07/08/2009

Rodc

Segue seu código corrigido e melhorado. Tinha vários erros de lógica, como por exemplo, sua matriz tem duas posições, nome[0] e nome[1], porém você tentava imprimir os dados de nome[1] e nome[2], pegando lixo de memória.
class funcionario
{
public:
    char nome[2][10];
    int numFunc;
    int salario[5];
    void insereNumFuncionarios(int n);
    void imprimeVetor(int n);
};
include <iostream.h>
include <stdio.h>
void funcionario::insereNumFuncionarios(int n)
{
    printf("¬d - digite nome do funcionario: ", n+1);
    scanf("¬s",nome[n]);
    printf("    digite salario: ");
    scanf("¬d",&salario[n]);
} 
void funcionario::imprimeVetor(int n) 
{
    int i;
    for(i=0; i<n; i++)
    {
        printf("\nPosição Vetor ¬d - ",i);
        printf("¬s - ",nome[i]);
        printf("¬d",salario[i]);
    }
} 
int main() 
{
    int i;
    funcionario F1;
    printf("Quantos funcionarios: ");
    scanf("¬d",&F1.numFunc);
    for(i=0; i<F1.numFunc; i++)
    {
    F1.insereNumFuncionarios(i);
    }
    F1.imprimeVetor(F1.numFunc);

    printf("\n");
    system("PAUSE");
}



Responder

08/08/2009

Ane

ok, deu certo
muito obrigado


Responder

08/08/2009

Ane

ok, deu certo
muito obrigado


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar