Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
zheny4ka
1

Допишите прогу пожж

31.03.2011, 17:05. Просмотров 715. Ответов 0
Метки нет (Все метки)

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
//funkcia podscheta dlinni massiva
unsigned int Lenght (const char s[])
{
int L=0;
while(s[L++]);
return (L-1);
}
FILE *p,*o,*l;

char abc[]="abcdefghijklmnopqrstuvwxyz";
char key[]="key";
char word[100];
int t,m;
int k=0;//index kolichestva bykv v key
int w=0;//index kolichestva bykv v word
//dly hraneniya kodov bykv s massiva key
unsigned int key_num[10]={0};
//dly hraneniya kodov bykv s massiva word
int word_num[10]={0};
//dly hraneniya kodov bykv polychennogo zashifrovannogo slova
int word_num_new[10]={0};
int i;


void Zapus () {
p = fopen ("c:\\text.txt","rw");
o = fopen ("c:\\Shufr.txt","wt");
for ( i=0 ; i<100; i++) {
fscanf (p,"%s",word);
cout << word[0];
}

clrscr();

//perevodim slovo i klych v chislovie ekvivalenti
while(k<=Lenght(key))//poka ne konchitsya massiv key
{

for( i=0;i<26;i++)
{
//zanosim v key_num chislovoy kod bykvi
if(key[k]==abc[i])key_num[k]=i;
}

k++;
}
while(w<=Lenght(word))//poka ne konchitsya massiv word
{
for( i=0;i<25;i++)
{
//zanosim v word_num chislovoy kod bykvi
if(word[w]==abc[i])word_num[w]=i;
}

w++;
}

w=0;k=0;

while(w<Lenght(word))//poka ne konchitsya massiv word
{
//dobavlyaem v word_num_new symmy chisel ot word i key
word_num_new[w]=key_num[k]+word_num[w];

//realizyem ciklicnost dlya shifrovaniya
if(word_num_new[w]>26)word_num_new[w]-=26;

w++;k++;
if(k>=Lenght(key))k=0;

}

//vivod polychennih dannih s perevodom chisel snova v bykvi


w=0;
char sh[100];
while(w<Lenght(word))//poka ne konchitsya massiv word
{
//vivod po indeksy massiva abc
sh[w]=abc[word_num_new[w]];
w++;
}
fprintf (o,"%s",&sh);
fclose (p);
fclose (o);
cout << "Slovo shufrovano v C:\\SHUFR.TXT";
getch ();
clrscr ();
}
//——————————————————————
//deshifryem slovo
void Deshefr () {
clrscr ();
o = fopen ("c:\\shufr.txt","wt");
l = fopen ("c:\\doshufr.txt","wt");
w=0;k=0;

cout<<endl;
while(w<Lenght(word))//poka ne konchitsya massiv word
{
t=word_num_new[w];
m=key_num[k];
t-=m;

//vichitaem kody klycha iz kodov shifrovannogo soobsheniya po modyly 26 (kolichestvo bykv v alfavite)

if(t<0)word_num_new[w]+=26-key_num[k];
else word_num_new[w]-=key_num[k];

w++;
k++;
if(k>=Lenght(key))k=0;

}
//vivod deshifrovannogo soobsheniya
w=0;
char dosh [100];
for (i=0;i<99;i++)
dosh [i]=0;
while(w<Lenght(word))//poka ne konchitsya massiv word
{
//vivod po indeksy massiva abc
dosh [w] = abc[word_num_new[w]];
w++;
}
fprintf (l,"%s",&dosh);
fclose (o);
fclose (l);
cout << "Slovo doshufrovano v C:\\DOSHUFR.TXT";
getch ();
clrscr ();
}
void main()
{
clrscr ();
char n;

int o=0;

while (o!=5) {
cout << " \n 1 Shufrovanie Veginerom \n 2 Deshifrator \n 3 Exit";
n=getch ();
switch (n) {
case '1' :Zapus (); break;
case '2' eshefr (); break;
case '3' :o=5; break;
}}
}

Добавлено через 1 минуту
ну тут какбы прога шифровки данных... но нада чтоб оно еше и по електронной почте отправляло..
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2011, 17:05
Ответы с готовыми решениями:

Допишите прогу
Удалить из вещественного массива элементы, наименее отличающиеся от его среднего арифметического....

Допишите код
ЗАДАЧА. Составить программу вычисления выражения с использованием функции пользователя. Отчет о...

Допишите программу
Здравствуйте! У меня большая просьба к вам дописать пару функций в программу. Дан код: ...

Допишите программу
10 DIM C(100, 100) 12 OPEN &quot;MK.txt&quot; FOR OUTPUT AS #1 15 PRINT &quot;VVEDITE PORYADOK KVADRATA&quot; ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2011, 17:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

ДОПИШИТЕ КОД )
Всем форумчан с наступающим поздравляю; Дописывайте код. Может что прикольное получится )))) ...

Допишите программу
Сформировать запись, имеющую следующую структуру type студент= record фамилия: string; номергр:...

Допишите программу
Дан двумерный массив A удалите в нем строку содержащую максимальное по модулю число и внесите...

Допишите программу на матрицу
Здравствуйте, сделайте пожалуйста так, чтобы программа еще раз вывела введеную матрицу, но при...

Пожалуйста допишите программу
Здесь два конструктора, нужно объявить класс main, если не сложно покажите как это будет отдельно...

Кому не трудно допишите пожалуйста комментарии!
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main () { int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.