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

Структуры: Списки студентов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какую же книгу изучать? :O C++ http://www.cyberforum.ru/cpp-beginners/thread264608.html
Здравствуйте все. :senor: Сложилась небольшая проблема, касающаяся определения книги, которую можно было бы достойно изучить. Не могли бы вы подсказать новичку какую книгу или какое учебное...
C++ Проверка на NaN (С/С++) Подскажите, пожалуйста, как проверить является ли вещественное число NaN'ом? Как вариант сделать побитовое умножение на маску... Но тогда первый бит (знак) теряется.. Что делать? Желательно без... http://www.cyberforum.ru/cpp-beginners/thread264598.html
Народ, чет с while... C++
Тут проблемка, захотел написать миниатюрную игрушечку на с++ и в єпизоде боя использовал do-while... и вот вроде кк все нормально, оба бьються, но бой не коньчается... просто хп в - уходит и считай...
C++ Инициализация вещественных статических константных полей класса С++
static const double x=2.15; //c double и float не инициализирует. Почему??
C++ вычислить сумму и количество элементов в массива X[15],для 0<x1<1 http://www.cyberforum.ru/cpp-beginners/thread264537.html
вычислить сумму и количество элементов в массива Xв массив y и подсчитать их количество для для 0<x1<1
C++ СОРТИРОВКА Нужно отсортировать массив тремя видами сортировки : Шелла,Слияния,Пирамидальная. Язык : С++ подробнее

Показать сообщение отдельно
sav241
5 / 5 / 0
Регистрация: 04.04.2011
Сообщений: 37
05.04.2011, 11:07
Вот тебе прога, двунаправленный спикок структур, уберешь ссылку назад будет одноноправленнй, создается считывая данные из файла, при это сразу же сортируется по году рождения..
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
// AnketaNewSypper.cpp : Defines the entry point for the console application.
//
#include <fstream>
#include "StdAfx.h"
#include <iostream>
#include "stdafx.h"
#include <Windows.h>
#include <math.h>
#include <string.h>
#include <fstream>
using namespace std;
 
struct anketa {
            char *fam;
            unsigned int god;
            anketa *next;
            anketa *over;
};
anketa *first=NULL;
    
ifstream file1("file.txt");
 
  anketa *getData(){ //создание нового элемента списка, считывание его с клавиатуры
      
      anketa *a=new anketa;
          if(!file1.eof()){
          a->fam= new char [255];
          file1 >> a->fam;   
          }else{delete a;return NULL; }
      
      if(!file1.eof()){
          file1 >> a->god;
          }else{delete a; return NULL; }
     
    a->next=NULL;
    a->over=NULL;
    return a;
}
void createList1(){ //создает сортированный список по году, сортируется по ходу создания
    anketa *newEl; // создание нового элемента, считывание с клавиатуры,операция присваивания
    do{
  newEl=getData();
 
  if(newEl==NULL)break;
    if (!first) {first=newEl;}
    else {
         if (newEl->god<first->god) {
            newEl->next=first;
            first=newEl;
 
         }
         else { //вставка элемента
             anketa *curr=first;
             BOOL ins = FALSE;
             while (curr->next!=NULL) {
                 if (curr->next->god>newEl->god) {
                     newEl->next=curr->next;
                     curr->next=newEl;
                     newEl->over=curr;//sdgsg
                     ins = true;
                     break;
                 }
                 curr=curr->next;
             }
             if (!ins) {
                 curr->next = newEl;
                 newEl->over=curr;//sdgsg
             }
         }  
   }
 
    }while(true);
}
 
 
 
void show () {
    anketa *curr=first;
    cout<<"-------------------"<<endl;
    while (curr){
         cout <<curr->fam<<" "<<curr->god<<endl;
         curr=curr->next;
    }
}
 
void drop (){
    anketa *curr=first;
    anketa *delEl;
    while (curr) {
        delEl=curr;
        curr=curr->next;
        delete delEl;
    }
 
}
 
void main(){
 
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     int t;
     cout<<"1-для сортировки по дате, , 3 - для показа списка"<<endl;
     cin>>t;
     if(t==1){
     createList1();
     cin>>t;
     }
  
     if(t==3){
         show();
     }      
 
     drop ();
     file1.close();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru