Ir para conteúdo
Fórum Script Brasil

Jose Simao

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Jose Simao

Últimos Visitantes

608 visualizações

Jose Simao's Achievements

0

Reputação

  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...