C++试听课

实践编写具有逻辑控制的简单程序

下面是一个简单的C++程序示例,它使用了条件语句和循环语句来实现逻辑控制。这个程序会要求用户输入一系列整数,然后计算并输出这些整数的总和以及平均值。如果用户输入了一个非整数,程序会提示用户重新输入。

#include <iostream>  
#include <limits>  
  
int main() {  
    int sum = 0;  
    int count = 0;  
    int number;  
    bool isValidInput;  
  
    std::cout << "请输入一系列整数(输入非数字结束):" << std::endl;  
  
    do {  
        std::cin >> number;  
  
        // 检查输入是否有效  
        isValidInput = std::cin.good();  
  
        // 清除输入流中的错误标志并忽略错误的输入  
        if (!isValidInput) {  
            std::cin.clear();  
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');  
            std::cout << "无效输入,请输入一个整数:" << std::endl;  
        } else {  
            sum += number;  
            ++count;  
        }  
    } while (isValidInput);  
  
    if (count > 0) {  
        double average = static_cast<double>(sum) / count;  
        std::cout << "你输入了 " << count << " 个整数。" << std::endl;  
        std::cout << "这些整数的总和是 " << sum << "。" << std::endl;  
        std::cout << "这些整数的平均值是 " << average << "。" << std::endl;  
    } else {  
        std::cout << "没有输入任何整数。" << std::endl;  
    }  
  
    return 0;  
}

这个程序使用了do-while循环来不断读取用户的输入,直到输入无效(即非整数)为止。在每次循环中,程序首先尝试从标准输入流std::cin读取一个整数,并检查输入是否有效。如果输入无效,程序会清除输入流中的错误标志,并忽略错误的输入,然后提示用户重新输入。如果输入有效,程序会将输入的整数加到总和sum中,并增加计数器count的值。

当循环结束后,程序会检查计数器count的值。如果count大于0,说明用户至少输入了一个整数,程序会计算并输出这些整数的总和以及平均值。否则,程序会输出一条消息,说明用户没有输入任何整数。

 

 

 

下面是一个更深入的C++代码示例,它演示了如何定义和使用函数,包括带有参数和返回值的函数,以及如何在主函数中调用这些函数来实现一些基本的逻辑控制。

这个示例程序将实现以下几个功能:

  1. 定义一个函数来计算两个整数的和。
  2. 定义一个函数来判断一个整数是否为偶数。
  3. 在主函数中调用这些函数,并根据结果执行相应的逻辑。
    #include <iostream>  
      
    // 函数声明  
    int add(int a, int b);  
    bool isEven(int number);  
      
    int main() {  
        int num1 = 5;  
        int num2 = 3;  
        int sum = add(num1, num2); // 调用add函数计算两个数的和  
      
        std::cout << "The sum of " << num1 << " and " << num2 << " is: " << sum << std::endl;  
      
        if (isEven(sum)) { // 调用isEven函数判断和是否为偶数  
            std::cout << "The sum is an even number." << std::endl;  
        } else {  
            std::cout << "The sum is an odd number." << std::endl;  
        }  
      
        // 演示循环和条件语句  
        int counter = 0;  
        while (counter < 10) { // 循环10次  
            int temp = add(counter, counter);  
            if (isEven(temp)) { // 如果和是偶数  
                std::cout << counter << " + " << counter << " = " << temp << " (even)" << std::endl;  
            } else { // 如果和是奇数  
                std::cout << counter << " + " << counter << " = " << temp << " (odd)" << std::endl;  
            }  
            ++counter; // 计数器递增  
        }  
      
        return 0;  
    }  
      
    // 函数定义  
    int add(int a, int b) {  
        return a + b; // 返回两个整数的和  
    }  
      
    bool isEven(int number) {  
        return number % 2 == 0; // 返回是否为偶数(如果是偶数返回true,否则返回false)  
    }

    在这个示例中:

    • add 函数接受两个整数参数 a 和 b,返回它们的和。
    • isEven 函数接受一个整数参数 number,如果 number 是偶数则返回 true,否则返回 false
    • main 函数是程序的入口点。它首先声明并初始化两个整数 num1 和 num2,然后调用 add 函数计算它们的和,并将结果存储在 sum 变量中。接着,它使用 if 语句调用 isEven 函数来判断 sum 是否为偶数,并输出相应的信息。
    • main 函数还包含一个 while 循环,该循环执行10次。在每次迭代中,它计算 counter 的两倍,并检查结果是否为偶数。根据结果,它输出相应的信息。

    这个示例展示了如何使用函数来组织代码,并在主函数中通过条件语句和循环语句实现逻辑控制。通过分解代码到不同的函数中,可以使程序更易于理解和维护。

0.068807s