C to C# converter Learn programming C#

Lesson:

File Management


Exercise:

C to C# converter 282


Objetive:

Create a program to convert simple C programs, such as the following one, to C#:

Note: the resulting program must compile correctly. Test it with other similar C programs.


Code:

using System;
using System.IO;
class ConvertOfCToCSharp
{
    static void Main()
    {
        Console.Write("Name of file: ");
        string name = Console.ReadLine();
        if (!File.Exists(name))
        {
            Console.WriteLine("Not found!");
        }
        else
        {
            try
            {
                StreamReader fileC = new StreamReader(name);
                StreamWriter fileCSharp = new StreamWriter(name + ".cp");
                string line;
                do
                {
                    line = fileC.ReadLine();
                    if (line != null)
                    {
                        line = line.Replace("#include ",
                        "using System;/npublic class Example{");

                        line = line.Replace("int main()", "public static void Main()");

                        if (line.Contains("scanf("))
                        {
                            line = line.Replace("scanf(\"%d\", &", "");
                            line = line.Replace(");", " = Convert.ToInt32(Console.ReadLine());");
                        }
                        line = line.Replace("printf", "Console.Write");
                        line = line.Replace("%d", "{0}");
                    }
                }
                while (line != null);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error, " + e.Message);
            }
        }
    }
}