Форум программистов, компьютерный форум, киберфорум C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
practic2005
1

Код Морзе

26.03.2013, 20:30. Показов 608. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание перевести из текста в морзе и назад при помощи файлов
кому не трудно,можете пожалуйста обьяснить по строкам ход и правлен ли он?
Буду очень признателен
CВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#include <stdio.h>
#include <string.h>
#include <Windows.h>
 
int coding(FILE *fin)
{
    FILE *fout;
    fout=fopen("output.txt", "w");
    
    char symbol;
    
    while ((symbol=fgetc(fin)) !=EOF)        
 
        switch(symbol)
        {
        case ' ' : fprintf(fout,"_____\n");break;
        case 'a' : case 'A' : fprintf(fout,".-\n");break;
        case 'b' : case 'B' : fprintf(fout,"-...\n");break;
        case 'c' : case 'C' : fprintf(fout,"-.-.\n");break;
        case 'd' : case 'D' : fprintf(fout,"-..\n");break;
        case 'e' : case 'E' : fprintf(fout,".\n");break;
        case 'f' : case 'F' : fprintf(fout,"..-.\n");break;
        case 'g' : case 'G' : fprintf(fout,"--.\n");break;
    case 'h' : case 'H' : fprintf(fout,"....\n");break;
        case 'i' : case 'I' : fprintf(fout,"..\n");break;
        case 'j' : case 'J' : fprintf(fout,".---\n");break;
        case 'k' : case 'K' : fprintf(fout,"-.-\n");break;
        case 'l' : case 'L' : fprintf(fout,".-..\n");break;
        case 'm' : case 'M' : fprintf(fout,"--\n");break;
        case 'n' : case 'N' : fprintf(fout,"-.\n");break;
        case 'o' : case 'O' : fprintf(fout,"---\n");break;
        case 'p' : case 'P' : fprintf(fout,".--.\n");break;
        case 'q' : case 'Q' : fprintf(fout,"--.-\n");break;
        case 'r' : case 'R' : fprintf(fout,".-.\n");break;
        case 's' : case 'S' : fprintf(fout,"...\n");break;
      
    case 't' : fprintf(fout,"-\n");break;
        case 'u' : case 'U' : fprintf(fout,"..-\n");break;
        case 'v' : case 'V' : fprintf(fout,"...-\n");break;
        case 'w' : case 'W' : fprintf(fout,".--\n");break; 
        case 'x' : case 'X' : fprintf(fout,"-..-\n");break;
                              case 'y' : case 'Y' : fprintf(fout,"-.--\n");break;
                              case 'z' : case 'Z' : fprintf(fout,"--..\n");break;
                              case '(' : case ')' : fprintf(fout,"-.--.-\n");break;
                              case '.' : fprintf(fout,"......\n");break;
                              case ',' : fprintf(fout,".-.-.-\n");break;
                              case '/' : fprintf(fout,"-..-.\n");break;
                              case '1' : fprintf(fout,".----\n");break;
                              case '2' : fprintf(fout,"..---\n");break;
                              case '3' : fprintf(fout,"...--\n");break;
                              case '4' : fprintf(fout,"....-\n");break;
                              case '5' : fprintf(fout,".....\n");break;
                              case '6' : fprintf(fout,"-....\n");break;
                              case '7' : fprintf(fout,"--...\n");break;
                              case '8' : fprintf(fout,"---..\n");break;
                              case '9' : fprintf(fout,"----.\n");break;
                              case '0' : fprintf(fout,"-----\n");break;
                              case '?' : fprintf(fout,"..--..\n");break;
                              case '"' : fprintf(fout,".-..-.\n");break;
                              case '’' : fprintf(fout,".----.\n");break;
                              case '!' : fprintf(fout,"--..--\n");break;
                              case '@' : fprintf(fout,".--.-.\n");break;
                              case ':' : fprintf(fout,"---...\n");break;
                              case ';' : fprintf(fout,"-.-.-.\n");break;
                              case '_' : fprintf(fout,"-....-\n");break;
        }
    }
    fclose(fout);
    return 0;
}
int decoding(FILE *fin)
{
    FILE *fout;
    fout=fopen("output.txt", "w");
 
     int i,z=0;
     char c[10];
 
                 while(fgets(c, sizeof (c), fin))             
              {
                 i = strlen (c);
                 switch (i)
                 {
                    case 2 :
                        {
                            if (strcmp(c,".\n")==0) fprintf(fout,"e");
                            if (strcmp(c,"-\n")==0) fprintf(fout,"t");
                        } break;
                    case 3 :
                        {
                            if (strcmp(c,".-\n")==0) fprintf(fout,"a");
                            if (strcmp(c,"..\n")==0) fprintf(fout,"i");
                            if (strcmp(c,"--\n")==0) fprintf(fout,"m");
                            if (strcmp(c,"-.\n")==0) fprintf(fout,"n");
                        } break;
                    case 4 :
                        {
                            if (strcmp(c,"...\n")==0) fprintf(fout,"s");
                            if (strcmp(c,"..-\n")==0) fprintf(fout,"u");
                            if (strcmp(c,".-.\n")==0) fprintf(fout,"r");
                            if (strcmp(c,".--\n")==0) fprintf(fout,"w");
                            if (strcmp(c,"-..\n")==0) fprintf(fout,"d");
                            if (strcmp(c,"-.-\n")==0) fprintf(fout,"k");
                            if (strcmp(c,"--.\n")==0) fprintf(fout,"g");
                            if (strcmp(c,"---\n")==0) fprintf(fout,"o");                        
                        } break;
                    case 5 :
                        {
                            if (strcmp(c,"....\n")==0) fprintf(fout,"h");
                            if (strcmp(c,"...-\n")==0) fprintf(fout,"v");
                            if (strcmp(c,"..-.\n")==0) fprintf(fout,"f");
                            if (strcmp(c,".-..\n")==0) fprintf(fout,"l");
                            if (strcmp(c,".--.\n")==0) fprintf(fout,"p");
                            if (strcmp(c,".---\n")==0) fprintf(fout,"j");
                            if (strcmp(c,"-...\n")==0) fprintf(fout,"b");
                            if (strcmp(c,"-..-\n")==0) fprintf(fout,"x");
                            if (strcmp(c,"-.-.\n")==0) fprintf(fout,"c");
                            if (strcmp(c,"-.--\n")==0) fprintf(fout,"y");
                            if (strcmp(c,"--..\n")==0) fprintf(fout,"z");
                            if (strcmp(c,"--.-\n")==0) fprintf(fout,"q");
                        } break;
                    case 6 :
                        {
                            if (strcmp(c,"_____\n")==0) fprintf(fout," ");
                            if (strcmp(c,"-..-.\n")==0) fprintf(fout,"/");
                            if (strcmp(c,"--...\n")==0) fprintf(fout,"7");
                            if (strcmp(c,"..---\n")==0) fprintf(fout,"2");
                            if (strcmp(c,".----\n")==0) fprintf(fout,"1");
                            if (strcmp(c,"-----\n")==0) fprintf(fout,"0");
                            if (strcmp(c,"----.\n")==0) fprintf(fout,"9");
                            if (strcmp(c,"-....\n")==0) fprintf(fout,"6");
                            if (strcmp(c,".....\n")==0) fprintf(fout,"5");
                            if (strcmp(c,"...--\n")==0) fprintf(fout,"3");
                            if (strcmp(c,"....-\n")==0) fprintf(fout,"4");          
                        } break;
                    case 7 :
                        {
                            if (strcmp(c,"..--..\n")==0) fprintf(fout,"?");
                            if (strcmp(c,"---...\n")==0) fprintf(fout,":");
                            if (strcmp(c,".-..-.\n")==0) fprintf(fout,"\"");
                            if (strcmp(c,".-.-.-\n")==0) fprintf(fout,",");
                            if (strcmp(c,".----.\n")==0) fprintf(fout,"’");
                            if (strcmp(c,"--..--\n")==0) fprintf(fout,"!");
                            if (strcmp(c,"-.--.-\n")==0) fprintf(fout,")");
                            if (strcmp(c,".--.-.\n")==0) fprintf(fout,"@");
                            if (strcmp(c,"......\n")==0) fprintf(fout,".");
                            if (strcmp(c,"-.-.-.\n")==0) fprintf(fout,";");
                            if (strcmp(c,"-....-\n")==0) fprintf(fout,"_");
                            
                        } break;
                 }   
                 }
                 fclose(fout);
                 return 0;
}
void instruction()
{
    printf("1:In to MORZE\n2:Out of MORZE\n3:End\n");
}
 
