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

Разобраться в некоректности программы!(англо-русский словарь лин. списком) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разобраться с кодом! http://www.cyberforum.ru/cpp-beginners/thread386206.html
Помогите разобраться с кодом, так как си было давно, а щас вот вспоминаю. Не могу идентифицировать некоторые функции, да и ваще чё происходит по строкам, кому не сложно оставьте коменты на код) буду признателен! а так ваще мне соль тут понятна (поиск файлов с директории определённого формата, запись в структуру) ) std::vector<std::string> vFiles; typedef struct _BASE_RECORD { char...
C++ Софтварный замер напряжения Здравствуйте. Прошу помочь с одной несколько странной проблемой. Поискал в интернетах - ничего толком не увидел. Есть задача - сделать генератор случайного ключа для алгоритма шифрования. Делать на основе математической функции не хочется, решил попытаться реализовать замер напряжений с датчиков на мат.плате и на основе этих чисел уже делать ключ. Вопрос: если ли для С/С++ библиотеки, с помощью... http://www.cyberforum.ru/cpp-beginners/thread386203.html
Идея тренажера на составление выражений на языке C/C++ C++
Здравствуйте, форумчане! Затрудняюсь с выбором раздела форума, где разместить свой вопрос, пусть будет здесь. Возникла необходимость придумать некое задание, которое бы проверяло уровень знаний тестируемого на предмет понимания и составления выражений на языке С/С++ с использованием массивов и, возможно, структур. Также нужно придумать варианты возможных подсказок, в случае, если у тестируемого...
C++ Одномерный массив, проблемы
Помогите с программой, пожалуйста. Не знаю как составить алгоритм к задаче такого типа: Число назовем массивным, если оно записано в виде a^n, что означает возведение числа a в степень n. Вам требуется сравнить два массивных числа ab и cd, записанных в формате “<основание>^<экспонента>”. Из двух заданных массивных чисел следует вывести большее. Технические условия Входные данные
C++ Вычисления максимального элемента массива с явной специализацией для строк http://www.cyberforum.ru/cpp-beginners/thread386179.html
Здравствуйте! Всех студентов с праздником! Возможно тема заезженная! Возникла такая проблемка, нужно вычислить максимальный элемент одномерного массива с явной специализацией шаблонной функции для строк (тип char*). Как найти максимум из трех строк, то тут проблем не может быть!
C++ Как исправить ошибки C2065, C2109 в этой программе? error C2065: is: необъявленный идентификатор error C2109: для индекса требуется массив или указатель что это за ошибки и как их исправить задача, кстати из этой программы # include "iostream" # include <math.h> # include "iomanip" подробнее

Показать сообщение отдельно
BukTOP_10
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 13
17.11.2011, 22:15     Разобраться в некоректности программы!(англо-русский словарь лин. списком)
Здравствуйте,помогите пожалуйста с программой,требуется написать программу для русско-английского словаря,читать слова из текстового файла и хранить с помощью лин. списка.
Написал код,компилится,а вот не работает как задумывалось,где-то ошибка с памятью или ещё в чём-то,подозрения на функцию CreateLinSpis
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
#include<iostream>
#include<fstream>
#include <windows.h>
 
struct LE
{
  char text[30];
  struct LE *next;
};
 
using namespace std;
 
char bufRus[256];
 
char* rus(const char* text)
{
      CharToOem(text,bufRus);
      return bufRus;
}
 
LE* CreateLinSpis()
{
    LE *top,*p;
    top=NULL;
    
    ifstream fileIn;
    fileIn.open("database.txt");
    if(!fileIn.is_open()){   cout << "Error opening file"<< endl;
                              fileIn.close();
                              exit(1);
                          }
    while(!fileIn.eof())
    {
            p=new LE[sizeof(LE)];
            fileIn.getline(p->text,30); //извлекаем слова построчно
            
            p->next=top; top=p;         
            
   } 
    fileIn.close();
} 
 
void PrintLinSpis(LE *p)
{
      while(p)
      {
              cout<<rus(p->text)<<endl;
              p=p->next;
      }
}
 
void DestructLinSpis(LE *p)
{
    LE *next;
    while(p)
    {
        next=p->next;
        delete []p;
        p=next;
    }
} 
 
int Find(LE *p)
{
    char word[30],*buf1=NULL,*buf2 = NULL;
    bool find=false;
    
    cout<<"Enter word to translate:";
    cin.getline(word,30); 
    
    while(!(&p))
    {
      buf1=strtok(p->text,"-");
      buf2=strtok(NULL," ");
      buf1=rus(buf1);
      if (*buf1==*word && strlen(buf1)==strlen(word))
      {
 
         cout << word << " = " << rus(buf2) << endl;
         find = true;
         return 1;
      }
      if (*buf2 == *word && strlen(buf2) == strlen(word))
      {
         cout << word << " = " << buf1 << endl;
         find = true;
         return 1;
      }
      p=p->next;
   }
   if (!find) cout<<"No match"<<endl; //если совпадений не найдено
   return 0;
} 
 
main()
{
LE *p=NULL;
 
p=CreateLinSpis();
Find(p);
//PrintLinSpis(p);
system("pause");
DestructLinSpis(p);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru