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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какую же книгу изучать? :O C++ http://www.cyberforum.ru/cpp-beginners/thread264608.html
Здравствуйте все. :senor: Сложилась небольшая проблема, касающаяся определения книги, которую можно было бы достойно изучить. Не могли бы вы подсказать новичку какую книгу или какое учебное пособие можно было бы купить, дабы овладеть знаниями программирования на языке "C++". Желательно, чтобы в предложенной вами книге были: 1) Графика. 2) ООП. 3) Задачи и упражнения. 4) Четкое (или может...
C++ Народ, чет с while... Тут проблемка, захотел написать миниатюрную игрушечку на с++ и в єпизоде боя использовал do-while... и вот вроде кк все нормально, оба бьються, но бой не коньчается... просто хп в - уходит и считай так до бесконечности... если ктот шарит прошу помочь... вот мой код: do { int r,d; srand(time(&t)); d=rand()%10+10; hp-=d; cout<<"Противник нанес вам "<<d<< " урона. у вас осталось... http://www.cyberforum.ru/cpp-beginners/thread264569.html
C++ Инициализация вещественных статических константных полей класса С++
static const double x=2.15; //c double и float не инициализирует. Почему??
вычислить сумму и количество элементов в массива X[15],для 0<x1<1 C++
вычислить сумму и количество элементов в массива Xв массив y и подсчитать их количество для для 0<x1<1
C++ СОРТИРОВКА http://www.cyberforum.ru/cpp-beginners/thread264529.html
Нужно отсортировать массив тремя видами сортировки : Шелла,Слияния,Пирамидальная. Язык : С++
C++ Тип для факториала Какой тип нужно изпользовать для вычесления факториала числа 999?? Пробовал unsigned long long считает максимум факториал 31 а если еще пару словечек long дописать, то dev-cpp ругается подробнее

Показать сообщение отдельно
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();
}
 
Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru