public static void Main(string[] args) { Console.WriteLine("Enter Number of Beams : "); int NoBeams = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter Beam Yield Stress, Fy (ksi) : "); double Fy = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Slab Compressive Stress, f'c (ksi) : "); double fc = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Rebar Yield Stress, fs (ksi) : "); double fs = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam modular ratio, n : "); double n = Convert.ToDouble(Console.ReadLine()); double[,] table; table = new double[11, NoBeams]; for (int i = 0; i < NoBeams; i++) { Console.WriteLine("Enter Beam {0} effective slab width, bslab (in) : ", i + 1); double bslab = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} structural slab thickness, tslab (in) : ", i + 1); double tslab = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} haunch width, bhaunch (in) : ", i + 1); double haunchWidth = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} haunch depth, thaunch (in) : ", i + 1); double haunchDepth = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} top rebar area, As1 (in^2) : ", i + 1); double Asteel1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} top rebar depth from top of slab, d1 (in) : ", i + 1); double distSteel1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} botom rebar area, As2 (in^2) : ", i + 1); double Asteel2 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} bottom rebar depth from top of slab, d2 (in) : ", i + 1); double distSteel2 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} top flange width, bft (in) : ", i + 1); double bft = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} top flange thickness, tft (in) : ", i + 1); double tft = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} web depth, D (in) : ", i + 1); double D = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} web thickness, tw (in) : ", i + 1); double tw = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} bottom flange width, bfb (in) : ", i + 1); double bfb = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter Beam {0} bottom flange thickness, tfb (in) : ", i + 1); double tfb = Convert.ToDouble(Console.ReadLine()); double area = CompProperties.BeamArea(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, haunchDepth, haunchWidth); table[0, i] = area; double NA = CompProperties.NeutralAxis(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[1, i] = NA; double I = CompProperties.MomentOfIneria(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[2, i] = I; double Stop = CompProperties.ElastSectModTop(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[3, i] = Stop; double Sbot = CompProperties.ElastSectModBot(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[4, i] = Sbot; double PNA = CompProperties.PlastNeutralAxis(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[5, i] = PNA; double PFt = CompProperties.PlastForceTop(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[6, i] = PFt; double PFb = CompProperties.PlastForceBot(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[7, i] = PFb; double PCGtop = CompProperties.PNAtoTopCG(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[8, i] = PCGtop; double PCGBot = CompProperties.PNAtoBotCG(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[9, i] = PCGBot; double Mp = CompProperties.PlastMoment(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth); table[10, i] = Mp; } for (int j = 0; j < NoBeams; j++) { Console.WriteLine("*********** BEAM {0} SECTION PROPERTIES***********", j + 1); Console.WriteLine("Area of Beam is {0} in^2", Math.Round(table[0, j], 2)); Console.WriteLine("Elastic Neutral Axis is {0} in", Math.Round(table[1, j], 2)); Console.WriteLine("Elastic Moment of Inertia is {0} in^4", Math.Round(table[2, j], 2)); Console.WriteLine("Elastic Section Modulus of Top Flange is {0} in^3", Math.Round(table[3, j], 2)); Console.WriteLine("Elastic Section Modulus of Bottom Flange is {0} in^3", Math.Round(table[4, j], 2)); Console.WriteLine("Plastic Neutral Axis is {0} in", Math.Round(table[5, j], 2)); Console.WriteLine("Force Above PNA is {0} kips", Math.Round(table[6, j], 2)); Console.WriteLine("Distance to Force Above PNA is {0} in", Math.Round(table[8, j], 2)); Console.WriteLine("Force Below PNA is {0} kips", Math.Round(table[7, j], 2)); Console.WriteLine("Distance to Force Below PNA is {0} in", Math.Round(table[9, j], 2)); Console.WriteLine("Plastic Moment is {0} kip-ft", Math.Round(table[10, j], 2)); Console.WriteLine(""); } Console.Read(); }