
William Rodrigues
Veteranos-
Total de itens
1.935 -
Registro em
-
Última visita
Tudo que William Rodrigues postou
-
'Enxugar' código de calculadora de seis operações
pergunta respondeu ao silas_ de William Rodrigues em C, C++
Saudações, Olhando rapidamente seu código, poderia ser feito: - Melhorar a identação do programa para facilitar a leitura/entendimento futuro. - Nas declarações de variáveis utilizar o operador vírgula - As descrições das operações poderiam estar em um vetor para utilização nos diversos pontos do programa, evitando reescrever em todas as partes. - O fluxo das operações de Adição, Subtração, Multiplicação e Divisão são os mesmos para entrada dos dados (n1 e n2), você poderia melhorar separando essa leitura (dependendo poderia ser aproveitado para as demais operações/programa inteiro). Espero ter ajudado. Abraços, William Rodrigues. -
Saudações, Poderia postar seu código para que possamos te ajudar? Abraços, William Rodrigues.
-
Saudações, Relembrando os bons e velhos tempos de fórum.... Segue minha contribuição. #include <iostream> #include <fstream> #include <stdlib.h> using namespace std; int main(int argc, char* argv[]) { int p; char c; // caractere do arquivo int cripto; // caractere encriptado do arquivo int key = atoi (argv[2]); // senha if (argc != 3) // verifica número de parâmetros { cout << "\nErro, use 2 parametros como: c:\\meuarquivo.xxx senha" << endl; exit(1); } else if (key < 0 || key > 255) // verifica a senha { cout << "\nErro, a senha deve ser um numero de 0 a 255" << endl; exit(1); } fstream inout (argv[1], ios::in | ios::out | ios::binary); // abre o arquivo if (!inout.is_open()) // verifica erro ao abrir arquivo { cout << "\nErro ao abrir arquivo" << endl; exit(1); } while (inout.good()) { inout.get(c); // lê caracter cripto = (int)c + key; // aplica a senha inout.seekp( -1, ios_base::cur); // volta uma posição inout.put((char)cripto); // escreve caracter no arquivo inout.seekp( +1, ios_base::cur); // retorna a posição de leitura } inout.close(); // fecha o arquivo cout << "\nCriptografado com sucesso!" << endl; return 0; } Abraços, William Rodrigues.
-
Salve! Bom, uma dica.... Procure saber bem como funciona e implementa uma Lista Ligada (Lista Encadeada). ;) Abraços, William Rodrigues
-
Salve! Velho, vai no Google e procura pelo algoritmo e depois converta-o para a Linguagem C....E se precisar de ajuda em algo, sobre como converter para a Linguagem C, é só falar! ;) PS: Olhe também na Wikipédia Abraços, William Rodrigues
-
Salve! Brother, sabe trabalhar com a linguagem C? Já utilizou ponteiros em C? Sabe como funciona uma Matriz Esparsa ? Abraços, William Rodrigues
-
Salve! Basta fazer o evento Click do Botão (command1) chamar a rotina de discagem... Exemplo: Private Sub Command1_Click() MsgBox "executar o click no label" Label1_Click End Sub ;) Abraços, William Rodrigues
-
Salve! Velho, você poderá escolher qualquer um dos listados no tópico abaixo: Compiladores/Editores ;) Abraços, William Rodrigues
-
Salve! Vix....complicado cara. Tens pouco tempo, o que já tens feito? Ah, dê uma olhada no Tópico de Estrutura de Dados aqui da ScriptBrasil que você achará um tópico fixo que poderá te ajudar: Tópico Fixo ;) Abraços, William Rodrigues
-
Salve! Basta mostrar o valor integer da Tabela Ascii como um char. Veja: #include <stdio.h> #include <conio.h> int main(){ int ascii; scanf("%d", &ascii); printf("%c", ascii); getch(); return 0; } Abraços, William Rodrigues
-
O Que São Dados Escalares Simples E Estruturados?
pergunta respondeu ao plikts de William Rodrigues em C, C++
Salve! Sim, acredito que sim! :D Abraços, William Rodrigues -
O Que São Dados Escalares Simples E Estruturados?
pergunta respondeu ao plikts de William Rodrigues em C, C++
Bom, para explicar os Dados Escalares Estruturados primeiramente precisamos entender o que é Dados Estruturados. Dados Estruturados são Dados por Estruturas (struct (em C) e/ou class(C++)) a qual é composta por Dados Escalares, ou seja, uma Estrutura é formada por tipos de dados simples (tipos Escalares), sejam do mesmo tipo de dados (chamamos de Estrutura Homogêneas) ou não (chamamos de Estruturas Heterogêneas). Portanto, acho que Dados Escalares Estruturados são os tipos existentes nos Dados Estruturados, ou melhor, uma Estrutura de Dados é formada por Dados Escalares Estruturados! Abraços, William Rodrigues -
Salve! Segue como seria com char* (usado como um ponteiro para uma função) (C/C++): #include <stdio.h> #include <conio.h> static char* funcao(); int main(){ char* str_funcao = funcao(); while (*str_funcao) printf("%c", *str_funcao++); getch(); return 0; } static char* funcao(){ return "String de Retorno"; } E assim seria como deseja (C++): #include <iostream> static std::string funcao(); int main(){ std::string str_funcao = funcao(); std::cout << str_funcao << std::endl; system("pause"); return 0; } static std::string funcao(){ return "String de Retorno"; } ;) Abraços, William Rodrigues
-
Salve! Bom, segue abaixo como criar um aplicativo (Window) de 800x600. #include <windows.h> LRESULT CALLBACK JanPro(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ WNDCLASS cla; cla.style = 0; cla.lpfnWndProc = JanPro; cla.cbClsExtra = 0; cla.cbWndExtra = 0; cla.hInstance = hInstance; cla.hIcon = LoadIcon (NULL, IDI_APPLICATION); cla.hCursor = LoadCursor(NULL, IDC_ARROW); cla.hbrBackground = (HBRUSH) COLOR_WINDOW; cla.lpszMenuName = NULL; cla.lpszClassName = "Janela"; if (!RegisterClass(&cla)) return GetLastError(); HWND hJan; hJan = CreateWindow( "Janela", "Titulo", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, HWND_DESKTOP, NULL, hInstance, NULL); if (!hJan) return GetLastError(); ShowWindow(hJan, nCmdShow); MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK JanPro(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_CLOSE: DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 0; } ;) Abraços, William Rodrigues
-
Salve! Bom, como não sei sua base de conhecimento, mas a idéia, a grosso modo, seria assim: int main() { int i, j, valor = 0; for (i = 0; i < 2; i++) { for (j = valor; j < (valor + 16); j++) printf("%.16X\n", j); valor += 16; } getch(); return 0; } ;) Abraços, William Rodrigues
-
Iniciante Em Aplicações C++ Em Windows
pergunta respondeu ao Fellipe Henrique de William Rodrigues em C, C++
Salve! Segue abaixo a minha contribuição: ATL - Active Template Library - é uma biblioteca de templates C++ criada pela Microsoft para simplificar a programação de objetos COM/OLE/ActiveX em C++. Hoje em dia ela é distribuída junto com todas as versões do Visual C++. É uma biblioteca pouco intrusiva, implementada em camadas e que tem um overhead muito pequeno, por ser baseada em templates. É usada pela Microsoft internamente em seus produtos, como o Windows Explorer, Windows Movie Maker, MMC e vários outros. ;) Abraços, William Rodrigues -
Salve! O Visual Basic 6.0 (também conhecido como VB6) só com licença. Mas a versão 2005 do Visual Basic, que vem junto com a plataforma .NET (VB.NET) pode ser encontrada aqui: http://msdn.microsoft.com/vstudio/express/vb/default.aspx Caso deseje saber mais sobre as versões Expless existentes: http://msdn.microsoft.com/vstudio/products/trial/ Beleza? ;) Abraços, William Rodrigues
-
Salve! Velho, a lógica influência muito na hora de programar. Principalmente porque quando se tem algo para resolver, boa parte da solução está na lógica e não na ferramenta (linguagem) utilizada. Claro que o domínio de uma boa linguagem de programação faz a diferença mas para alcançar isso precisa ralar muito. Se você apenas traduzir (o que for possível) alguns comando já irá trabalhar com a lógica (explicita no outro fórum) e verá que não é tão diferente assim. Qualquer coisa é só falar! Abraços, William Rodrigues
-
Bacana as idéias... Fica a sugestão, caso alguém não concorde ou agregue mais informações é só postar! Abraços, William Rodrigues
-
Salve! Faz um certo tempo que não mexo com C#, seria algo mais ou menos assim: foreach(Form child in this.MdiChildren) child.Close(); Abraços, William Rodrigues
-
Salve! Tranquilo e você? Beleza, como te falei brother, são coisas simples. Aprendendo um dos Loops você saberá todos e quando aplicar cada um deles. Abraços, William Rodrigues
-
Salve! No código abaixo está faltando apenas o & no scanf #include <stdio.h> int main() { float A,E,T,P,S; printf("\nValor de agua:"); scanf("%f",A); printf("\nValor de Energia:"); scanf("%f",E); printf("\nValor de telefone:"); scanf("%f",T); printf("\nValor de provedor:"); scanf("%f",P); printf("\nValor de serviços de manutenção de rede:"); scanf("%f",S); printf("\n\nValor para Maria e jose pagar:%f",(A+E+T)/3); printf("\n\nValor para joão pagar:%f",((A+E+T)/3)+P+S); return 0; } Quanto a %5.2f para limitar a quantia de numeros beleza cara, é isso aí... Quanto aos demais comando simples, tais como os citados, acredito que envolva um pouco de lógica (temos o fórum de Lógica de Programação) simples. Acho que há muitos tutoriais (e até apostilas) simples na Internet com referência a esses simples comandos que te dão a base para qualquer linguagem de programação. Procure saber mais sobre esses simples comandos e caso precise de ajuda em alguns deles, fique a vontade para postar. ;) Abraços, William Rodrigues
-
Salve! Estive muito ocupado nesses últimos tempo e vou falar com o brother kuroi prá ver se há um pessoal suficiente para realizarmos o Contest. Abraços, William Rodrigues
-
Salve! Se o assunto não for muito a ver com o deste post você poerá abrir um outro post... Ah, e tome como prática sempre procurar aqui no fórum prá ver se não há já um tópico relacionado com a sua dúvida, assim teremos apenas tópicos com assuntos diferentes o que torna o nosso fórum mais rico em conteúdo diversificados. Qualquer coisa é só falar! Abraços, William Rodrigues
-
Bem lembrado brother.... Abraços. William Rodrigues