[Çözüldü] Nasıl yapabilrim? (C)

Başlatan Sh4oTT, 01 Aralık 2015 - 23:53:22

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Sh4oTT

Arkadaslar [1]videonun 13:00 dakikasında ki Latest rev. [-] yazısında ki [ ] icerisinde olusan efekti nasıl yapabilrim fikri olan varmı?


[1] https://www.youtube.com/watch?v=F9JPLeMewm0

Reverser

şu şekilde bir şey olabilir

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


int main(int argc, char *argv[])
{
for(;;)
{
  system("clear");
  printf("[|]\n");
  timer();
  system("clear");
  printf("[/]\n");
  timer();
  system("clear");
  printf("[-]\n");
  timer();
  system("clear");
}
}

int timer()
{
   int c = 1, d = 1;
   for ( c = 1 ; c <= 32767 ; c++ )
       for ( d = 1 ; d <= 32767 ; d++ )
       {}
   return 0;
}

özel tanımlı fonksiyon yerine delay() ya da sleep() fonksiyonlarından biri de kullanılabilir.

XFCE ROCKS !
Powered by Thunar & XFWM4



Sh4oTT

@Reverser tesekkur ederım hocam ben de dun gece soyle yapmıstım olmamıstı mesele sleep(); de bitiyormus tesekkurker :)

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

int main() {

int i=0;

system("clear");


for (i=0; i<100; i++) {

printf("-");
system("clear");
printf("/");
system("clear");
printf("-");
system("clear");
printf("\\");
system("clear");
printf("-");
system("clear");
printf("|");
}

system("clear");
}

Reverser

Kod biraz saçma oldu ama olsun, sprintf ve recursive fonksiyon kullanarak daha gelişmiş progress bar tarzı bir şey yapabilirsin.

XFCE ROCKS !
Powered by Thunar & XFWM4



Sh4oTT

Hocam burda sleep(1); dedigim zaman biraz yavas kalıyor sleep(0.9); dedigim zaman da cok hızlı oluyor bunun baska ayarı varmı?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


int main(int argc, char *argv[])
{
    for(;;)
    {
      system("clear");
      printf("[|]\n");
      sleep(0.9);
      system("clear");
      printf("[/]\n");
      sleep(0.9);
      system("clear");
      printf("[-]\n");
      sleep(0.9);
      system("clear");
          printf("[\\]\n");
      sleep(0.9);
      system("clear");
          
    }
}



Reverser

paylaştığım koddaki timer fonksiyonuyla oynama yapmayı dene bakalım istediğin sonucu alacak mısın

XFCE ROCKS !
Powered by Thunar & XFWM4



Sh4oTT

Tamamdır hocam tesekkur ederım.

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


int timer()
{
   int c = 1, d = 1;
   for ( c = 1 ; c <=5000 ; c++ )
       for ( d = 1 ; d <=5000 ; d++ )
       {}
   return 0;
}


int main(int argc, char *argv[])
{
for(;;)
{
  system("clear");
  printf("[|]\n");
 
timer();
  system("clear");
  printf("[/]\n");
 
timer();
  system("clear");
  printf("[-]\n");
 
timer();
  system("clear");
          printf("[\\]\n");
 
timer();
  system("clear");
         
}
}


7hr33l3t73r


#include <stdio.h>
#include <unistd.h>

void advance_spinner() {
    static char bars[] = { '/', '-', '\\', '|' };
    static int nbars = sizeof(bars) / sizeof(char);
    static int pos = 0;

    printf(" processing... [%c]\r", bars[pos]);
    //printf("%c]\r[", bars[pos]);
    fflush(stdout);
    pos = (pos + 1) % nbars;
}
int main() {
    while (1) {
        advance_spinner();
        usleep(90000);
    }
    return 0;
}

dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Sh4oTT

Bu daha guzelmis ama bilmedigim bir sürü fonksiyon var icinde :)