Reading from a textfile to retrieve values using C#

Total Post:154

Points:1086
C# 
C#
 2406  View(s)
Ratings:
Rate this:

Use Notepad to place the following values in a text file: 86, 97, 144, 26.To simplify the problem, the values can each be placed on separate lines.Write a C# program to retrieve the values from the text file and print the average of the values, formatted with two decimal places.

However, I keep getting error messages when I compile my code. I have listed my code below for you to view, and to offer me any feedback on what to do to correct my code.

   using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.IO;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;
namespace ReadTextFileApp
{
public class ReadTextFileApp : System.Windows.Forms.Form
{
    public ReadTextFileApp()
    {
        InitializeComponent();
    }
    private void ReadTextFileApp_Load(object sender, EventArgs e)
    {
        string inValue;
        string data;
        inFile = new StreamReader("name.txt", true);
    }
    private void btnDisplayValues_Click(object sender, EventArgs e)
    {
        string inValue;
        int count = 0;
        int total = 0;
this.lblDisp.Text = "";
        if(File.Exists("name.txt"))
    {
        try
        {
            inFile =new StreamReader{"name.txt");
            while((inValue = inFile.ReadLine()) |= null)
            {
                count++;
                this.lblDisp.Text += " " + inValue;
                total+= int.Parse(inValue);
            }
            average =(double)
                total / count;
            }
            catch(System.IO.IOException exc)
            {
                this.lblDisp.Text = exc.Message;
            }
        }
        else
        {
            this.lblDisp.Text = "File Unavailable";
        }
        this.lblDisp.Visible = true;
    {
    private void ReadTextFileApp_Closing(object sender,  System.ComponentModel.CancelEventArgs e)                                                     {
        try
        {
            inFile.Close();
        }
        catch
        {
        }
    }
    private void btnCalcDispAve_Click(object sender, EventArgs e)
    {
        this.lblAve.Text = "";
        this.lblAve.Text = "   " + average.ToString();
        this.lblAve.Visible = true;
    }
}
  1. Post:378

    Points:2694
    Re: Reading from a textfile to retrieve values using C#

    Hi Manoj,


    You have many, many syntax errors in your program

    Where is inFile declared?

    inFile = new StreamReader("name.txt", true);

    You have a brace instead of a bracket on this line:

    inFile = new StreamReader{"name.txt");

    You are bitwise OR-EQUALING the string value on this line:

    while ((inValue = inFile.ReadLine()) |= null)

      Modified On Apr-09-2018 11:56:39 PM
  1. Post:1

    Points:7
    Re: Reading from a textfile to retrieve values using C#

    using System;
    using System.IO;


    namespace PRG321WK3Assignment3
    {
        class Program
        {
            static void Main(string[] args)
            {
                string inValue;
                int count = 0;
                double sum = 0;
                double average;
                try
                {
                    StreamReader inStream = new StreamReader("values.txt");
                    while ((inValue = inStream.ReadLine()) != null)
                    {
                        sum += Convert.ToInt16(inValue);
                        count++;
                    }
                    average = sum / count;
                    Console.WriteLine("The average is: {0:f2}", average);
                }
                catch (IOException e)
                {
                    Console.WriteLine("Exception!  " + e.Message);
                }

                Console.Read();
            }
        }
    }

      Modified On Apr-09-2018 11:56:25 PM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!