Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2012, 22:31   #1
klko
Новичок
Джуниор
 
Регистрация: 08.10.2012
Сообщений: 1
По умолчанию Динамические структуры данных

Копирнул откуда-то прогу, дописывал сам.
В идеале суть проги такова:
Kаждая компонентa текста пoмощи сoдержит тeрмин(слoво)и тeкст, сoдержащий пoяcнения к этoму тeрминy.
Кoличество стрoк тeкста oтносящeгося к oдному тeрмену составляет от одной до пяти.
Написать программу, которая обеспечивает:
1) Нaчaльное фoрмирование тeкста помощи;
2) вывoд тeкста пoмощи;
3) Вывoд поясняющего текста для заданого термина.

В своём нынешнем варианте она берет 5 терминов с пояснениями из файла, работает добавление терминов, но их поиск работает некорректно, а именно не всегда ищет термины, может ничего не вывести, как-будто он отсутствует, а может повиснуть.


Код:
#include<iostream>
#include<string>
#include <fstream>
 using namespace std;
struct text
{
    char termin[30];      
    char poiasnenie[5][40];
    text *next;
    text *pred;
//	text *last;
};
text *first,*last,*temp;
void add()     // funkciia dobavlenia zapisei;
{
cout<<"Vvedite termin"<<endl;
	cin>>temp->termin;
	cout<<"Vvedite poiasnenie "<<endl;
	for (int i=0;i<=5;i++)
	{
	//	cin>>temp->poiasnenie[i];  
		cin.getline(temp->poiasnenie[i], sizeof(temp->poiasnenie[i])); 
	}
			
			temp->next=new text;
			temp->next->pred=temp;
			temp=temp->next;
			last=temp;
}

void prosmotr()   //funkciia prosmotra vsego soderjimogo teksta;
{
	temp=first;
	while(temp!=last)
	{
			cout<<"Termin: "<<temp->termin<<endl;
			cout<<"Poiasnenie k terminu: ";
				for (int i=1;i<5;i++)
				{
					cout<<endl;
					cout<<temp->poiasnenie[i];
				}
			cout<<endl<<"________________________________________________"<<endl;
		temp=temp->next;
	}
}

void prosmotr1()
{
	char q[30];
	cout<<"vvedite termin: ";
	cin>>q;

            temp=first;
	while(temp!=last)
	{ 
	    if(strcmp(q,temp->termin)==0)
               {
	         cout<<"Termin: "<<temp->termin<<endl;
	         cout<<"Poiasnenie k terminu: ";
			 for(int i=0; i<5; i++){
				 cout<<endl<<temp->poiasnenie[i]; }
	         cout<<endl<<"________________________________________________"<<endl;
		}  else temp=temp->next; 
		temp=temp->next; 
	} 
}
void main()
{

	int n;
    temp = new text;
    first=temp;
    first->pred=NULL;
	
ifstream fin ("input.txt",ios::in);
if (!fin) { cout<<"error"<<endl;
 }
long len = fin.tellg();


/*	temp = new text;
	first=temp;
	first->pred=NULL; */

 for(int t=0; t<5;t++) {
	 
fin>>(temp->termin);
for (int i=0; i<=5; i++) {
	//	fin>>(temp->poiasnenie[i]); }
	fin.getline((temp->poiasnenie[i]), 21); }
            temp->next=new text;
			temp->next->pred=temp;
			temp=temp->next;
			last=temp; 
	
	}
	
	
m:cout<<"1 - dobaviti termin"<<endl<<"2 - prosmotr vsego teksta"<<endl<<"3 - prosmotr odnogo termina"<<endl;
    cin>>n;
switch (n){
    case 1: add(); system("Pause"); goto m;
    case 2: prosmotr();system("Pause");  goto m;
    case 3: prosmotr1(); system("Pause"); goto m;}

}
klko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические структуры данных. inc Общие вопросы C/C++ 3 03.12.2012 19:39
[C++] Динамические структуры данных xNеo Помощь студентам 3 21.03.2012 21:33
динамические структуры данных Ника-Вероника Паскаль, Turbo Pascal, PascalABC.NET 2 14.03.2012 23:07
Динамические структуры данных Yashanov Помощь студентам 1 29.04.2009 10:11