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

не работает программа

28.06.2011, 18:49. Показов 470. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста написал программу которая считывает слова из текстового файла, сортирует их по алфавиту и записывает их в другой файл, при компиляции ошибок нету, а вот сама программа не работает (

P.S слова беруться из файла test.txt и записываються в файл input.txt

Добавлено через 30 секунд
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
/* подклчение библиотек нужных для работы программы */
 #include <stdio.h>
 /* подключение библиотеки для функций getch */
 #include "conio.h"
 #include "windows.h"
 #include <iostream>
 #define MSS 50
 /* ключевок слово для определеня типа */
 char input[MSS] = "";
 typedef
 /* определаяем структуру book */
 struct book
 {
 /* название строки*/
 char name[MSS];
 /* указатель на следующий элемент структуры */
 struct book *next;
 }
 BOOK;
 
 /* СОРТИРОВКА */
 BOOK * sort(BOOK *f, int b)
 {
 /* временные указатели */
 BOOK *t = f, *t1, *p;
 /* число перестановок */
 int count;
 int r = 0;
 /* исключаем случаи, которые сорировать не надо */
 if (f == NULL)
 {
 printf("Сортировать нечего!\n");
 return NULL;
 }
 if (f->next == NULL) 
 {
 printf("Сортировать нечего!\n");
 return f;
 }
 
 /* если число перестановок равно 0, то все элементы на месте */
 do 
 {
 count = 0;
 t = f;
 while (t->next != NULL)
 { 
 if (b == 10)
 {
 r = strcmpi(t->name, t->next->name);
 if (r == 1)
 {
 /* меняем местами */
 if (t == f)
 {
 f = t->next;
 t->next = t->next->next;
 f->next = t;
 } else {
 t1 = t->next;
 t->next = t->next->next;
 t1->next = t;
 p->next = t1;
 }
 count++;
 break;
 }
 p = t;
 t = t->next;
 }
 } 
 }
 while (count > 0);
 printf("Сортировка выполнена!\n");
 return f;
 }
 
 /* ФУНКЦИЯ СОХРАНЕНИЯ РЕЗУЛЬТАТА ПОСЛЕ СОРТИРОВКИ*/
 void save(BOOK *f, int b)
 {
 /* временный указатель */
 BOOK *t;
 /* указатель на файл для работы */
 FILE *fout;
 
 if (b == 1)
 {
 input[0] = '\x0';
 }
 
 /* если текущего файла нет, спросим имя файла */
 if (input[0] == '\x0')
 {
 printf("Enter name of file for save: ");
 gets(input);
 }
 
 /* создаем файл */
 if ((fout = fopen(input, "w")) == NULL)
 {
 /* ошибка открытия файла */
 printf("Error open file [%s] for writing.\n", input);
 
 }
 
 /* цикл по всем элементам */
 for (t = f; t != NULL; t = t->next)
 {
 /* выводим очередную строчку в файл */
 fprintf(fout, "%s\n", t->name);
 }
 /* закроем файл */
 fclose(fout);
 
 printf("Save in file [%s] finished!\n", input);
 }
 
 /*главная функция*/
 void main(void) {
BOOK *sort(BOOK *f,int b);
 
 /*указатель на файл с которым будем работать*/
 FILE *f;
 
 if (!(f= fopen("test.txt", "r"))) {
 /* файл не открыт */
 /* выведем сообшение */
 printf(" file test.txt no open.\n");
/* указатель на первый элемент списка */
    BOOK *first = NULL;
    first = sort(first, 10);
 /*Завершим программу*/
 }
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2011, 18:49
Ответы с готовыми решениями:

Программа , которая выводит время, за которое программа работает
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею...

Программа работает на Delphi 2007 или более ранней но не работает на старших версиях (10.1 например)
В программе используются дополнительные файлы и dll написанные на fortran их кода нет ;( в ранних...

не пойму в чем дело, программа должна работать, но она черт побери не работает :( (программа по работе с реестром)
Программа предназначена для поиска какого-нить слова по реестру и удаления ключа или раздела если в...

2
В вечном поиске...
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.06.2011, 18:59 2
Может вы имеете ввиду что пользовательское окно быстро закрывается?
0
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 10
28.06.2011, 19:11  [ТС] 3
неее, нету сортированых слов во втором файле
0
28.06.2011, 19:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2011, 19:11
Помогаю со студенческими работами здесь

После AVZ не работает программа Credo Межевой план автоматически закрывается и не работает цифровая подпись
После AVZ не работает программа Credo Межевой план автоматически закрывается и не работает цифровая...

Программа не работает правильно. Программа должна брать значения из файла Avto_a.accdb из третьих столбцов таблицы TOYOT
Программа не работает правильно. Программа должна брать значения из файла Avto_a.accdb из третьих...

Программа работает в отладке, но не работает в скомпилированном виде
Доброго времени суток. Появилась не предвиденная проблема :( Не получается разобраться,...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru