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

Линейный список. Язык С. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу решить процедуру на языке С++ http://www.cyberforum.ru/cpp-beginners/thread313063.html
Param26. Описать процедуру RemoveRows(A, M, N, K1, K2), удаляющую из ве-щественной матрицы A размера M × N строки с номерами от K1 до K2 включительно (предполагается, что 1 < K1 ≤ K2). Если K1 > M, то матрица не изменяется; если K2 > M, то удаляются строки матрицы с номерами от K1 до M. Двумерный массив A и числа M, N являются входными и выход-ными параметрами. Используя процедуру RemoveRows,...
C++ Обработка исключительных ситуации Постройте таблицу значений функции y=f(x) для с шагом h. Если в некоторой точке x функция не определена, то выведите на экран сообщение об этом. Замечание. При решении данной задачи использовать вспомогательный метод f(x), реализующий заданную функцию, а также проводить обработку возможных исключений. Если можно объясните как обработку сделать!Примерно знаю,но не въезжаю http://www.cyberforum.ru/cpp-beginners/thread313057.html
C++ WriteAccesMemory
Добрый вечер. вопрос возник. как правильно использовать writeaccesmemory? вот пример #include <windows.h> #include <stdio.h> int main() {
C++ Вычислить площадь и периметр четырехугольника
помогите пожалуйста программу на с++6.0.,которая бы выбирала из предложенных четырехугольников один из них, а потом вводились бы стороны, по которым высчитывалась площадь и периметр. Последняя надежда на вас, ПОМОГИТЕ!!!!!!!!!
C++ цифр после запятой. http://www.cyberforum.ru/cpp-beginners/thread313040.html
как узнать сколько в переменной float или double цифр после запятой. я пишу в win32?
C++ Множественное наследование Так как у меня эта тема заняла долгое время для изучения ,выкладываю простой пример для освоения #include<iostream> using namespace std; class D { public: virtual void Z(){cout<<"CLASS D"<<endl;} }; подробнее

Показать сообщение отдельно
kulisk
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 8

Линейный список. Язык С. - C++

04.06.2011, 21:10. Просмотров 588. Ответов 1
Метки (Все метки)

Здравствуйте. Помогите пожалуйста доделать программу. Условие. Картинная выставка организована в виде линейного списка. Каждая компонента указателя содержит названия картин и имя автора. Написать программу, которая обеспечивает:
1)Начальное формирование выставки.
2) Вывод всей выставки.
3)Вывод всех картин данного автора.
4)Вывод всех авторов выставки.
1) и 2) пункты я сделала. Проблема с 3) и 4) пунктами. Поиск картин по автору не выполняется. А как вывести всех авторов выставки не знаю.
Вот что у меня получилось.
Код
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
struct TList
{
 char avtor[100];
 char name[100];
  TList *next;
};

int main()
{
TList *head=NULL,*cur=NULL,*prev=NULL;
int i,x,b,m;
 char s,k,h;
n:
system("cls");
printf(" ......Menu.........:\n");
printf("1.Sozdanie vistavki\n");
printf("2.Vivod\n");
printf("3.Poisk po avtoru\n");
printf("4.Vivod vseh avtorov\n");
printf("5.Exit\n");
printf("..............................\n");
scanf("%d",&x);
switch(x)
  {
//Формирование выставки
   case 1:
    {
  while(true)
    {
    cout<<"Dobavit? (y/n): ";
    cin>>k;
    if (k=='n') break;
    cur=new TList;
    cur->next=NULL;
    cout<<"\Avtor: ";
    cin>>cur->avtor;
    cout<<"\nNazvanie kartini: ";
    cin>>cur->name;
    cur->next=NULL;
     if (head!=NULL){ prev->next=cur; prev=cur;}
     else {head=cur; prev=cur;
     }
     }
   getch();
   goto n;
    }
//Вывод всей выставки
   case 2:
    { 
    cur=head;
    system("cls");
    if (cur==NULL)
    {
    cout<<"spisok pust"<<"\n";
    getch();
    goto n;
    }
 while (cur!=NULL)
     {
      cout<<"Avtor: "<< cur->avtor<<"\nNazvanie kartini: "<<cur->name<<"\n";            
     cur=cur->next;
       }
 getch();
   goto n;
    }
//Вывод всех картин данного автора
   case 3:
    {
    cur=head;
    if (cur==NULL)
    {
    cout<<"spisok pust"<<"\n";
    getch();
    goto n;
    }
  cout<<"\nVvedite avtora: ";cin>>s;
  i=1;
    while (cur!=NULL)
     {
      if ((cur->avtor,s)==0)    	    
      {
      cout<<"Nazvanie kartini :\n"<<cur->name;
      cur=cur->next;
      }
    if (i==1)
    cout<<"Avtor ne naiden"<<"\n";
      getch();
      goto n;
      }
     //Вывод всех авторов выставки   (не знаю как делать)
    case 4:
     {
     cur=head
    if (cur==NULL)
    {
    cout<<"spisok pust"<<"\n";                  
    goto n;
    } 
    ............
    
          } 
//Выход
 case 5:
   {
  break;
   }
 default:
{
      cout<<"Vi nepravilno ukazali punkt menu.Try again"<<"\n";
      getch();
      goto n;
}
}
system("clear");
while(head)
{
cur=head->next;
delete(head);
head=cur;
}
getch();
return 1;
}
}
Помогите пожалуйста с выводом всех картин данного автора и с выводом всех авторов выставки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru