1

I'm trying to debug the C# code but can't find the logic error of why it's not displaying the data and no error message.

To begin with, the code was in large chunks so I then tried splitting the code into smaller methods but still unable to find the issue of where I'm going wrong.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace Drivers_license_exam
{
    public partial class Form1 : Form
    {
        private string[] studentAnsArray = new string[20];
        private string[] correctAnsArray = { "B", "D", "A", "A", "C", "A","B", "A", "C", "D", "B","C",
                                    "D", "A", "D", "C","C", "B", "D", "A" };

        public Form1()
        {
            InitializeComponent();
        }

        private void GetFile(out string fileName)
        {
            if (openFile.ShowDialog() == DialogResult.OK)
            {
                fileName = openFile.FileName;
            }
            else
            {
                fileName = "";
            }
        }

        private void GetAndReadFile(string fileName)
        {
            string results;
            StreamReader inputFile = File.OpenText(fileName);

            while (!inputFile.EndOfStream)
            {
                results = inputFile.ReadLine();
                studentAns.Items.Add(results);
                //studentAnsArray[index] = inputFile.ReadLine();
                //correctAns.Items.Add(studentAnsArray);
            }
            foreach (string answers in correctAnsArray)
            {
                correctAns.Items.Add(answers);
            }

            inputFile.Close();
        }

        private int TotCorrect()
        {
            int correct = 0;

            for (int index = 0; index < correctAnsArray.Length; index++)
            {
                if (studentAnsArray[index]== correctAnsArray[index])
                {
                    correctTxt.Text = index.ToString();
                    correct++;
                }
            }

            return correct;
        }

        private int TotIncorrect()
        {
            int incorrect = 0, questNum = 1;

            for (int index = 0; index < correctAnsArray.Length; index++)
            {
                if (studentAnsArray[index] == correctAnsArray[index])
                {
                    incorrectAns.Items.Add("Question: " + questNum);
                    incorrectAns.Items.Add("Incorrect");
                    incorrect++;
                }
            }

            return incorrect;

        }
        private bool PassedTest()
        {
            bool pass = false;

            if (TotCorrect() >= 15)
            {
                passFailedTxt.Text = "Passed";
            }
            if (TotIncorrect() < 15)
            {
                passFailedTxt.Text = "Failed";
            }

            return pass;
        }

        private void displayRes_Click(object sender, EventArgs e)
        {
            string studentAns;

            GetFile(out studentAns);
            GetAndReadFile(studentAns);
            TotCorrect();
            TotIncorrect();
            PassedTest();

        }

        private void exit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Clear_Click(object sender, EventArgs e)
        {

        }
    }
}

What I expected the code to do is output the following:

  • display the incorrect results
  • display pass or fail in a text box
  • display the total of correct and incorrect answers in a text box

The output that I'm getting from this code is: - doesn't display the incorrect answers in the list box - displays fail although the answers from the text and the array are correct - doesn't display the total of correct and incorrect answers

Nicole
  • 11
  • 1
  • 2
    Possible duplicate of [What is a debugger and how can it help me diagnose problems?](https://stackoverflow.com/questions/25385173/what-is-a-debugger-and-how-can-it-help-me-diagnose-problems) – ProgrammingLlama Feb 13 '19 at 01:49
  • [Visual Studio debugger guide from MS docs](https://learn.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2017). In short, your logic is probably wrong somewhere. You suggest there are a number of problems, so it's probably worth your time to debug the code and narrow the issue down to a specific place. – ProgrammingLlama Feb 13 '19 at 01:50

0 Answers0