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

Учу линейные списки, программа не работает... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder запуск проги в Borland C++ builder 6 http://www.cyberforum.ru/cpp-beginners/thread127826.html
Вот пишу курсач по программированию ....нашел похожий материал но не могу его открыть млин :wall: скачал Borland C++ builder 6 так как делался этот курсач в нем...а я с ним ниразу не работал собственно вот файлы (выложить не могу) но имею : Diff.~cpp Diff.dsp Diff.cpp Diff.dsw Diff.opt Diff.obj Diff.plg
C++ Посчитать произведение тех цифр числа, которые кратны 3 Посчитать произведение тех цифр числа, которые кратны 3 http://www.cyberforum.ru/cpp-beginners/thread127822.html
Найти максимальный элемент массива и количество элементов в диапазоне [-3;5] в каждой строке C++
Очень нужна ваша помощь. Мне никак не справиться с этим. Задача: Ввести с клавиатуры двумерный массив размерностью N*M(N<=10,M<=6). Вычислить характеристику массива согласно номеру задания. Вывести на экран результат и исходный массив в виде матрицы. Номер задания: Максимальный элемент массива и количество элементов, леж. в диапазоне в каждой строке.
C++ Даны две строки, содержащие не более 100 символов.
Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами. Распечатать все слова из каждой строки, начинающиеся и заканчивающиеся на заданную букву.
C++ Минимальный по модулю элемент массива http://www.cyberforum.ru/cpp-beginners/thread127811.html
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) минимальный по модулю элемент массива; 2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю. 3) Преобразовать таким образом, чтобы в первой его половине, располагались элементы, стоявшие в четных позициях, а во второй половине – элементы, стоявшие в нечетных позициях. 2. Даны две...
C++ Бинарное дерево и сортировка Помогите пожалуйста кто чем может!! И скажите как ваще это дерево должно выглядеть на экране?! Задача такова: Напишите программу ведения банковских счетов. Ежемесячная ставка по банковским вкладам составляет 6% от суммы вклада. Если вклад открыт до десятого числа текущего месяца, то проценты начисляются за весь месяц. Для того чтобы вкладчики не изымали часто вклады, приняты следующие меры: с... подробнее

Показать сообщение отдельно
Антоний
Сообщений: n/a
11.05.2010, 03:40     Учу линейные списки, программа не работает...
Задача:
Ввести Имя и сумму пожертвования.
Вывести на печать в порядке убывания по сумме пожертвования.

Программа компелируется, но логика подкочала

Пример:
-------------------------
Дано меню:
1. Введите инфо
2. Вывести инфо
3. Выход

Выбираем 1
Введите имя: антон
Сумма пожертвовония: 5

Выбираем 1
Введите имя: дима
Сумма пожертвовония: 12

Выбираем 2
дима - 12
антон - 5

То что я написал для класса
-------------------------------

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
#include <iostream>
#include "personlist.h"
using namespace std;
 
struct PersonRec {
    char name[20];
    int bribe;
    PersonRec *link;
};
 
PersonList::PersonList()
{
    head = NULL;
}
//PersonList::~PersonList()
//{ 
//}
 
// Add to list function
void PersonList::AddToList() 
{
    PersonRec *newPerson, *currentNode, *prevNode;
    newPerson = new PersonRec;
    
    cout << "\nВведите имя: ";
    cin >> newPerson->name;
    cout<< "Сумма пожертвовония: ";
    cin >> newPerson->bribe;
 
    
    if (head == NULL) 
    {
        ead = newPerson;
    }
    else 
    {
        currentNode = head; 
        prevNode = NULL;
 
        //сортировка
        while (newPerson->bribe <= currentNode->bribe && currentNode->link == NULL)
        {
            prevNode = currentNode;
            currentNode = currentNode->link;
        }
            
        if (prevNode == NULL)
        {
            head = newPerson;
            newPerson->link = currentNode;
        }
        else 
        {
            prevNode->link = newPerson;
            newPerson->link = currentNode;
        }
    }
}
void PersonList::ViewList()
{
    PersonRec *temp;
    temp = head->link;
    int count = 1;
 
    cout << "\n# Список: \n";
    cout << "=======================================\n";
    if(temp == NULL)
    {
        cout << " Список пустой \n";
    }
    while(temp != NULL)
    {
            cout << count << " ";
            cout << temp->name;
            cout << " $";
            cout << temp->bribe;
            count++;
            temp = temp->link;          
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru