Programando em C...

Iniciado por eei, 18 de Junho de 2006, 00:44

tópico anterior - próximo tópico

eei

Olá pessoal...
Estou com um probleminha básico.
Eu deixei o meu windows de lado e agora estou utilizando somente o linux, mas em minha faculdade eu tenho uma matéria de programação em C, mas eu não conheço nenhum aplicativo para eu poder estar fazendo meus trabalho etc...
No windows eu tulizava o Turbo C, se alguem souber de algum tutorial onde eu possar ler e aprender a aprogramar em C no linux eu ficaria mto grato.

Abraços
AMD 64 3200+
1GB de RAM
GeForce 6200 256 MB

Emilio E. Inaba
Maringá  -  PR

luizfar

é só instalar o gcc, digita

sudo apt-get install build-essential

escreve seu código em qualquer editor de texto, gedit ou nano por exemplo, depois dá um

gcc -o <nome do executavel que vc quer gerar> <nome_do_arquivo_de_codigo>

e pronto :)

Learjet

também programava em C usava o xemacs, da pa fazer tudo la dentro :D
como o luizfar disse gcc para compilar, convem meter mais umas opções...
supondo q ta a seguir a norma ANSI será qq coisa tipo:
gcc -g -Wall -pedantic -ansi <arquivo com codigo> -o <nome do executavel>

se precisar por exemplo da math.h mete -math, etc... faça man gcc para ver as opções todas.

rockz

Se precisar de um ambiente mais amigavel use o anjuta pra programar, mas antes é necessario instalar o pacote build-essential. Pra instalar o anjuta digite no terminal sudo apt-get install anjuta

Darcamo

Outra opção é o kdevelop. Gosto mais dele do que do Ajunta (ambos são um ambiente de desenvolvimento sendo mais fácil trabalhar neles do que escrever o código em qualquer editor de texto e compilar com gcc), mas por ser feito para KDE acabo tendo que instalar umas coisas a mais, mas na minha opnião vale a pena.

rockz

Eu sugeri o anjuta por ser gtk tambem. Mas se quiser um mega ambiente de desenvolvimento pode usar o eclipse com o plugin pra c/c++

Eu também gosto de usar o scite é um editor bem leve que suporta varias linguagens. Qualquer duvida na configuracao dele pode perguntar.

eei

Vlw galerinha . . .

Eu instalei o Anjuta . . .
mas tipo no turbo c, eu teria que colocar os includes da vida
conio.h stdio.h etc...
no anjuta tenho que fazer isso tbm né, qual os nomes das bibliotecas que eu devo usar?? e se os comando são iguais ao do turbo c

abraços
AMD 64 3200+
1GB de RAM
GeForce 6200 256 MB

Emilio E. Inaba
Maringá  -  PR

eei

Galerinha não repara não heim, mas como no linux eu estou começando, em programação tbm . . .

No turbo C ficaria assim . . .

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

int numero;

main(){
  clrscr();
  printf("Digite um número");
  scanf("%i", &numero);
  printf("Explo básico em C");
  getch();
  return(0);
}

no Anjuta seria a mesma coisa???
pq eu estou tentando aqui e não estou conseguindo.

Eu andei dando uma pesquisada, parece que não tem o conio.h, falam que pode usar o ncurses.h ou curses.h, mas no ubuntu 6.06 não tem essa biblioteca, oq devo fazer???

abraços
AMD 64 3200+
1GB de RAM
GeForce 6200 256 MB

Emilio E. Inaba
Maringá  -  PR

Z1nhow

Realmente não tem a biblioteca conio.h como várias outras, uma dica, usa as bibliotecas padrões do C, assim  vc não terá problema

Learjet


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

int numero;

main(){
  clrscr();
  printf("Digite um número");
  scanf("%i", &numero);
  printf("Explo básico em C");
  getch();
  return(0);
}



não estás a usar ansi C

clrscr() pode-se fazer ou metendo linhas ou entao acessendo ao system, o q nem toda a gente gosta... por isso faz com \n.
getch() suponho que seja getchar()!

n uses main(), usa int main() ou int main (void), se usares assim como esta tens q tirar esse return 0 pq a funcao n vai retornar nada...

eei

hum legal...
mas então na lugar do conio.h eu tenho que estar substituindo por outra???
AMD 64 3200+
1GB de RAM
GeForce 6200 256 MB

Emilio E. Inaba
Maringá  -  PR

Lamego

Em Linux a biblioteca que tem funções semelhantes ás do conio de windows é o ncurses, mas não é tão simples como alterar o include, você vai ter que aprender a utilizar as funções da ncurses.

Para IDE recomendo o Code::Blocks
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Frederico Firmo

Amigo
eu acabo de encontrar a conio.h para linux

