-
Myspace Downloader
Enviado em 11 Abril, 2010 Sem comentáriosFinalmente tenho esta aplicação completa.
Foi a primeira que fiz que segue as normas de programação orientada a objectos.
Aproveitei e fiz uma página dedicada à aplicação, e no blog coloquei um link Projectos que vai servir de índice para colocar projectos meus.Aqui fica o link: http://amgarcia.net/myspacedownloader
-
MC Fuckin Palim Text Converter 0.2-rapper
Enviado em 1 Fevereiro, 2010 6 comentáriosNão tinha nada para fazer e como quero explorar qualquer coisa de C# decidi fazer um port deste programa para C# e aproveitar para integrar um ambiente gráfico, por isso lancei a versão 0.2 do programa.
A versão 0.1 tinha como código de nome mc, e esta 0.2 tem como código de nome rapper.
Para além de agora ter interface gráfica, basta escrever o texto, carregar enter e colar no destino, pois coloca automaticamente no clipboard.
Aqui estão os ficheiros: Download
O binário encontra-se na pasta bin/Release.
Aproveito para avisar que o programa tem um easter egg (estive a tentar um grande bocado mas não consegui. O Nuno Melo conseguiu ajudar-me a resolver o problema, obrigado).
Tentem lá descobrir sem ir ao código.
-
Gestão de propostas de uma biblioteca em C
Enviado em 21 Janeiro, 2010 2 comentáriosComo tinha prometido, aqui está o código do meu projecto da universidade que consiste na criação de uma gestão de propostas de uma biblioteca usando C. Está, como é habitual, licenciado em WTFPL de modo a haver total liberdade.
-
Programa em C para converter texto para maiusculas aleatoriamente
Enviado em 16 Janeiro, 2010 2 comentáriosNão tinha nada para fazer e então fiz em C um programa que converte aleatoriamente minusculas para maiusculas.
Texto: ola. este é um teste
ola. EsTe é Um teSteE também converte aleatoriamente S para Z ou X; C para Q ou K.
É um programa useless, mas foi feito porque sim!
/* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <ctype.h> int main() { system("cls"); srand(time(NULL)); char texto[200], letraS[2] = {'x', 'z'}, letraC[2] = {'k', 'q'}; int i, qts = 0, num[150], troca, letra; printf("\t\t> MC Fuckin Palim Text Converter 0.1-mc <\n\n"); printf("- Para terminar basta fechar o programa.\n\n"); while (1) { fflush(stdin); printf("Texto: "); gets(texto); fflush(stdin); for (i = 0; i < strlen(texto) / 3; i++) { num[i] = rand() % strlen(texto) + 1; if (texto[num[i]] == ' ') { while (texto[num[i]] == ' ') num[i] = rand() % strlen(texto); } switch (texto[i]) { case 's': troca = rand() % 2; if (troca) { letra = rand() % 2; texto[i] = letraS[letra]; } break; case 'c': troca = rand() % 2; if (troca && texto[i + 1] != 'h') { letra = rand() % 2; texto[i] = letraC[letra]; } break; } qts++; } for (i = 0; i < qts; i++) texto[num[i]] = toupper(texto[num[i]]); puts(texto); texto[0] = '\0'; qts = 0; } }
-
Função para validar datas em C
Enviado em 25 Dezembro, 2009 Sem comentáriosFiz esta função para o meu projecto da universidade (quando entregarmos coloco aqui o código todo licenciado em WTFPL!).
Como temos que introduzir datas, aproveitei e fiz uma função que valida a data./* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ #include <stdio.h> #include <string.h> typedef enum { FALSE, TRUE } boolean; // definir o tipo de dados boolean boolean data_valida(char data[]) { int i, j=0, n=1, dia, mes, ano; for (i=0;i<strlen(data);i++) { if (data[i] == '/') j++; } if (j==2) { // Isto vai separar a data dia/mes/ano em tres variaveis data=strtok(data,"/"); dia=atoi(data); data=strtok(NULL,"/"); mes=atoi(data); data=strtok(NULL,"/"); ano=atoi(data); } else return FALSE; if (ano > 0) { switch(mes) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return (dia > 0 && dia <= 31); break; case 4: case 6: case 9: case 11: return (dia > 0 && dia <= 30); break; case 2: if (ano % 100 == 0) ano = ano / 100; if (ano % 4 == 0) return (dia > 0 && dia <= 29); else return (dia > 0 && dia <= 28); break; default: return FALSE; break; } } else return FALSE; }
Exemplo de uso:
int main() { char data[11]; while(1) { printf("Data: "); fgets(data,11,stdin); fflush(stdin); if (data_valida(data)) printf("Data valida\n"); else printf("Data invalida\n"); } return 0; }
-
Lab: lab_Vectores, Ex. 2
Enviado em 15 Novembro, 2009 3 comentáriosPretende-se codificar a informação contida num vector de inteiros da seguinte forma:
sempre que um número x é repetido n vezes, a sequência de repetições é substituída por nx. Assim, por exemplo, 277733444 é substituído por 12372334./* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ #include <stdio.h> #define MAX 9 // alterar pelo numero de valores a introduzir void main() { int num[MAX], i, n=1; for (i=0;i<=(MAX-1);i++) { printf("Num %d: ",i+1); scanf("%d",&num[i]); } printf("Codificacao: "); for (i=0;i<=(MAX-1);i++) { if (num[i+1] == num[i]) n++; else if (num[i+1] != num[i]){ printf("%d%d",n,num[i]); n=1; } } printf("\n"); }
-
Lab: lab_Vectores, Ex. 1
Enviado em 10 Novembro, 2009 4 comentáriosVou começar a colocar aqui alguns exercícios de laboratório de Introdução à Programação.
Todos os posts com “Lab:” no título são exercícios resolvidos por mim.
Claro que são resolvidos de forma diferente do que a docente efectua na aula laboratorial, pois estes resolvidos na aula utilizam conteúdos desnecessários.Ficha lab_Vectores, Ex. 1
Escreva um programa para ler um vector com n numeros inteiros e preencha um outro vector com a soma do primeiro com o ultimo elemento, do segundo com o penultimo, etc/* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ #include <stdio.h> void vect(int num) { int vector[num],vector_soma[num], i, x=0; for (i=0;i<num;i++) { printf("Posicao %d: ", i+1); scanf("%d",&vector[i]); } for (i=0;i<num/2;i++) { vector_soma[i] = vector[i]+vector[(num-1)-i]; x++; } if (num%2 != 0) { vector_soma[x] = vector[num/2]; } else x--; for (i=0;i<=x;i++) { printf("Soma %d: %d\n",i+1,vector_soma[i]); } } int main() { int n; printf("Num de posicoes: "); scanf("%d",&n); vect(n); return 0; }
-
Adicionar mais uma opção aos avatars do WordPress
Enviado em 5 Outubro, 2009 Sem comentáriosQueria colocar outro avatar nos avatars default do WordPress e então fui procurar algo.
1. Editar o functions.php do tema utilizado
2. Adicionar (dentro da tag do php) o seguinte:/**
* add a default-gravatar to options
*/
if ( !function_exists('fb_addgravatar') ) {
function fb_addgravatar( $avatar_defaults ) {
$myavatar = get_bloginfo('template_directory') . '/images/myavatar.png';
$avatar_defaults[$myavatar] = 'Avatar';return $avatar_defaults;
}add_filter( 'avatar_defaults', 'fb_addgravatar' );
}No meu caso em vez de ser /images/ foi /img/. Depende do tema que utilizam. O ficheiro de imagem pode ser .png ou .gif e deve estar na pasta indicada (image ou img) que se encontra dentro da pasta do tema.
3. Ir ao painel de admin e na categoria de Discussão seleccionar o novo avatar.
Encontrado aqui: http://wpengineer.com/add-avatar-to-wordpress-default/
-
Hack ao tema do blog
Enviado em 5 Abril, 2009 Sem comentáriosFiz um hack ao tema do blog.
O tema é giro e tal, mas não mostrava quem escreveu os posts, o que era um pouco chato visto eu não ser o único a escrever aqui.
É fácil colocar isto. Fiz download nos googles de uma imagem de “author”, coloquei no photoshop, alterei as cores, mudei o tamanho, enviei para o servidor e depois alterei o código de alguns ficheiros do tema para incluir o autor e pronto, já está. Senti-me um verdadeiro hacker dos phps, wordpresses e opensores. -
Decomposição em digitos
Enviado em 19 Outubro, 2008 2 comentáriosExemplo: 102
102 -> 1 + 0 + 2 = 3/* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ #include <iostream> using namespace std; void main() { int num,x[10],i=0,n=0,soma=0; cout << "Num: "; cin >> num; cout << num << " -> "; while (num>0) { x[i] = num%10; num = num/10; i++; n++; } for (i=n-1;i>=0;i--) { soma=soma+x[i]; if (i>0) cout << x[i] << " + "; else cout << x[i] << " = " << soma << "\n"; } }
(nota: tenho que editar o código do site para não interpretar html quando for código, assim evito de colocar imagens)
amgarcia.net
Blog pessoal


