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

Проверить код на корректность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ количество пробелов в двух строках http://www.cyberforum.ru/cpp-beginners/thread192972.html
Здравствуйте. Пожалуйста, помогите кто-нибудь с задачей. Требуется написать программу с классами и объектами которая считает количество пробелов в двух строках, сравнивает их, и выводит сообщение на...
C++ нахождение максимального значение в матрице доброго всем прекрасного время суток.. у меня такой вопрос.. есть ли способ быстро найти елемент с максимальным значением в матрице.. тоесть.. как еще можно найти этот елемент.. не сравнивая... http://www.cyberforum.ru/cpp-beginners/thread192968.html
Максимум среди сумм элементов диагоналей матрицы: исправить C++
Задача, выводит максимум среди сумм элементов диагоналей матрицы. Помогите, пожалуйста исправить что бы нормально выводилась матрица, столбцы, строки. #include <iostream.h> class diagonal {...
Вопрос C++
Никто не знает как можно вот эту программу переделать в язык паскаль #include <stdio.h> #include <conio.h> #include <malloc.h> void main(void) { int i,j,l=0,k,q,v,g=0,lmax=0, n=4, ...
C++ Не могу понять в чем ошибка http://www.cyberforum.ru/cpp-beginners/thread192953.html
Всем доброго время суток целый день бьюсь, не понимаю в чем ошибка: #include <iostream> using std::endl; int myFunc(unsigned short int x); int main() { unsigned short int x, y; y =...
C++ условные операторы и циклы напишите текст программы по блок схеме вот блок схема по этому графику подробнее

Показать сообщение отдельно
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151

Проверить код на корректность - C++

17.11.2010, 21:57. Просмотров 617. Ответов 4
Метки (Все метки)

Сделал лабу, все работает отлично.... Но я не уверен что она написана нормально, может где то переменная не там обявляется или не так передается , может функция какая то не так написана... проверте , буду очень благодарен ))
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <iostream>
#include <cstdlib>
#include<clocale>
#include <fstream>
#include <conio.h>
using namespace std;
 
struct LIST {
int number_UDK;
char famil_avtora[20];
char inicalu[5];
char name[30];
int god_izdan;
int kol_vo_ekzempl;
LIST *next;
};
 
int add(fstream &fin,LIST *p)
{   int prov=-1;
    while( !fin.eof() )
{
    
    fin >> p->number_UDK;
    fin >> p->famil_avtora;
    fin >> p->inicalu;
    fin >> p->name;
    fin >> p->god_izdan;
    fin >> p->kol_vo_ekzempl;
    p->next =new LIST;
     if(!fin.eof())
      p=p->next;
    prov++;
}p->next=0;
    return prov;
}
bool berem(int udk,LIST *p)
{ int k=1;
    while (k != 0)
    if(p->number_UDK != udk)
        p=p->next;
    else
      { if (p->kol_vo_ekzempl == 0)
           return false;
        else
        {
        p->kol_vo_ekzempl=p->kol_vo_ekzempl - 1;
        k=0;
        return true;
        }   
    }
}
void vozvrat(int udk,LIST *p)
{  int k=1; 
    while (k != 0)
    if(p->number_UDK != udk)
        p=p->next;
    else
    {
        p->kol_vo_ekzempl=p->kol_vo_ekzempl + 1;
         k=0;
    }
}
void clear(LIST** head)
{
        while(*head)
        {
                LIST* p=*head;
                *head=(*head)->next;
                delete p;
        }
}
 
int main()
{ setlocale(LC_ALL, "rus");
 fstream fin;
 int i=0;
 char key='0';
 int udk;
  fin.open("fin.txt",ios_base::in);
    if(fin.is_open()==false)
        cout << "ошибка открытия fin.txt!!!";
 
LIST *head; 
head = new LIST;
LIST *p=head;
 
i=add(fin,p);
int k=i;
if(i==0)
{
cout << "В библиотеке нет книг ((" << endl;
clear(&head);
getch();
return 0;
}
 
while (key !='4')
 
    while(!kbhit() && key!='4')
     {  i=k; LIST *p=head;
         system("cls");
      cout << "1-Взять книгу" << endl;
      cout << "2-Вернуть книгу" << endl;
      cout << "3-Наличие книг в библиотеке" << endl;
      cout << "4-Выход из библиотеки" << endl;
 
         key = getch();
          
 
         if(key=='1')
            { cout << "Введите номер УДК" << endl;
              cin >> udk;
            if (berem(udk,p) == false)
            {
                cout << "Данной книги пока нет в библиотеке";
                getch();
            }
            }
          if(key=='2')
            { cout << "Введите номер УДК" << endl;
              cin >> udk;
              vozvrat(udk,p);
             }
 
          if(key=='3')
          {   p=head;
              while(i != 0 )
                   {cout << endl; 
                  cout << "Номер УДК               " << p->number_UDK << endl;
                  cout << "Ф.И.О. автора           " << p->famil_avtora <<' ';
                  cout << p->inicalu << endl;
                  cout << "Название книги          " << p->name << endl;
                  cout << "Год издания книги       " << p->god_izdan << endl;
                  cout << "Количество экземпляров  " << p->kol_vo_ekzempl << endl;
                  cout << endl;
                  p=p->next;
                  i--;
                   } 
                getch();
          }
         
         if (key == '4')
         {clear(&head);
             return 1;
         }
        
     }
    clear(&head);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru