Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

C++ Programming/Exercises/Functions/Pages

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

include <iostream> using namespace std; int main() { char op; double num1, num2; cout << "Enter operator (+, -, *, /): "; cin >> op; cout << "Enter two numbers: "; cin >> num1 >> num2; switch(op) { case '+': cout << num1 + num2; break; case '-': cout << num1 - num2; break; case '*': cout << num1 * num2; break; case '/': if (num2 != 0) cout << num1 / num2; else cout << "Error: Division by zero"; break; default: cout << "Invalid operator"; } return 0; } EXERCISE 1 Write a program that performs arithmetic division. The program will use two integers, a and b (obtained by the user) and will perform the division a/b, store the result in another integer c and show the result of the division using cout. In a similar way, extend the program to add, subtract, multiply, do modulo and power using integers a and b. Modify your program so that when it starts, it asks the user which type of calculation it should do, then asks for the 2 integers, then runs the user selected calculation and outputs the result in a user friendly formatted manner. Sample run: Enter two numbers: 3 12 The sum is 15. Solution Solution #1 #include <iostream> using namespace std; int AddTwo (int addend1, int addend2) { return addend1 + addend2; } int main () { int number1, number2, sum; cout << "Enter two integers:\n"; cin >> number1 >> number2; sum = AddTwo(number1, number2); cout << "\nThe sum is " << sum << "."; } Solution #2 //by blazzer12 //Input two values. Call a function that returns the sum of the values. #include<iostream> using namespace std; int getSum(int, int); int main() { int number1, number2, sum; //get values cout<<"Enter two integers to add"<<endl; cout<<"Number1 :"; cin>>number1; cout<<"Number2 :"; cin>>number2; //call getSum() and store result in sum sum = getSum(number1, number2); //print result cout<<number1<<" + "<<number2<<" = "<<sum; } int getSum(int addend1, int addend2) { return addend1 + addend2; } The solution in C++. #include <stdio.h> int add(int, int); int main() { int a, b, sum; printf("A: "); scanf_s("%d", &a); printf("B: "); scanf_s("%d", &b); sum = add(a, b); printf("The sum of %d and %d is %d.\n", a, b, sum); return 0; } int add(int a, int b) { return a + b; } // Another solution: # include <iostream> using namespace std; int sum (int number1, int number2); int number1; int number2; int main() { cout<<"Give me a number amigo: "; cin>>number1; cout<<"Give me another number dude: "; cin>>number2; cout<<"The sum of "<<number1<<" and "<<number2<<" is: "<<sum(number1,number2)<<"."<<endl; return 0; } int sum (int number1, int number2) { return number1+number2; } // by neuroalchemist EXERCISE 2 Basically the same as exercise 1, but this time, the function that adds the numbers should be void, and takes a third, pass by reference parameter; then puts the sum in that. Solution Solution #1 #include <iostream> using namespace std; void AddTwo (int addend1, int addend2, int &sum) { sum = addend1 + addend2; } int main () { int number1, number2, sum; cout << "Enter two integers:\n"; cin >> number1 >> number2; AddTwo(number1, number2, sum); cout << "\nThe sum is " << sum << "."; return 0; } Solution #2 //by blazzer12 //adds two integers using a "pass by reference" type function call. #include <iostream> using namespace std; void addNum(int, int, int&); int main() { int number1,number2,sum; //get values; cout<<"Enter two integers to add"<<endl; cout<<"Enter Number 1: "; cin>>number1; cout<<"Enter Number 2: "; cin>>number2; //call addNum to add the numbers addNum(number1, number2, sum); //print sum cout<<number1<<" + "<<number2<<" = "<<sum; return 0; } void addNum(int addend1, int addend2, int &sum) { sum = addend1 + addend2; } Solution #3 #include<iostream> using namespace std; void add(int,int); int sum=0; int main(){ cout<<"Please input the first number you wanna add:"<<endl; int num1; cin>>num1; cout<<"Please input the second number you wanna ad"<<endl; int num2; cin>>num2; add(num1,num2); cout<<"The sum of these two number:"<<num1<<"&"<<num2<<" is:"<<sum<<endl; return 0; } void add(int a,int b){ sum=a+b; } EXERCISE 3 Write a recursive function that finds the #n integer of the Fibonacci sequence. Then build a minimal program to test it. For reference see Wikipedia:Fibonacci number. For any possible natural number "n", the following applies fib(n+2) = fib(n+1) + fib(n) Also, the following are predefined fib(0) = 0 fib(1) = 1 Solution Solution #1 #include <iostream> using namespace std; unsigned fib(unsigned n); int main() { // Printing the first 20 Fibonacci sequence values for (unsigned i = 0; i < 20; i++){ cout << "fib(" << i << ") = " << fib(i) << endl; } } unsigned fib(unsigned n) { if (n < 2) return n; return fib(n-2) + fib(n-1); } EXERCISE 4 Basically the same as exercise 3, although this time you mustn't use recursion. Solution Solution #1 #include <iostream> using namespace std; unsigned fib(unsigned n); int main() { // Printing the first 20 Fibonacci sequence values for (unsigned i = 0; i < 20; i++){ cout << "fib(" << i << ") = " << fib(i) << endl; } } unsigned fib(unsigned n) { if (n < 2) return n; unsigned prev1 = 0; unsigned prev2 = 1; for (unsigned i = 0; i <= n-2; i++){ unsigned temp = prev1 + prev2; // Just doing a rotation of values, since only the last two are needed prev1 = prev2; prev2 = temp; } return prev2; } For extra exercise, give a big number (like 1000000) to both exercise 3 and 4 solutions and compare the execution times. Ponder on the results ;) EXERCISE 5 Create a calculator that takes a number, a basic math operator (+,-,*,/,^), and a second number all from user input, and have it print the result of the mathematical operation. The mathematical operations should be wrapped inside of functions. Solution Solution #1 Hammad city university #include<iostream> using namespace std; void calculator(int num, int num2, int result); void calculator(int num,int num2,int result) { char op; cout<<"\n Calculator:- \nEnter Number: " ; cin>>num; cout<<"Enter operator +,-,*,/,^ : "; cin >>op; cout<<"Enter second number: " ; cin>>num2; if(op=='+')result=num+num2; if(op=='-')result=num-num2; if(op=='*')result=num*num2; if(op=='/')result=num/num2; if(op=='^')result=num^num2; cout<<"result: "<<result<<"\n"; } main() { int a,b,c; calculator(a,b,c); return 0; } } Solution #2 #include <iostream> float add(float a, float b) { return a + b; } float sub(float a, float b) { return a - b; } float mul(float a, float b) { return a * b; } float div(float a, float b) { if(b != 0) { return a / b; } std::cout << "Error: division by zero.\n"; return 0; } float pow(float a, float b) { return pow(a, b); } float mod(float a, float b) { return fmod(a, b); } void calc() { float a, b; char op; std::cout << "Enter a #: "; std::cin >> a; std::cout << "Enter an operator (+, -, *, /, ^, %): "; std::cin >> op; std::cout << "Enter a second #: "; std::cin >> b; switch(op) { case '+': std::cout << "Result: " << add(a, b); break; case '-': std::cout << "Result: " << sub(a, b); break; case '*': std::cout << "Result: " << mul(a, b); break; case '/': std::cout << "Result: " << div(a, b); break; case '^': std::cout << "Result: " << pow(a, b); break; case '%': std::cout << "Result: " << mod(a, b); break; default: std::cout << "Error: operator not valid.\n"; } } int main() { calc(); return 0; } Soln #3 // This program will do simple calculations involving + - * / and ^ // #include <iostream> #include <cmath> using namespace std; int main() { int x,y,sum; cout << "Enter first number "; cin >> x; cout << endl; cout << "Enter second number "; cin >> y; cout << endl; cout << 1 << " +" << endl; cout << 2 << " -" << endl; cout << 3 << " *" << endl; cout << 4 << " /" << endl; cout << 5 << " ^" << endl << endl; cout << "What math would you like to do? "; cin >> sum; cout << endl; switch (sum){ case 1: sum = x + y; cout << "The answer to your addition is " << sum << endl; break; case 2: sum = x - y; cout << "The answer to your subtraction is " << sum << endl; break; case 3: sum = x * y; cout << "The answer to your multiplication is " << sum<< endl; break; case 4: sum = x / y; cout << "The answer to your division is " << sum << endl; break; case 5: sum = pow(x,y); cout << "The answer to your power function is " << sum << endl; break; default: cout << "You have entered an invalid option " << endl; break; } return 0; }