|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.09.2011, 13:13 | #1 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 33
|
Копирование числа из одного документа в другой
Написал следующую прогу. Суть ее в том, чтоб из документа input.txt копировалось число в документ output1.txt. Применил однонаправленный линейный список.
Код:
Проблема в том, что при копировании числа из документа input.txt в документ output1.txt, в последнем появляется абракадабра. Пожалуйста, подскажите как исправить ошибку. |
04.09.2011, 13:14 | #2 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 33
|
Кстати, эту прогу я переделал с другой, которая делала то же самое, но только с символьными значениями(словами) и она стопроцентно работала.
Вот код той проги, если нужно Код:
|
04.09.2011, 14:43 | #3 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
Так в чем суть задачи не понятно? и что не получается? и нафига вообще список?
|
04.09.2011, 20:05 | #4 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 33
|
В целом передо мной стоит более сложная задача которую нужно решить используя линейный список. Я минимизировал код для лучшего восприятия.
Вся проблема в том, что из документа input.txt не копируется число в документ output1.txt. |
05.09.2011, 05:36 | #5 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
во-первых, vector из stl не подходит? по-моему ваш список кривой, по крайней мере по шагам теряется хвост.
во-вторых, вместо scanf и printf используйте только cout cin из iostream. для файлов из fstream. вот вкратце: #include <iostream> #include <fstream> using namespace std; void main () { int k; cout << "Введите число = "; cin >> k; ifstream in ("input.txt"); ofstream out ("output1.txt"); in >> k; out << k; return; } и последнее, #include <stdio.h> #include <string.h> #include <windows.h> #include <malloc.h> int n; struct Node { int word[40]; struct Node *next; //ссылка на след. узел struct Node **ptr; //указатель }; typedef struct Node*PNode; //тип данных:указатель на узел PNode Head=NULL; struct Node **ptr = &Head; //инициирование указателя PNode CreateNode(int NewWord[]) //СОЗДАНИЕ ЭЛ-ТА СПИСКА { PNode NewNode=(PNode)malloc(sizeof(struct Node)); //указатель на новый узел memcpy(NewNode->word,NewWord, (sizeof(NewWord) / sizeof(*NewWord)) * sizeof(*NewWord)); //записать слово(замена NewWord на word) NewNode->next=NULL; //следующего узла нет return NewNode; }; //рез-т функции-адрес узла void AddFirst(PNode ptr,PNode NewNode) //ДОБАВЛЕНИЕ УЗЛА В НАЧАЛО СПИСКА { NewNode->next=Head; Head=NewNode; }; void AddLast(PNode ptr,PNode NewNode) //ДОБАВЛЕНИЕ УЗЛА В КОНЕЦ СПИСКА { PNode q=Head; if (Head==NULL) //если список пуст { AddFirst(Head,NewNode); //вставляем первый элемент return; }; }; int main() { PNode ptr = NULL, p; FILE *in,*out1; int word[40],word2[40]; printf("Vvod:\n"); scanf("%d",&word2[0]); //"команда" для выполнения действия in = fopen("input.txt","r"); //открытие файла 1 while (1) //в n хранится значение, к-е вернула ф-я fscanf.Если это число меньше 1(чтение прошло неудачно или закончились данные в файле),то происходит выход из цикла. { n = fscanf(in, "%d", word); //чтение данных из файла 1 if (n<=0) break; p=CreateNode(word); //создание нового узла AddLast(Head,p); //добавление } fclose(in); //закрытие файла1 out1=fopen("output1.txt","w"); //открытие файла2 //ВЫВОД ДАННЫХ В ФАЙЛ №2(ПО ЗАПРОСУ №1) p = Head; //присвоение узлу р "головы" fprintf(out1,"%d",p->word[0]); fclose(out1); //закрытие файла2 return 0; } ошибка была тут fprintf(out1,"%d",p->word[0]); а у вас fprintf(out1,"%d",p->word); |
07.09.2011, 22:55 | #6 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 33
|
Вместо
Код:
Код:
Большое спасибо за помощь,Kukurudza, наконец-то я доделал курсовую!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!! Последний раз редактировалось novak3; 07.09.2011 в 22:57. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создание скрипта для копирования данных из одного документа в другой | artem_b | Microsoft Office Excel | 5 | 20.02.2012 18:02 |
Копирование с одного листа на другой + вычисления | rus65 | Microsoft Office Excel | 4 | 25.07.2011 14:34 |
как скопировать лист оз одного документа в другой | trunx | Microsoft Office Word | 9 | 14.06.2010 02:58 |
передача данных ячейки из одного документа в другой. | iamaxl | Microsoft Office Excel | 3 | 04.07.2009 07:08 |
Копирование информации из одного листа на другой | Юрийpirs2008 | Microsoft Office Excel | 6 | 24.03.2009 07:59 |