Programming Course in C# ¡Free!

C to C# converter

 Saturday, April 06, 2013 published by Exercises C#
Proposed exercise

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

#include

int main()
{
  int a,b;
  int i;
  scanf("%d", &a);
  scanf("%d", &b);
  printf("La suma es %d", a+b);

  if (a+b > 0)
  puts("El resultado es positivo");

  printf("La serie es: ");
  for (i = 1; i<=a+b; i++)

  printf("%d ", i);
}

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

Output



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