Ir ao conteúdo
  • Cadastre-se

[Linker error] undefined reference to 'WinMain@16'


mariafernanda
Ir à solução Resolvido por FelipePetropolis,

Posts recomendados


#include <stdio.h>

#include <stdlib.h>

#define M 3

#define N 3

void soma_matriz(int a[M][N]){

int soma=0, i, j;

FILE *fp;

fp = fopen("matrix.txt","r");

if(!fp)

{

printf( "Erro na abertura do arquivo");

exit(0);

}

for(i=0;i<M;i++){

for(j=0;j<N;j++){

fscanf(fp,"%d", &a[j]);

soma=soma+a[j];

}

}

for ( i = 0; i < 3; i++ ) {

for ( j = 0; j < 3; j++ ) {

fscanf ( fp, "%d ", &a [j] );

soma=soma+a[j];

}

fscanf ( fp, "%d%*c", &a [j] );

}

printf ( "A SOMA DOS ELEMENTOS DA MATRIZ E: %d\n", soma );

fclose(fp);

int main()

{

int i,j, matriz[M][N], soma;

fp = fopen ( "matriz.txt", "r" );

if ( !fp ) {

perror ( "ERROR: " );

getchar();

exit ( EXIT_FAILURE );

}

system ( "pause" );

system ( "cls" );

printf ( "\nA MATRIZ DIGITADA FOI:\n" );

for ( i = 0; i < 3; i++ ) {

for ( j = 0; j < 3; j++ ) {

fscanf ( fp, "%d", &matriz [ i ] [ j ] );

printf ( " %3d ", matriz [ i ] [ j ] );

}

printf ( "\n" );

}

rewind(fp);

printf ( "\n\n" );

fclose ( fp );

return 0;

soma_matriz(matriz);

}

}

Link para o comentário
Compartilhar em outros sites

  • Solução

Olá!

 

 

Sou iniciante mas, acho que posso ajudar . . .

 

 

- |34|warning: unused variable ‘soma’ -este alerta está lhe dizendo que a variável soma não está sendo usada para nada, pelo menos ate esta parte do código.

 

 

- O problema que deve estar impedindo a compilação e execução do programa, pelo menos aqui, deve estar na chave de fechamento da função que você definiu “ void soma_matriz(int a[M][N]) ” você a colocou na linha 62 após a chave de fechamento de main(), é só tira-la de lá e coloca-la no lugar certo

 

- Mas após corrigir a chave cria-se um erro: |35|error: ‘fp’ undeclared (first use in this function)| - deve estar ocorrendo porque o ponteiro para o arquivo ficou visível apenas dentro da função que você definiu e não pode ser visualizada na função main(), para mim foi só colocar “ FILE *fp; “ no inicio da função main()

 

- e como é de se esperar como não tenho o arquivo, deu erro na leitura do mesmo . . .

 

- e um observação as ultimas linhas da sua função main() estão estranhas, acho que você deveria inverte-las, colocando o return 0; depois da chamada a função " soma_matriz() "

 return 0;soma_matriz(matriz);

Bom por hora é só . . .

 

Ubuntu 14.04  GCC 4.8  CodeBlocks 13.12

 

Espero Ter Ajudado ! ! !

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!