• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

thranduil

erro no linker com o conio.h

12 mensagens neste tópico

olá a todos :P

l

quando tento compilar um programa que estou a fazer no qual aparece a função clrscr() o linker diz-me sempre que esta função não existe. tenho a certeza que tenho o conio incluido mas não entendo porque é que o linker dá o erro :S

#include <stdlib.h>
#include <conio.h>

int menu()
{
int opcao;
clrscr();

do
{
  printf("Menu\n\n");
  printf("1. Procurar aluno\n");
  printf("2. Adicionar aluno\n\n");
  printf("Opção: "); scanf(" %i", &opcao);
}
while(opcao>3 && opcao<0);
return opcao;
}

main()
{
int opcao;
char nome[20];

opcao = menu();
if(opcao==1)
{
  printf("\nInsira o nome do aluno: "); gets(nome);
}
else
{
  printf("\nInsira o nome do novo aluno: "); gets(nome);
}

system("PAUSE");
}

o programa está longe de estar acabado :P estou a faze-lo porque à muito que não mexo no c e comecei a ver agora a parte dos ficheiros exteriores ^^

se virem algum erro também agradecia que me iformassem.

thank you ^^

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para se incluir headers feitos pelo utilizador a forma de se fazer isso é:

#include "header.h"

no teu caso é:

#include <stdlib.h>

#include "conio.h"

PS: A tua condição while esta errada: while(opcao<1 || opcao>2);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

PS: A tua condição while esta errada: while(opcao<1 || opcao>2);

hmm não? para isso teria que ser opcao<=1 || opcao >= 2 acho eu porque se fizeres <1 ele não conta com o um e conta a partir do número anterior. acho eu :S pelo menos estava convencido que sim :S

quanto ao resto, obrigado pela ajuda :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

thranduil vais ter de explicar esse ciclo while porque não estou a conseguir compreender....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o ciclo while está correcto excepto a parte da condição é while opcao>3 || opcao <1 ..

porque se nao estás a dizer que tem que ser maior que 3 e menor que 1 e isso nao tem logica .. repara se eu puser 3 nunca vai ser maior que 3 e menor que 1 ao mesmo tempo de resto está certo.

e já agora porque criaste outra variavel chamada opçao e nao usaste tipo if (menu(2)) em vez de if(opcao==1)?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois pois desculpem-me :P

ah isso foi para fazer um teste ^^

obrigado a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o ciclo while supostamente é: enquanto for diferente de 1 ou 2 continua a mostrar o menu. Quando for igual a 1 ou 2 sai do ciclo.

ora para ter estas condiçoes tem 2 formas:

while(opcao != 1 && opcao !=2)

ou entao:

while(opcao < 1 || opcao > 2)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

guys.. continuo com o problema do conio.h.....

sempre que compilo o programa ele diz-me:

C:\DOCUME~1\JOO~1\DEFINI~1\Temp\ccSidaaa.o(.text+0x4b):alunos.c: undefined reference to `clrscr'

e aqui o include está

#include <conio.h>

o problema é que eu já tentei da outra maneira (com as aspas) mas nao dá. e a biblioteca vem com o devcpp e nao fui eu que a fiz :S

anyone can help me plz?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque n usas o system("CLEAR"); ou system("CLS"); dependente do SO que usas!?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só consegui limpar o ecrã utilizando o compilador Borland C++ v3.1 (Bem velhinho) porque o Dev C++ dava erro!

Incrivel... E eu k adorava o Dev C++  :wallbash:

Pode é ser do conio.h do Dev C++ não suportar o clrscr();  não sei  ;)

#include <stdio.h>
#include <conio.h>

main()
{
clrscr();
printf("\t\t\n Limpei o ecra mas em Borland C++ v3.1 \n\n\n");
printf("Escreva sair segido de enter para bazar \n");
scanf("%d");
}

PEACE  :smoke:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora