CS0019 Operator cannot be applied to operands of type 'bool' and 'int'
Solution 1
You can't write (q == 1)
in C#, because q
is a bool
and 1
is an int
.
q
can only be compared to another boolean expression, e.g. true
, false
, another boolean variable, etc.
Solution 2
Just if someone read this question and needs comparing a bool
with an int
:
(Convert.ToInt32(q) == 1)
Related videos on Youtube
Nooob
Updated on April 28, 2020Comments
-
Nooob about 4 years
This program is in response to the assignment:
"Create a method named
Sum()
that accepts any number of integer parameters and displays their sum. Write aMain()
method that demonstrates that theSum()
method works correctly when passed one, three, five, or an array of ten integers. Save the program asUsingSum.cs
."from Microsoft® Visual C#® 2008, An Introduction to Object-Oriented Programming, 3e, Joyce Farrell
My code in the "//step 1:" part is getting the CS0019 error, which states that it cannot be applied to operands of type
bool
andint
.I highly suspect there are also other problems with this code, but it's a great improvement over what I had four hours ago…
using System; public class UsingSum { public static void Main() { Sum(); } public static void Sum() { // Step 1: Addition of one, three, five bool q, r, s; int firstTotal, n, o, p; string k, l, m; Console.Write("Type the number 1: "); k = Console.ReadLine(); n = Convert.ToInt32(k); q = Convert.ToBoolean(k); Console.WriteLine(); if (q == 1) Console.WriteLine("Input accepted."); else if (!(q == 1)) { Console.WriteLine("Error: You didn't type the number 1. Please try again."); Console.Write("Type the number 1: "); k = Console.ReadLine(); n = Convert.ToInt32(k); q = Convert.ToBoolean(k); } } Console.Write("Type the number 3: "); l = Console.ReadLine(); r = Convert.ToBoolean(l); o = Convert.ToInt32(l); Console.WriteLine(); if (r <= 2 || r >= 4) { Console.WriteLine("Error: You didn't type the number 3. Please try again."); Console.Write("Type the number 3: "); l = Console.ReadLine(); r = Convert.ToBoolean(l); o = Convert.ToInt32(l); } else if (r = 3) Console.WriteLine("Input accepted."); Console.Write("Type the number 5: "); m = Console.ReadLine(); p = Convert.ToInt32(m); s = Convert.ToBoolean(m); Console.WriteLine(); if (s <= 4 || s >= 6) { Console.WriteLine("Error: You didn't type the number 5. Please try again."); Console.Write("Type the number 5: "); m = Console.ReadLine(); p = Convert.ToInt32(m); s = Convert.ToBoolean(m); } else if (s = 5) Console.WriteLine("Input accepted."); firstTotal = n + o + p; Console.WriteLine("{0} + {1} + {2} = {3}", n, o, p, firstTotal); // Step 2: Entering integers for array[10] int a, arrayTotal, b, c, d, e, f, g, h, i, j, unlimited; Console.Write("Enter first integer for addition: "); a = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter second integer for addition: "); b = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter third integer for addition: "); c = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter forth integer for addition: "); d = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter fifth integer for addition: "); e = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter sixth integer for addition: "); f = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter seventh integer for addition: "); g = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter eighth integer for addition: "); h = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter ninth integer for addition: "); i = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter tenth integer for addition: "); j = Convert.ToInt32(Console.ReadLine()); arrayTotal = a + b + c + d + e + f + g + h + i +j; Console.WriteLine("The total of {0} + {1} + {2} + {3} + {4} + {5} + {6} + {7} + {8} + {9} = {10}", a, b, c, d, e, f, g, h, i, j, arrayTotal); // Step 3: Unlimited array addition int[] arrayTwo; int total, y; string ADD, x; while(Console.Write("Enter an integer for addition, or type ADD to calculate the sum: ")) { x = Console.ReadLine(); y = Convert.ToInt32(x); if (x == ADD) Console.WriteLine("Calculating the total sum"); } for (y = 0; y < arrayTwo.Length; ++y) { total = arrayTwo[y] + arrayTwo[y]; ++arrayTwo[y]; Console.WriteLine("========================"); Console.WriteLine("=/n= The total is: {0} =/n=", total); Console.WriteLine("========================"); } } }