Ir para conteúdo
Fórum Script Brasil

Jose Simao

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que Jose Simao postou

  1. Na verdade antes pesso minhas sinceiras desculpas, pois estou publicando Artigos na Lingua Russa que e' menos falada, mas nos proximos artigos eu traduzirei em Portugues, Ingles, Espanhol e em Frances. O meu artigo e' baseado na funcao de ajudar todos aqueles que tem dificuldades na Linguagem C++, todos nos passamos por la! Epero que tenham gostado do artigo e que possa ajudar muitos! #include //Подключаем необходимые заголовки using namespace std;//Подключаем стандартное пространство имён void function(int a,int& k);//делаем обявления для функции int main()//Начало программы { int a,b;//обявляем переменные setlocale(LC_ALL,"RUSSIAN");//подключаем поддержку для русского языка cout << "Введите число: ";//Выводим надпись cin >> a;// Вводим число function(a,b);//Ввод числа в функцию для переработки и вывод из функции с помощью ссылки cout << "Число в квадрате: "<< b << endl;// вывод числа system("PAUSE");//Запрещаем окну закрыватся return 0;//Программа возвращает значения то что всё прошло успешно } void function(int a,int& k)//тело функции { k = a * a;// Делаем квадратное число /*return a; Это не используем! Так как у нас void не возвращает значения! */ }
  2. Файл открывается функцией fopen(), которой передаются два параметра. Первый параметр определяет имя файла. Второй — определяет режим открытия файла: чтение, запись, произвольный доступ и т.п., а также указание на то, как работать с данными: в текстовом или двоичном режиме. Подробности — см. в документации. #include <cstdio> #include <errno.h> const char *filename = "testfile.txt"; int main() { FILE *fin, *fout; int ecode; // открытие файла для записи в текстовом режиме, // запись данных и закрытие файла. if((fout = fopen(filename, "w")) != NULL) { for (int i = 0; i < 16; i++) { if ((ecode = fprintf(fout, "%d\n", i*i)) <= 0) { fprintf(stderr, "Write error in file \"%s\", code %d\n", filename, ecode); fclose(fout); return 1; } } fclose(fout); } else { fprintf(stderr, "Output file open error \"%s\", code %d\n", filename, errno); return 1; } // открытие файла для чтения в текстовом режиме, // чтение данных, форматированный вывод на консоль, закрытие файла. int data; int counter = 0; if((fin = fopen(filename, "r")) != NULL) { while ((ecode = fscanf(fin, "%d", &data)) != EOF) { printf("%8d", data); if (++counter % 4 == 0) { putchar('\n'); } } if ((ecode = ferror(fin)) != 0) { fprintf(stderr, "Read error in file \"%s\", code %d\n", filename, ecode); fclose(fin); return 2; } fclose(fin); } else { fprintf(stderr, "Input file open error \"%s\", code %d\n", filename, errno); return 2; } return 0; }
  3. #include <vcl.h> #pragma hdrstop #include "Unit1.h" //------------------------------------------------------------------ #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //------------------------------------------------------------------ __fastcall TForm1(TComponent* Owner) : TForm(Owner) { } //------------------------------------------------------------------ void TForm1::encipher(unsigned int num_rounds, uint32_t v[2], uint32_t const k[4]) { unsigned int i; uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9; for (i=0; i < num_rounds; i++) { v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); sum += delta; v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); } // ESSA LINHA já CONTEM OS VALORES ENCRIPTADOS v1[0]=V0; v[1]=v1; } void TForm1::decipher(unsignes int num_rounds, uint32_t v[2], uint32_t const k[4]) unsigned int i; uint32_t v0=v[0], v1=v[1], delta=0x9E3779B9, sum=delta*num_rounds; for (i=0, i < num_rounds; i++) { v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); sum -= delta; v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); } //ESSA LINHA já CONTEM OS VALORES DECRIPTADOS v[0]=v0; v[1]=v1; //----------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObjct *Sender) uint32_t v[2], chave[4]; uint32_t tamaarq; FILE *origem, *destino; char buffer[2]; int q; tamaarq = FileSizeByName(nomearq->Text); //OBTEM O TAMANHO DO ARQUIVO EM BYTES pb1->Max = tamaarq; //CONFIGURA A BARRA DE PROGRESSO pb1->Position = 0; tamaarq = 0; //CONVERTE A CHAVE DO USUARIO PARA O FORMATO UINT32 chave[0] = edtch->Text[1]; chave[1] = edtch->Text[2]; chave[2] = edtch->Text[3]; chave[3] = edtch->Text[4]; if((origem=fopen(nomearq->Text.c_str(),"rb"))!=NULL { // ABRE O ARQUIVO ORIGINAL if((destino=fopen(DESTINO,"wb"))!=NULL { // ABRE O ARQUIVO DE DESTINO TEMPORARIO do { q = fread(buffer,sizeof(char),2,origem); // LE DOIS BYTES DO AQUIVO ORIGINAL if(q>0) { v[0] = buffer[0]; v[1] = buffer[1]; //TRANSFERE OS BYTES PARA A MATRIZ V } tamaarq += q; pb1->Position = tamaarq; // AJUSTA A BARRA DE PROGRESSO Application->ProcessMessages(); } while(q==2); fclose(destino); //FECHA O ARQUIVO DE DESTINO } fclose(origem); // FECHA O ARQUIVO DE ORIGEM } DeleteFile(nomearq->Text); //DELETA O ARQUIVO ORIGINAL RenameFile(DESTINO, nomearq->Text); //RENOMEIA O ARQUIVO TEMPORARIO pb1->Position = 0; MessageBox(form1->Handle,"Operação de encriptação concluida","Atenção", MB_ICOINFORMATION); //-------------------------------------------------------------------- void__fastcall TForm1::ButtoneClick(TObject *Sender) { uint32_t v[2], chave[4]; uint32_t tamaarq; FILE *origem, *destino; int q; char buffer[2]; tamaarq = FileSizeByName(nomearq->Text); // OBTEM O TAMANHO DO ARQUIVO EM BYTES pb1->Max = tamaarq; // CONFIGURA A BARRA DE PROGRESSO pb1->Position =0; tamaarq = 0; //CONVERTE A CHAVE DO USUARIO PARA O FORMATO UINT32 chave[0] = edtch->Text[1]; chave[1] = edtch->Text[2]; chave[2] = edtch->Text[3]; chave[3] = edtch->Text[4]; if((origem=fopen(nomearq->Text.c_str(),"rb"))!=NULL) { //ABRE O ARQUIVO ORIGINAL ENCRIPTADO if((destino=fopen(DESTINO,"wb"))!=NULL { // ABRE O ARQUIVO DE DESTINO do { q = fread(v,sizeof(uint32_t),2,origem); //LE DUAS UNIDADES ENCRIPTADAS if(q>0) { decipher(QDEPASSOS,v,chave); // DECRIPTA AS UNIDADES buffer[0] = v[0]; buffer[1] = v[1]; // CONVERTE EM CARACTERES ASCII fwrite(buffer,sizeof(char),2,destino); // GRAVA O ARQUIVO DE DESTINO DECRIPTADO } tamaarq += q; pb1->Position = tamaarq; // AJUSTA A BARRA DE PROGRESSO Application->ProcessMessages(); } while(q==2); fclose(destino); //FECHA O ARQUIVO DE DESTINO } fclose(origem); // FECHA O ARQUIVO DE ORIGEM } // DELETA E RENOMEIA OS ARQUIVOS DeleteFile(nomearq->Text); RenameFile(DESTINO,nomearq->Text); pb1->Position = 0; MessageBox(Form1->Handle,"Operação de decriptação concluida","Atenção",MB_ICONINFORMATION); }
×
×
  • Criar Novo...