gedit automatyczne tabulatory

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
kokodyn
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 25 wrz 2013, 22:32

gedit automatyczne tabulatory

Post autor: kokodyn » 29 paź 2016, 16:53

Cześć,

Jak ustawić w programie gedit żeby robił automatyczny TAB po kliknięciu ENTER w taki przypadku?

main()
{
chodzi mi oto żeby automatycznie zrobił TAB po wykryciu otwartego nawiasu {
}
Awatar użytkownika
Adlatus
Zakręcona Traszka
Zakręcona Traszka
Posty: 845
Rejestracja: 29 sty 2007, 19:47
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Puszczykowo

Re: gedit automatyczne tabulatory

Post autor: Adlatus » 29 paź 2016, 17:03

Zainstaluj geany i nie będziesz musiał o nic pytać.
kokodyn
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 25 wrz 2013, 22:32

Re: gedit automatyczne tabulatory

Post autor: kokodyn » 31 paź 2016, 23:04

Dziękuje właśnie takiego programu szukałem.
kokodyn
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 25 wrz 2013, 22:32

Re: gedit automatyczne tabulatory

Post autor: kokodyn » 13 sty 2017, 15:31

Mam teraz następny problem z z programowaniem w C w Geany.
Potrzebuje skompilować i uruchomić dwa pliki źródłowe i jeden nagłówkowy. Domyślam się że chodzi o takie jakie mam opcje ustawione w momencie kompilownia i budowania. Jak to trzeba poprawnie zrobić, dziękuje z góry za wszelką okazaną pomoc.

Błąd przy próbie zbudowania pliku hotel.c wygląda następująco:

Kod: Zaznacz cały

gcc -Wall -o "oplaty" "oplaty.c" (w katalogu /home/maciej/Pulpit/rozdział 9)
/tmp/ccetpIgF.o: In function `main':
oplaty.c:(.text+0x81): undefined reference to `pobierznoce'
oplaty.c:(.text+0x9b): undefined reference to `pokazcene'
oplaty.c:(.text+0xa0): undefined reference to `menu'
collect2: error: ld returned 1 exit status
Kompilacja nie powiodła się
Pliki źródłowe poniżej:

Kod: Zaznacz cały

hotel.c
#include<stdio.h>
#include "hotel.h" // definicja stałych i prototypów
int menu(void)
{
    int kod, stan;
    
    printf("\n%s%s\n",GWIAZDKI,GWIAZDKI);
    printf("podaj numer hotelu:\n");
    printf("1 Marek Antoniusz    2 orzeszek Kuba\n");
    printf("3 U marynarza        4 Hajduczek\n");
    printf("5 koniec\n");
    printf("\n%s%s\n",GWIAZDKI,GWIAZDKI);
    
    while((stan = scanf("%d",&kod)) != 1 || kod > 5 || kod < 1)
    {
        if(stan != 1)
            scanf("%*s");
        printf("Man podaj liczbę z zakresu od 0 do 5");
        
    }
    return kod;
    
}

int pobierznoce(void)
{
    int noce;
    printf("ile nocy potrzeba");
    while((scanf("%d",&noce)) != 1)
    {
        scanf("%*s");
        printf("przyjacielu podaj z łąski swoje liczbę całowita");
    }
    return noce;
}

void pokazcene(double hotel, int noce)
{
    int i;
    double przelicznik;
    double suma;
    
    
    for(i = 1;i <= noce;i++, przelicznik *= RABAT)
        suma += hotel * przelicznik;
    printf("całkowity koszt za %d nocy wyniesie %f",noce,suma);
}

Kod: Zaznacz cały

oplaty.c

/* pogram przchowuje funckcje main() */

#include<stdio.h>
#include "hotel.h" // definicja stałych i prototypów

int main(void)
{
    int noce;
    double hotel;
    int kod;
    
    while((kod = menu()) != KONIEC)
    {
        switch(kod)
        {
            case 1: hotel = HOTEL1;
                    break;
            case 2: hotel = HOTEL2;
                    break;
            case 3: hotel = HOTEL3;
                    break;
            case 4: hotel = HOTEL4;
                    break;
            default: hotel = 0.0;
                    printf("ups coś się jebło\n");
                
        }
    noce = pobierznoce();
    pokazcene(hotel, noce);
    }
    return 0;
}

Kod: Zaznacz cały

hotel.h
// tu będą wszytskie stałe i prototypu funkcji
#define KONIEC 5
#define HOTEL1 50.0
#define HOTEL2 55.0
#define HOTEL3 80.0
#define HOTEL4 100.0
#define RABAT 0.95
#define GWIAZDKI "*****************"

int menu(void);
int pobierznoce(void);
void pokazcene(double,int);
Awatar użytkownika
ka_o_3991
Przyjaciel
Przyjaciel
Posty: 861
Rejestracja: 01 wrz 2007, 13:34
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Re: gedit automatyczne tabulatory

Post autor: ka_o_3991 » 13 sty 2017, 15:39

includujesz hotel.h, ale w żadnym momencie nie kompilujesz hotel.c, więc ld nie ma z czym powiązać nazw funkcji zadeklarowanych w hotel.h
kokodyn
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 25 wrz 2013, 22:32

Re: gedit automatyczne tabulatory

Post autor: kokodyn » 13 sty 2017, 15:51

ok, co teraz w takim razie powinienem zrobić?
błąd przy kompilowaniu hotel.c jest następujący

Kod: Zaznacz cały

gcc -Wall -o "hotel" "hotel.c" (w katalogu /home/maciej/Pulpit/rozdział 9)

(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Kompilacja nie powiodła się
kokodyn
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 25 wrz 2013, 22:32

Re: gedit automatyczne tabulatory

Post autor: kokodyn » 13 sty 2017, 15:53

Forum wyrzuca jakiś błąd gdy wklejam cały kod, brakuje kilkunastu wierszy zaczynających się od /usr/bin/ld:
Awatar użytkownika
ka_o_3991
Przyjaciel
Przyjaciel
Posty: 861
Rejestracja: 01 wrz 2007, 13:34
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Re: gedit automatyczne tabulatory

Post autor: ka_o_3991 » 13 sty 2017, 16:15

samego hotel.c nie skompulujesz. Nie jestem pewny komendy, (nie mam teraz możliwości sprawdzić) ale zobacz

Kod: Zaznacz cały

gcc -Wall "oplaty.c" "hotel.c" -o "oplaty" 
- z dwóch plików źródłowych musisz zbudować jeden wyjściowy.
ODPOWIEDZ

Wróć do „Programowanie”