int main()
{
    FILE *fin;
    fin=fopen("input.txt", "r");
 
    int x;
start:
    instruction();
    scanf("%d", &x);
    switch(x)
    {
    case 1: coding(fin); break;
    case 2: decoding(fin); break;
    case 3: return 0;
    }
    goto start;
    fcloseall();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2013, 20:30
Ответы с готовыми решениями:

Написание транслятора с английского в код Морзе
Использование стандартной библиотеки С Написать программу, которая выполняет ввод текстовой...

азбука морзе
Ребята помогите пожалуйста. Составить программу, которая позволяет текст содержащийся в файле...

азбука Морзе
Вводимый с клавиатуры текст перевести в последовательность точек и тире с помощью азбуки Морзе....

Азбука Морзе
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; //#include &lt;PROCESS.H&gt; main(){ int...

0
26.03.2013, 20:30
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2013, 20:30
Помогаю со студенческими работами здесь

Азбука Морзе
Написал программку азбуки морзе, пишешь сообщение, а она выводит как последовательность точек и...

Перевод текста в азбуку Морзе
Напишите программу-телеграф, которая принимает от пользователя сообщение и выводит его на экран в...

Азбука Морзе. Озвучивание нажатой клавиши
Привет. Есть такая задумка: Программа показывает букву, человек должен её сыграть пробелом. При...

Морзе. Заменить цифры на код морзе.
ПОМОГИТЕ!!! Люди вот пишу программу. Задание: необходимо в текстовом файле заменить цифры на код...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru