Hoppa till innehåll

Hjälp Med Lite Programerings Uppgifter


Rekommendera inlägg

Hejsan, någon här som har lust att tjäna 1000fm?

 

Hade behövt få tag i någon som skulle kunna göra lite hem uppgifter åt mej som min lärare i programering A kursen har gett mej.

 

Det är ganska simpla uppgifter som ska vara gjorda med dev-c++.

 

Skicka ett pm åt mej om du är intresserad

 

Uppgift 5 C++

 

här är den sista uppgiften som jag hade behövt:

 

 

J.Skapa ett program som omvandlar(krypterar/dekrypterar) en valfri imatad text på flera ord. Den skall fungera båda vägarna, texten den krypterar skall den även kunna dekryptera igen.

(Skapa en meny vars du får välja om du skall mata in, kryptera eller dekryptera en text, man skall inte kunna gissa sig till vad som står i texten efter kryptering)

Redigerat av Red_fox2
Länk till kommentar
Dela på andra sajter

J.Skapa ett program som omvandlar(krypterar/dekrypterar) en valfri imatad text på flera ord. Den skall fungera båda vägarna, texten den krypterar skall den även kunna dekryptera igen.

(Skapa en meny vars du får välja om du skall mata in, kryptera eller dekryptera en text, man skall inte kunna gissa sig till vad som står i texten efter kryptering)

Det går alltid att gissa sig fram till vad som står i texten efter krypteringen om det nu inte är kvantumkryptering.
Länk till kommentar
Dela på andra sajter

@Bazti, våran lärare bryr sg inte hur man har fått tag i uppfifterna,bara man kan lämnain alla så får man G i kursen.

 

@Vitdom, jo, men vad våran lärare menar med den uppgiften är att alla bokstäver ska byta tecken, inte bara vissa.

Länk till kommentar
Dela på andra sajter

Om nån är intresserad så är koden här, inte mästerligt, men funkar(=

#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <string>

using namespace std;
string decryp=" ";
void encrypt(string);
void decrypt(string);
void run();
int menu();

int main()
{
    run(); 
    return 0;
}
//------------------------------------------------------------------------------
void encrypt(string in)
{
     for( int i = 0; i < in.length(); i++ )
     {
          in[i]+=54;
          if(in[i]>255)
          {
                       in[i]-=255;
          }
     }
     cout << in << endl;
     decryp=in;
     getch();
}
//------------------------------------------------------------------------------
void decrypt(string out)
{
          for( int i = 0; i < out.length(); i++ )
     {
          out[i]-=54;
          if(out[i]<0)
          {
                       out[i]+=256;
          }
     }
     cout << out << endl;
     getch();
}
//------------------------------------------------------------------------------
int menu()
{
int choice=0;
while(true)
{
             system("CLS");
             cout << "1: Kryptera" << endl << "2: Dekryptera " << endl << "3: Avsluta" << endl;
             choice=getch()-48;
             if(choice==1 || choice==2 || choice==3)
                          break;       
}
return choice;
}
//------------------------------------------------------------------------------
void run()
{
while(true)
{
            string stringen;
    int decr=0;
    int val=menu();
    if( val == 2)
    {
        system("CLS");
        while(true)
        {
        cout << "Vad ska du dekryptera?" << endl << endl << "1: Skriv in det som ska dekrypteras." << endl << "2: Det senast krypterade" << endl;
        decr=getch()-48;
        if( decr == 1 || decr == 2 )
                  break;
        }
        
        if( decr==1)
        {
            cout << "Skriv in det du ska dekryptera!" << endl;
            getline(cin,stringen);
            decrypt(stringen);
        }
        else if(decr==2)
        {
             if(decryp==" ")
             {
                          cout << "Du har inte krypterat n\xe86got \xe84n :( " << endl;
                          getch();
             }
             else
             {
                          decrypt(decryp);
             }
        }
    }
    else if( val == 1)
    {
        system("CLS"); 
        cout << "Vad ska du kryptera?" <<endl;
        getline(cin,stringen);
        encrypt(stringen);
    }
    else
    {
        break;
    }
}    
}

 

 

http://pastebin.com/m3a318184

Redigerat av Ozoon
Länk till kommentar
Dela på andra sajter

;) Sekvensiv lösenordskryptering!(ger bara end del av motorn). Det är jag som programmerat den. :D

 

Vill du se hela koden: http://www.fuska.se/forum/Encrypter-t106843.html

 

#include <iostream>
#include <string>

int tmppasspos = 0; //Skapar den utanför, har ett skäl, men det kommer inte synas i detta utdrag

string encryption_engine(int method, int mode, string text, string password)
{
    int tmpchcode;
    
    if(tmppasspos >= password.size())
        tmppasspos = 0;
    
    switch (method)
    {
        case 2: // Sequencive password encryption
            if(mode == 1)
            {
                for(int i = 0; i < text.size(); i++)
                {
                    if(text[i] >= '!' && text[i] <= '~')
                    {
                        while(!((password[tmppasspos] >= '!' && password[tmppasspos] <= '~') || password[tmppasspos] == ' '))
                            tmppasspos++;
                        tmpchcode = text[i] + password[tmppasspos] * 7;
                        while(tmpchcode > '~')
                            tmpchcode -= 94;
                        text[i] = tmpchcode;
                        tmppasspos++;
                        if(tmppasspos >= password.size())
                            tmppasspos = 0;
                    }
                }
            }
            else if(mode == 2)
            {
                for(int i = 0; i < text.size(); i++)
                {
                    if(text[i] >= '!' && text[i] <= '~')
                    {
                        while(!((password[tmppasspos] >= '!' && password[tmppasspos] <= '~') || password[tmppasspos] == ' '))
                            tmppasspos++;
                        tmpchcode = text[i] - password[tmppasspos] * 7;
                        while(tmpchcode < '!')
                            tmpchcode += 94;
                        text[i] = tmpchcode;
                        tmppasspos++;
                        if(tmppasspos >= password.size())
                            tmppasspos = 0;
                    }
                }
            }
            break;
    }
    
    return text;
}

Redigerat av Vitdom
Länk till kommentar
Dela på andra sajter

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...