Advertisement
soulrpg

lekcja_C_4

May 8th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.30 KB | None | 0 0
  1. // programowanie_n_4.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <stdio.h>
  6.  
  7. unsigned char text_to_byte(int TK[], char TL[])
  8. {
  9.     unsigned char wartosc = 0;
  10.     for (int i = 0; i < 4; i++)
  11.     {
  12.         wartosc <<= 2;
  13.         wartosc |= TK[TL[i] - 'A'];
  14.     }
  15.     return wartosc;
  16. }
  17.  
  18. void byte_to_text(unsigned char byte, char &TL[])
  19. {
  20.     for (int i = 3; i <= 0; i--)
  21.     {
  22.         TL[i] = byte & 3;
  23.         byte >>= 2;
  24.     }
  25. }
  26.  
  27. void zad7_15()
  28. {
  29.     FILE *plik;
  30.     FILE *plik2;
  31.     int wielkosc = 0;
  32.     char nazwa_wej[30];
  33.     char nazwa_wyj[30];
  34.     char TL[5];
  35.     int wybor;
  36.     unsigned char byte;
  37.     int TK['T' - 'A' + 1] = { 0 };
  38.     TK['C'-'A']= 1;
  39.     TK['G' - 'A'] = 2;
  40.     TK['T' - 'A'] = 3;
  41.     printf("Podaj nazwe pliku wejsciowego:");
  42.     scanf_s("%s", &nazwa_wej, 29);
  43.     printf("Podaj nazwe pliku wyjsciowego:");
  44.     scanf_s("%s", &nazwa_wyj, 29);
  45.     fopen_s(&plik, nazwa_wej, "r");
  46.     fopen_s(&plik2, nazwa_wyj, "w");
  47.     printf("1) Kodowanie, 2) Dekodowanie:");
  48.     scanf_s("%d", &wybor);
  49.     if (wybor == 1)
  50.     {
  51.         fscanf_s(plik, "%d", &wielkosc);
  52.         for (int i = 0; i < wielkosc; i++)
  53.         {
  54.             fscanf_s(plik, "%s", &TL, 5);
  55.             byte = text_to_byte(TK, TL);
  56.             fputc(byte, plik2);
  57.         }
  58.     }
  59.     else
  60.     {
  61.         fscanf_s(plik, "%d", &wielkosc);
  62.         for (int i = 0; i < wielkosc; i++)
  63.         {
  64.             fscanf_s(plik, "%s", &byte, 5);
  65.             TL = byte_to_text(byte);
  66.             fprintf(plik2, "%s\n", TL);
  67.         }
  68.     }
  69.     fclose(plik);
  70.     fclose(plik2);
  71. }
  72.  
  73. int main()
  74. {
  75.     zad7_15();
  76. }
  77.  
  78. // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
  79. // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
  80.  
  81. // Porady dotyczące rozpoczynania pracy:
  82. //   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
  83. //   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
  84. //   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
  85. //   4. Użyj okna Lista błędów, aby zobaczyć błędy
  86. //   5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
  87. //   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement