Электронный классный журнал
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Вµственном, так и в процентном соотношении
Для вывода общей успеваемости всех студентов - нажать клавишу очистить во вкладке Поиск, для вывода успеваемости определенной группы - ввести номер группы во вкладке Поиск.
Заключение
Курсовой проект посвящен разработке программы учета успеваемости студентов.
В ходе курсового проекта были решены следующие задачи:
.Проектирование БД с помощью ERWIN Data Modeler и SQL Server 2000;
.Разработка клиентского приложения с помощью языка программирования Delphi 7. В соответствии с предложенным техническим заданием был создан Электронный классный журнал ЭКЖ, проведена следующая работа:
.Подключение БД(локальной, сетевой)
2.Осуществление поиска студента по фамилии
3.Вывод на экран данных о студенте(ФИО, группа, id-студента, оценки(их дата), дата рождения);
.Реализация Сводки текущей успеваемости
5.Добавление новых студентов в БД;
.Добавление оценок студентам по дате, предмету.
Программа учета успеваемости облегчает работу классных руководителе и студентов в различных учебных заведениях. Реализуется это быстрым переходом от поиска к выводу успеваемости. Осуществлена возможность внесения новых оценок по различным предметам и дате. Имея определенные навыки программирования, есть возможность добавления новых предметов и реализации семестровой и дневной успеваемости.
проект приложение журнал база данные delphi
Список литературы
1. Delphi 7. Самоучитель программиста - И. Ю. Баженова, лекции по программированию;
. Поисковая система Yandex.ru, Rambler.ru;
. Пушников А.Ю. Введение в системы управления базами данных. Часть 1, часть 2;
. Справочник по базе данных MySQL. Best MySQL small cookbook.
. Лекции по РЭУБД;
6. Архангельский А. Я. Программирование в Delphi 7.-М.: ЗАО Издательство БИНОМ, 2003;
. ГОСТ 34.602-89 Требования к содержанию документа Техническое задание.
Текст программы:
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids, ComCtrls,, ActnMan, ActnCtrls, ActnMenus, StdStyleActnCtrls, ActnList, Buttons,;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TPanel;: TLabel;: TEdit;: TLabel;: TEdit;: TLabel;: TEdit;: TButton;: TButton;: TADOConnection;: TDataSource;: TADOQuery;: TMenuItem;:TLabel;:TPageControl;:TTabSheet;:TTabSheet;:TTabSheet;:TEdit;:TEdit;:TEdit;:TLabel;:TLabel;:TEdit;:TEdit;:TLabel;:TEdit;:TButton;:TLabel;:TEdit;:TEdit;:TLabel;:TLabel;:TEdit;:TDBGrid;:TGroupBox;:TDateTimePicker;:TButton;:TTabSheet;:TListBox;:TStringGrid;:TLabel;:TComboBox;:TLabel;:TEdit;:TButton;:TButton;Click(Sender:TObject);Click(Sender:TObject);Click(Sender:TObject);(Sender:TObject);(Sender:TObject);;Click(Sender:TObject);Click(Sender:TObject);Show(Sender:TObject);Click(Sender:TObject);Click(Sender:TObject);Show(Sender:TObject);;_1;Show(Sender:TObject);Click(Sender:TObject);Click(Sender:TObject);
{Privatedeclarations}
{Publicdeclarations};:TForm1;:TTreeNode;:cardinal;:arrayofstring;_Predmet:arrayofinteger;
{$R*.dfm}
//------------------------------------------------------------------------------.Svodka_1;_stud:arrayofinteger;,j:integer;:array[2..5]ofbyte;:=2to3doforj:=2to5dosg1.Cells[i,j]:=inttostr(0);:=0;j:=0;.SQL.Clear;.Text=''thenq.SQL.Add('selectid_studfromanketa').SQL.Add('selectid_studfromanketawhereid_gruppi='+edit8.Text);.Open;.First;.Eof=falsedo(ID_stud,i+1);_stud[i]:=q.Fields[0].Value;(i);.Next;;.Cells[1,0]:='Группа'+Edit8.Text;.Cells[3,0]:='Количествостудентов-'+inttostr(length(id_stud));:=0tolength(id_stud)-1do:=2to5donum[j]:=0;.SQL.Clear;.SQL.Add('selectocenkafromuspevaemostwhere');.SQL.Add('id_stud='+IntToStr(id_stud[i]));.Open;.First;.Eof=falsedo.Fields[0].Valueof
:inc(num[2]);
:inc(num[3]);
:inc(num[4]);
:inc(num[5]);;.Next;;:=2to5doifnum[j]>0then.Cells[2,7-j]:=IntToStr(StrToInt(sg1.Cells[2,7-j])+1);;;;:=2to5dosg1.Cells[3,i]:=FormatFloat('0.00',(StrToInt(sg1.Cells[2,i])/length(id_stud))*100);;
//------------------------------------------------------------------------------.Predmets;:integer;:=0;.SQL.Clear;.SQL.Add('select*fromPredmetorderbyid_predm');.Open;.First;.Eof=falsedo(Predmet,i+1);(ID_Predmet,i+1);_Predmet[i]:=q.Fields[0].Value;[i]:=q.Fields[1].Value;.Items.Add(Predmet[i]);(i);.Next;;;
//------------------------------------------------------------------------------.N6Click(Sender:TObject);.Terminate;;
//------------------------------------------------------------------------------.MSConnect;:integer;.ConnectionString:='Provider=SQLOLEDB.1'+
';Password='+Edit3.Text+
';PersistSecurityInfo=False'+
';UserID='+Edit2.Text+
';DataSource='+Edit1.Text+
';InitialCatalog='+Edit9.Text;.Open;('Немогусоединитьсясбазойданных');;;.Visible:=false;.Height:=form1.ClientHeight;.Width:=form1.ClientWidth;.ActivePage:=tabsheet1;.Visible:=true;.Enabled:=false;.Enabled:=true;;;
//------------------------------------------------------------------------------.Button1Click(Sender:TObject);;;
//------------------------------------------------------------------------------.Button2Click(Sender:TObject);.Visible:=false;;
//------------------------------------------------------------------------------.Button3Click(Sender:TObject);.Text:='';.Text:='';.SQL.Clear;.SQL.Add('select*fromAnketawherefam='+''''+Edit6.Text+'''');.Open;.First;.Eof=truethen('Данныхобэтомстудентенет');;;.Text:=q.Fields[1].Value;.Text:=q.Fields[2].Value;.Text:=q.Fields[4].Value;.Text:=q.Fields[5].Value;.Text:=q.Fields[3].Value;;
//-----------------------------------------------------------------------------.Button4Click(Sender:TObject);.Text=''thenexit;.sql.Clear;.SQL.Add('select*fromAnketawherefam='+''''+Edit6.Text+'''');.SQL.Add('andimya='+''''+Edit10.Text+'''');.SQL.Add('andotchestvo='+''''+Edit11.Text+'''');.Open;.First;.Eof=falsethen
begin('Студентстакойфамилией,именемиотчествомужесуществует');
exit;
end;.sql.Clear;.SQL.Add('selectid_studfromanketaorderbyid_stud');.Open;.Last;.Text:=IntToStr(q.Fields[0].Value+1);.sql.Clear;.SQL.Add('insertintoAnketavalues(');.SQL.Add(''''+Edit6.Text+''''+',');//фамилия.SQL.Add(''''+Edit10.Text+''''+',');//имя.SQL.Add(''''+Edit11.Text+''''+',');//отчество.SQL.Add(''''+Edit12.Text+''''+',');//датарождения.SQL.Add(Edit7.Text+',');//idстудента.SQL.Add(Edit8.Text+')');//группа.ExecSQL;.Text:='';
ShowMessage('Немогузаписатьданные,провертеправильностьввода');
exit;
end;
ShowMessage('Записьдобавлена');;
//------------------------------------------------------------------------------.Connect1Click(Sender:TObject);.Visible:=true;;.Exit1Click(Sender:TObject);.Connected:=false;.Visible:=false;.Enabled:=true;.Enabled:=false;;
//------------------------------------------------------------------------------.FormCreate(Sender:TObject);.Top:=0;.Left:=0;.Top:=10;.Left:=210;.Parent:=tabsheet2;.Top:=0;.Left:=0;.Height:=tabsheet2.ClientHeight;.Width:=tabsheet2.ClientWidth;.Date:=date;.Cells[1,1]:='Успеваютна';.Cells[1,2]:='5';.Cells[1,3]:='4-5';.Cells[1,4]:='3-4-5';.Cells[1,5]:='2';.Cells[2,1]:='Количество';.Cells[3,1]:='%';;
//------------------------------------------------------------------------------.FormResize(Sender:TObject);.Height:=form1.ClientHeight;.Width:=form1.ClientWidth;;
//------------------------------------------------------------------------------.TabSheet2Show(Sender:TObject);.SQL.Clear;.Text=''then.SQL.Add('selectfamasФамилия,ImyaasИмя,OtchestvoasOтчество,data_rozdasРодился,id_gruppiasГруппаfromAnketaorderbyfam');.SQL.Add('selectfamasФамилия,ImyaasИмя,OtchestvoasOтчество,data_rozdasРодился');.SQL.Add('fromAnketawhereid_gruppi='+Edit8.Text);.SQL.Add('orderbyfam');;.Open;;
//-----------------------------------------------------------------------------.TabSheet3Show(Sender:TObject);:inte