Ela vai abaixo
Os detalhes voce pode encontrar na pagina
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=912#


Espero que seja util

Frederico


// conio.h
// CONIO.H UTILIZANDO OS RECURSOS DA BIBLIOTECA NCURSES     //
// ----------------------------------------------------     //
//                                                          //
// DESENVOLVIDO POR: JEFFERSON DOS SANTOS FELIX, ABRIL 2004 //
//                                                          //

#ifndef __NCURSES_H
#include <curses.h>
#endif

#define BLACK       0
#define RED         1
#define GREEN       2
#define BROWN       3
#define BLUE        4
#define MAGENTA     5
#define CYAN        6
#define LIGHTGRAY   7
#define DARKGRAY    8
#define LIGHTRED    9
#define LIGHTGREEN  10
#define YELLOW      11
#define LIGHTBLUE   12
#define PINK        13
#define LIGHTCYAN   14
#define WHITE       15

#define DEFAULT_PAIR 57

int initconio(void);
int endconio(void);
int clrscr(void);
int textcolor(short color);
int textbackground(short color);
int gotoxy(int x, int y);
int wherex(void);
int wherey(void);

short cur_pair;
int cur_bold;

int initconio(void)
{
 int f, b;
 short p;
 initscr();
 start_color();
 p = 1;
 for(f = 0; f < 8; f++)
   for(b = 0; b < 8; b++, p++)
     init_pair(p, f%8, b%8);
 cur_pair = DEFAULT_PAIR;
 cur_bold = 0;
 bkgd(COLOR_PAIR(cur_pair));
 color_set(cur_pair, NULL);
 attr_off(A_BOLD, NULL);
 return 0;
}

int endconio(void)
{
 endwin();
 return 0;
}

int clrscr(void)
{
 bkgd(COLOR_PAIR(cur_pair));
 if(cur_bold == 1)
   attr_on(A_BOLD, NULL);
 else
   attr_off(A_BOLD, NULL);
 clear();
 return 0;
}

int textcolor(short color)
{
 short f, b, x, y;
 short p;
 pair_content(cur_pair, &f, &b);
 p = 1;
 for(x = 0; x < 8; x++)
   for(y = 0; y < 8; y++, p++)
     if((x == (color%8))&&(y == b))
       cur_pair = p;
 color_set(cur_pair, NULL);
 if(color >= 8)
 {
   cur_bold = 1;
   attr_on(A_BOLD, NULL);
 }
 else
 {
   cur_bold = 0;
   attr_off(A_BOLD, NULL);
 }
 return 0;
}

int textbackground(short color)
{
 short f, b, x, y;
 short p;
 pair_content(cur_pair, &f, &b);
 p = 1;
 for(x = 0; x < 8; x++)
   for(y = 0; y < 8; y++, p++)
     if((x == f)&&(y == (color%8)))
       cur_pair = p;
 color_set(cur_pair, NULL);
 return 0;
}

int gotoxy(int x, int y)
{
  move(x - 1, y - 1);
  return 0;
}

int wherex(void)
{
  int x, y;
  getyx(stdscr, x, y);
  return x + 1;
}

int wherey(void)
{
  int x, y;
  getyx(stdscr, x, y);
  return y + 1;
}

thiago e. de oliveira

Citação de: "eei"Galerinha não repara não heim, mas como no linux eu estou começando, em programação tbm . . .

No turbo C ficaria assim . . .

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

int numero;

main(){
  clrscr();
  printf("Digite um número");
  scanf("%i", &numero);
  printf("Explo básico em C");
  getch();
  return(0);
}

no Anjuta seria a mesma coisa???
pq eu estou tentando aqui e não estou conseguindo.

Eu andei dando uma pesquisada, parece que não tem o conio.h, falam que pode usar o ncurses.h ou curses.h, mas no ubuntu 6.06 não tem essa biblioteca, oq devo fazer???

abraços


Ficaria assim:

/**************************************************

#include<stdio.h>
#include<string.h>
#include<stdlib.h> //talvez essa

int numero;

int main (){
  system ("clear");
  printf("Digite um número");
  scanf("%i", &numero);
  printf("Explo básico em C");
  return 0;
}

**************************************************/

Eu uso o CODE::BLOCKS (www.codeblocks.org) e o Anjuta! :wink:
Athlon XP 2600+ / MB ASUS A7N8X-DELUXE
Nvidia GeForce FX 5200 128MB/64bits
RAM 1.28 GB (Samsung)
HL-DT-ST DVDRAM GSA-4081B (gravador DVD)
Fonte Superflower (TTGI) 450W reais
HDD Samsung 160GB 7200 RPM SATA
Modem ADSL D.Link DSL-500T (Speedy)
Registered Linux User # 423742
Registered Ubuntu User # 4182