Erro de Compilação

1. Erro de Compilação

diego Henrique e silva carvalho
diegohsc@gmail.c

(usa Ubuntu)

Enviado em 27/06/2009 - 19:39h

Boa noite

Sou novo na área da programação,(Porém apaixonado por ela) e estou com dificuldades para resolver um problema de compilação de um programinha que estou desenvolvendo, o codigo segue logo abaixo:




#include <stdio.h>
#include <stdlib.h>

#define MAX_ALUNOS 1000

struct aluno
{
int codigo;
float media;
};
struct no {
int codigo;
float media;
struct no *lig;
};
struct lista {
struct no *com;
};
void inicialista (struct lista *L) {
L->com = NULL;
}
void inserelista (struct lista *L, struct aluno v)
{
struct no *aux, *ant, *p;
p = (struct no *) malloc (sizeof (struct no));
if (!p)
{
printf ("\nLISTA CHEIA");
system("pause");
}
else {
ant = NULL;
aux = L->com;
while (aux != NULL && (aux->media>v.media)) {
ant = aux;
aux = aux->lig;
}
aux = p;
aux->media = v.media;
aux->codigo = v.codigo;
if (!ant) {
aux->lig = L->com;
L->com = aux;
}
else {
aux->lig = ant->lig;
ant->lig = aux;
}
}
}
void mostralista (struct lista L)
{
struct no *aux;
float m=0;
aux = L.com;
m = aux->media;
printf("\nMaiores Medias \n");
while (aux && aux->media == m)
{
printf ("%d %5.2f\n", aux->codigo, aux->media);
aux = aux->lig;
}
printf("\n");
// alterei para zerar as médias
aux->codigo = 0;
aux->media =0;
system("pause");
}

int main()
{
int i, indice_melhor, n;
float media_melhor;
int turma=1;
struct lista L;
inicialista (&L);
//inserir o menu aqui //
printf(" I---------------------------------I\n");
printf(" I CALCULO DE MEDIAS I\n");
printf(" I---------------------------------I\n");
printf("\n");
printf ("Escreva o numero de alunos da turma:\n(Digite <=0 para sair do programa)\n");
struct aluno alunos[MAX_ALUNOS];
/* le numero de alunos da primeira turma */
scanf("%d", &n);
while (n > 1000)
{
n=0;
printf("Valor invalido, digite novamente o numero de alunos da turma\n");
scanf("%d",&n);
}

while (n > 0)
{
/* le dados dos alunos */
printf ("Escreva o codigo e nota media do aluno:\n");
for (i = 0; i < n; i++)
{
scanf("%d %f", &alunos[i].codigo, &alunos[i].media);
while ((alunos[i].codigo > 20000) || (alunos[i].media > 100))
{
alunos[i].codigo = 0;
alunos[i].media =0;
printf("Valor invalido, favor digite novamente.");
scanf("%d %f", &alunos[i].codigo, &alunos[i].media);
}

inserelista (&L, alunos[i]);
}
}
mostralista(L);
printf("\n-------------------------------------------------\n");
n = 0;
inicialista (&L);
/* le numero de alunos da proxima turma */
printf ("Escreva o numero de alunos da proxima turma:\n(Digite <=0 para sair do programa)\n");
/* le numero de alunos da primeira turma */
scanf("%d", &n);
}

return 0;
}
system ("pause");
}



O código da erro nas últimas 3 linhas na hora de compilar, algum problema com a função return e system()...
Se alguem se desponibilizar em me dar uma ajuda...Muito obrigado

postei o codigo aqui tb: http://codepad.org/UwHTM7QV
para facilitar a visualização..

até mais


  


2. Re: Erro de Compilação

yurick gomes
yurick

(usa Debian)

Enviado em 27/06/2009 - 21:49h

tá tentando fazer isso no linux?? se for, esquece o system("pause")! axo que o teu programa tem "{" e "}" demais tmb, valew


3. Re: Erro de Compilação

Luiz Carlos de Moura
lcmoura

(usa Ubuntu)

Enviado em 01/07/2009 - 00:14h

Oi,

É isto mesmo, mas reveja o número de chaves. E no final, em vez de

return 0;
}
system ("pause");

se for no Linux, faça

getchar();
return 0;

mas se for no DOS ou Windows, faça

system("PAUSE");
return 0;

Grato,


Luiz
http://lcmoura.blogspot.com









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts