spy_linux
(usa Outra)
Enviado em 22/11/2010 - 10:09h
Gaçera me ajude com esses erros...num consigui tirar! Obrigado.
Erros:
-------
H:\Trabalho\ordena.c:9: error: syntax error before "tlista"
H:\Trabalho\ordena.c:9: warning: no semicolon at end of struct or union
H:\Trabalho\ordena.c:12: error: syntax error before '*' token
H:\Trabalho\ordena.c:12: error: syntax error before '*' token
H:\Trabalho\ordena.c: In function `lu_insereinicio':
H:\Trabalho\ordena.c:14: error: `tlista' undeclared (first use in this function)
H:\Trabalho\ordena.c:14: error: (Each undeclared identifier is reported only once
H:\Trabalho\ordena.c:14: error: for each function it appears in.)
H:\Trabalho\ordena.c:14: error: `aux' undeclared (first use in this function)
H:\Trabalho\ordena.c:15: error: syntax error before ')' token
H:\Trabalho\ordena.c:16: error: `pn' undeclared (first use in this function)
H:\Trabalho\ordena.c:17: error: `plst' undeclared (first use in this function)
H:\Trabalho\ordena.c: At top level:
H:\Trabalho\ordena.c:21: error: syntax error before '*' token
H:\Trabalho\ordena.c: In function `lu_exibelista':
H:\Trabalho\ordena.c:23: error: `tlista' undeclared (first use in this function)
H:\Trabalho\ordena.c:23: error: `aux' undeclared (first use in this function)
H:\Trabalho\ordena.c:23: error: `plst' undeclared (first use in this function)
H:\Trabalho\ordena.c: In function `main':
H:\Trabalho\ordena.c:35: error: `tlista' undeclared (first use in this function)
H:\Trabalho\ordena.c:35: error: `list' undeclared (first use in this function)
H:\Trabalho\ordena.c:39:22: warning: unknown escape sequence '\D'
H:\Trabalho\ordena.c:39:22: warning: unknown escape sequence '\L'
H:\Trabalho\ordena.c:39:22: warning: unknown escape sequence '\D'
H:\Trabalho\ordena.c:39:22: warning: unknown escape sequence '\T'
H:\Trabalho\ordena.c:56: error: stray '\231' in program
H:\Trabalho\ordena.c:56: error: stray '\227' in program
H:\Trabalho\ordena.c:56: error: `ordena_sele' undeclared (first use in this function)
H:\Trabalho\ordena.c:56: error: syntax error before "o"
H:\Trabalho\ordena.c: At top level:
H:\Trabalho\ordena.c:69: error: stray '\231' in program
H:\Trabalho\ordena.c:69: error: stray '\227' in program
H:\Trabalho\ordena.c:69: error: syntax error before "o"
Código:
-------
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
typedef struct tlista{
int n;
tlista *prox;
};
tlista *lu_insereinicio(tlista *plst, int pn)
{
tlista *aux;
aux = (tlista*)malloc(sizeof(tlista));
aux -> n = pn;
aux -> prox = plst;
return aux;
}
lu_exibelista(tlista *plst)
{
tlista *aux = plst;
while (aux != NULL)
{
printf("%d, ", aux -> n);
aux = aux -> prox;
}
}
int main()
{
int num; // ESTE É O NUMERO QUE SERÁ LIDO DO ARQUIVO E PASSADO PARA A LISTA
tlista *list; // ESTOU CRIANDO A LISTA, NADA DE NOVO
list = NULL;
FILE *arquivo; // REFERENCIA DO ARQUIVO, SEMPRE QUE FOR UTILIZAR O ARQUIVO
// SERA REFERENDIDO-SE PELO arquivo
arquivo = fopen("C:\Documents and Settings\Leandro\Desktop\Trabalho\numeros.dat","r"); // O FOPEN ABRE O ARQUIVO, NO CASO
// É PASSADO POR PARAMETRO O ENDEREÇO
// DO ARQUIVO, E O "r" SIGNIFICA QUE
// O ARQUIVO ESTÁ SENDO ABERTO APENAS
// PARA LEITURA
if (arquivo) // CASO NAO TENHA DADO ERRO AO ABRIR O ARQUIVO
{
do
{
fscanf(arquivo,"%d",&num ); // O FSCANF É IDENTICO AO SCANF QUE
// TODOS CONHECEM, PORÉM ELE É
// UTILIZADO PARA LER DADOS DE
// ARQUIVOS, E É PASSADO COMO
// PARAMETRO, O PROPRIO ARQUIVO
// QUE ESTA SENDO LIDO
ordena_seleção(int num[], int tam);
list = lu_insereinicio(list, num); // INSERE O NUMERO NA LISTA
}while(!feof(arquivo)); // ELE PERCORRERÁ TODAS AS LINHAS DO ARQUIVO
// ENQUANTO O ARQUIVO NAO CHEGAR AO FIM
// FEOF = END OF FILE
}
lu_exibelista(list); // EXIBE A LISTA
fclose(arquivo); // FECHA O ARQUIVO
system("pause>NULL");
}
//-------------------------------------------------------------------------------------------------------------
void ordena_seleção(int num[], int tam) {
int i, j, min;
for (i = 0; i < (tam-1); i++) {
min = i;
for (j = (i+1); j < tam; j++) {
if(num[j] < num[min]) {
min = j;
}
}
if (i != min) {
int swap = num[i];
num[i] = num[min];
num[min] = swap;
}
printf(" %d",num[ i ]);
}
}