Erro Expected primary- expression before " ] " token

Started by Casanova, 27 de April , 2011, 03:21:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Casanova

Estou brincando aqui com C++ e me deparei com esta dificuldade de criar um programa o qual vc digita um nome e ele é guardado em um array logo imprimindo uma lista dos nomes guardados.
Aqui esta o codigo do programa , se alguem puder me ajudar !

Compilado com Dev C++

Quote


#include<iostream>
#include<string.h>
#include<conio.h>
#include<windows.h>



//variaveis globais
int vf=0; //variavel de controle
int const linha=2;
int const coluna=40;
bool sim;

using namespace std;

//funçoes
void insere(char [][coluna],int); //o int depois da virgula vai para linha
void escreve(char [][coluna],int);
void falha();


int main()
{
 
  char arrai[linha][coluna];
  int menu;
 
 
  cout<<"§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§";
  cout<<endl<<"ESCOLHA UMA OP\x80\xb6O"<<endl<<endl;
  cout<<"1 - inserir nome\n";
  cout<<"2 - Exibir nome\n";
  cout<<"3 - Sair\n";
  cout<<"§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§\n\n\n";
 
  cout<<"DIGITE UMA ALTERNATIVA --> ";
  cin>>menu;
 
  while(1){
 
           
 
  switch(menu){
               
               case 1:
                    insere(arrai,linha);
                    break;
                   
               case 2:
                    escreve(arrai,linha);
                    break;
                   
               case 3:
                    falha();
                    break;
                   
                    Default:
                            cout<<"ERRO CRITICO FAÇA UMA FACULDADE PARA APRENDER A \n PROGRAMAR !\n\n";
                                         
               }
               }
 
 
  getch();
  return 0; 
}

//funçao para inserir nome no array
void insere(char array[][coluna],int line)
{
   char peganome[coluna];
   char pergunta;
     
  while(sim){
             
     cin.ignore();           
     cout<<"Digite um nome --> ";
     cin.getline(peganome,coluna);
     
     if(cin.bad()){cout<<"Erro na leitura";}
     
     if(strlen(peganome) > coluna){cout<<"O nome ultrapassa o tamanho permitido !!!";falha();}
   
        for(int y=0; y < strlen(peganome);y++)
        {
          array[vf][y]=peganome[y];     
        }
       
             
       cout<<endl<<endl;
       cout<<"Deseja continuar ? ";
       cin>> pergunta;
       
       if(pergunta == 'n' || pergunta == 'N'){sim=false;}
       vf+=1;
       if(vf == 2){cout<<"Tabela cheia !!!\n\n";sim=false;}     
  }     
     
}

//mostrar conteudo do array
void escreve(char arrais[][coluna],int lin)
{
    char peganome[coluna];
   
     
for(int n=0; n < vf; n++)
  {
          for(int m=0; m < strlen(peganome); m++)
          if(arrais[n][m] != '\0')
          {
            cout<<arrais[n][m];
          }
          cout<<endl;
         
  }     
     
}

//para sair do programa
void falha()
{
   cout<<"Saindo do programa ...";
   Sleep(1000);
   exit(1); 
}