8.27 - C to C# converter

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.


Solution

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);
}
}  
}
}


Popular Posts