Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
supra
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 10
#1

не работает программа - C++

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

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

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);
 /*Завершим программу*/
 }
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2011, 18:49     не работает программа
Посмотрите здесь:

Программа при релизе не работает, а при дебаге работает - C++
#include&lt;iostream&gt;; #include &lt;iomanip&gt; #include&lt;fstream&gt; using namespace std; void printMatrix (int **a, int n, int m) // функція...

Не работает программа - C++
Одноклеточная амеба каждые 3 часа. делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, ..., 24 час.? ...

Программа не работает - C++
Я написал пример так как он в методе, а мне выбивает ошибку... может потому что у меня DEV C++? Ошибки не могу разобрать Пример...

Не работает программа в ХР - C++
Недавно начал учить С++ и тут же наткнулся на такую проблему.. сам я сижу в Win7 . пишу в VS 2008 Team System . Написал простенькую...

Программа не работает - C++
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { int i,n; FILE *Result; ...

не работает программа - C++
Доброго всем времени суток.Увожаемые форумчане пожалуйста помогите мне разобраться с проблемой.У меня есть консольный вариант программы,он...

Не работает программа - C++
По идее эта программа должна с помощью функции getline() считывать строки текстового файла и проверять, является ли записанное в каждой...

Не работает программа - C++
Не работает программа. #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { const float a=3.2e-5; const float...

программа не работает =( - C++
помогите плиз, почему эта программа не работает? c++ писал в codeblocks, написано что ошибка в строке с else извините если вопрос...

Не работает программа - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char s; /* буфер...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
28.06.2011, 18:59     не работает программа #2
Может вы имеете ввиду что пользовательское окно быстро закрывается?
supra
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 10
28.06.2011, 19:11  [ТС]     не работает программа #3
неее, нету сортированых слов во втором файле
Ответ Создать тему
Опции темы

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