Автор работы: Пользователь скрыл имя, 25 Сентября 2013 в 20:06, курсовая работа
В наши дни, развитие информационных технологий, позволяет значительно упростить жизнь и сберечь время на выполнение тех или иных действий. В данном курсовом проекте поставлена задача, написать программу – тест для проверки знаний студентов. Программа должна выполняться примерно по следующему алгоритму: Перед началом тестирования вводится фамилия студента, затем он отвечает на 10 случайных вопросов, предложенных программой из пятнадцати возможных.
Введение…………………………………………………………………………...2
1 Объектно-ориентированный язык программирования С#..............................3
2. Внешний вид форм программы ………………………………………………5
2.1 Внешний вид форм на этапе проектирования………………………………5
2.2 Внешний вид форм в рабочем состоянии…………………………………...8
3 Код программы……………....………………………………………………...12
Заключение……………………………………………………………………….20
Список использованных источников…………………………………………...21
МИНИСТЕРСТВО СЕЛЬСКОГО
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Пермская государственная
Д. Н. Прянишникова»
Кафедра: Информационных систем
КУРСОВОЙ ПРОЕКТ
по дисциплине:
«Объектно-ориентированное
на тему: «Проектирование и создание Windows-приложения «Оболочка для тестирования» на языке C# в системе MS VisualStudio.NET»
Проект выполнил:
студент факультета Прикладной информатики
Специальности 230201
группы ИС – 31б
Иванов
Руководитель:
Старший преподаватель кафедры
информационных систем
Кочкина М.А.
Пермь 2012
Содержание
Введение…………………………………………………………
1 Объектно-ориентированный
язык программирования С#............................
2. Внешний
вид форм программы ……………………………
2.1 Внешний вид форм на этапе проектирования………………………………5
2.2 Внешний вид форм в рабочем состоянии…………………………………...8
3 Код программы……………....………………………………
Заключение……………………………………………………
Список использованных
источников…………………………………………...
Введение
В наши дни, развитие информационных
технологий, позволяет значительно
упростить жизнь и сберечь
время на выполнение тех или иных
действий. В данном курсовом проекте
поставлена задача, написать программу
– тест для проверки знаний студентов.
Программа должна выполняться примерно
по следующему алгоритму: Перед началом
тестирования вводится фамилия студента,
затем он отвечает на 10 случайных
вопросов, предложенных программой из
пятнадцати возможных. Программа подсчитывает
число правильных ответов и выдает
оценку. Во внешнем файле сохраняются
фамилия и результат
Разработать приложение необходимо на
объектно-ориентированном
1 Объектно-ориентированный язык программирования С#
C# (произносится си шарп) — объектно-ориентированный
язык программирования. Разработан
в 1998—2001 годах группой инженеров
под руководством Андерса
C# относится к семье языков
с C-подобным синтаксисом, из
них его синтаксис наиболее
близок к C++ и Java. Язык имеет
статическую типизацию,
Переняв многое от своих предшественников
— языков C++, Java, Delphi, Модула и Smalltalk —
С#, опираясь на практику их использования,
исключает некоторые модели, зарекомендовавшие
себя как проблематичные при разработке
программных систем, например, C# в
отличие от C++ не поддерживает множественное
наследование классов (между тем
допускается множественное
C# разрабатывался как язык
2 Внешний вид форм программы
2.1 Внешний вид форм на этапе проектирования
На этапе проектирования понадобилась только одна форма (рисунок 1).
Рисунок 1 – «Главная форма»
2.2 Внешний вид форм в рабочем состоянии
После запуска программы форма изменяет свой внешний вид:
Рисунок 2 – «Ввод данных о студенте», рисунок 3 - «Инструкции», рисунок 4 – «Вопрос», рисунок 5 – «Завершение тестирования».
Рисунок 2– «Ввод данных о студенте»
Рисунок 33 - «Инструкции»
Рисунок 4 – «Вопрос»
Рисунок 5 – «Завершение тестирования»
3 Код программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
StreamWriter sw;
string fam, k;
int v = 1, s = 0, f = 0;
int[] a;
public Form1()
{
InitializeComponent();
//массив не повторяющихся чисел (вопросов)
Random rnd = new Random();
HashSet<int> hs = new HashSet<int>();
while (hs.Count < 10) hs.Add(rnd.Next(15));
a = hs.ToArray();
foreach (int q in a);
//открытие файла с тестом
System.IO.StreamReader potok;
try
{
potok = new
System.IO.StreamReader(@"D:\\
textBox2.Text = potok.ReadToEnd();
potok.Close();
}
catch { MessageBox.Show("Файл исходных данных не найден", "Внимание!"); }
}
private void button1_Click(object sender, EventArgs e)
{
//1 студенту разрешено тестироваться 1 раз, проверка:
int access = 1;
fam = textBox1.Text;
string str = string.Empty;
using (StreamReader sr = new StreamReader(@"D:\\test\rez.
{
while (!sr.EndOfStream)
{
str = sr.ReadLine();
if (str.Contains(fam.ToLower()))
{
MessageBox.Show("Студент " + fam + " уже проходил тестирование", "Ошибка!");
textBox1.Text = "";
textBox1.Focus();
access = 0;
}
}
if (access == 1)
{
groupBox2.Visible = false;
groupBox1.Visible = true;
button2.Text = "Студент " + fam + ", нажмите чтобы начать тестирование";
}
}
}
//проверка правильности ответа
int Otv()
{
if ((radioButton1.Checked) && (string.Compare(radioButton1.
{
return f++;
}
else if ((radioButton2.Checked)
&& (string.Compare(radioButton2.
{
return f++;
}
else if ((radioButton3.Checked)
&& (string.Compare(radioButton3.
{
return f++;
}
else if ((radioButton4.Checked)
&& (string.Compare(radioButton4.
{
return f++;
}
else
{
return f;
}
}
//вывод результата тестирования
string rez()
{
if (f >= 90)
{
return "Отлично";
}
else if ((f >= 70) && (f < 90))
{
return "Хорошо";
}
else if ((f >= 50) && (f < 70))
{
return "Удовлетворительно";
}
else if (f < 50)
{
return "Неудовлетворительно";
}
else
return "";
}
private void button3_Click(object sender, EventArgs e)
{
Otv();
radioButton1.Visible = true;
radioButton2.Visible = true;
radioButton3.Visible = true;
radioButton4.Visible = true;
label1.Visible = true;
label2.Visible = false;
groupBox1.Text = "вопрос " + v;
//заполнение вопроса и ответов на форме
if (s < 10)
{
label1.Text = textBox2.Lines[(a[s] * 6) + 1];
radioButton1.Text = textBox2.Lines[(a[s] * 6) + 2];
radioButton2.Text = textBox2.Lines[(a[s] * 6) + 3];
radioButton3.Text = textBox2.Lines[(a[s] * 6) + 4];
radioButton4.Text = textBox2.Lines[(a[s] * 6) + 5];
k = textBox2.Lines[(a[s] * 6) + 6];
button2.Text = "Следующий вопрос";
s = s + 1;
v = v + 1;
if (s == 10)
{
button2.Text = "Завершить тестирование";
}
}
else
{
f = (f * 10);
groupBox1.Visible = false;
//запись резултата в файл
fam = fam.ToLower();
using (sw = new StreamWriter("D:\\test\\rez.
{
sw.WriteLine(fam +"\t" + rez());
sw.Close();
}
if (MessageBox.Show(rez() + " , у вас - " + f + " баллов" + "\n\n" + "Да - перезапуск программы, Нет - выход", "Что дальше?", MessageBoxButtons.YesNo) == DialogResult.No)
this.Close();
else Application.Restart();
}
}
}
}
Заключение
Разработанное
приложение «Тест» представляет собой
простую оболочку для тестирования,
которая может позволить
Приложение
соответствует всем требованиям
задания на курсовой проект, и, следовательно,
поставленная передо мной задача выполнена.
Список использованных источников
1. http://ru.wikipedia.org/wiki/
2. Культин Н.Б. «Microsoft Visual C# в задачах и примерах». БХВ.:Петербург, 2009.-322с.
3. Кочкина М.А. «Язык программирования C# в среде Microsoft Visual Studio.NET 2005». Учебно-методическое пособие для лабораторных работ. Пермь, Пермская государственная сельскохозяйственная академия имени академика Д.Н. Прянишникова. 2008.-137с.