想知道C ++中具有结构和功能的范围

绝对Z3r0

我正在编写一个程序,该程序允许我输入自己的名字并接受不同的学期,并允许我输入成绩,然后能够计算出我的平均成绩和GPA,仅供我在课程中参考。

我遇到的问题是结构以及它们如何与多功能程序一起使用。在我的课程中,我们没有涉及到这一点,我花了一段时间寻找答案,却找不到答案。下面是我当前的代码:

using namespace std;

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char gettingName();

class Student{
    public:
        double semesterClass[20][20];       //first is for semester, second is for which class
        char name[20];
        int semester;
        int numOfCourses;
};

int main(int argc, char **argv)
{
    Student info;
    gettingName();
    cout << "Hi my name is: " << name.info << endl;
    return 0;
}

char gettingName()
{
    Student info;

    char YesNo[5];
    char boolean[1] = {'T'};
    char yes[3] = {'Y','e','s'};
    char yes2[3] = {'Y','E','S'};
    char yes3[3] = {'y','e','s'};
    char yes4[1] = {'Y'};
    char yes5[1] = {'y'};
    while(boolean[0] == 'T'){
        cout << "What is your name? ";
        cin >> info.name;
        cout << endl;
        cout << "Is your name " << info.name << "?"<<endl;  //accepted input will be Y,y,YES,Yes,yes
        cin >> YesNo;
    //if input does not equal any of the accepted inputs, then loop until it does
        if((strcmp(YesNo,yes) == 0) || (strcmp(YesNo,yes2) == 0) || (strcmp(YesNo,yes3) == 0) || (YesNo[0] == yes4[0]) || (YesNo[0] == yes5[0])){
        boolean[0] = 'F';
        }
    }
    return 0;
}

我的问题:我应该如何解决范围问题,以便可以调用“ gettingName”函数,让人员输入其姓名,(正确输入(已经正确)),然后可以访问并打印该名称了。主要功能?

安德鲁·L

您的代码有很多问题,但是我会尽力提供最大的帮助。通常,局部变量的C ++范围是在块级别。因此,每当您看到结束括号}时,作用域便已经结束。

我注意到您的代码有一些特定的问题:

  • 这行应该是:“ cout <<”您好,我的名字是:“ << info.name << endl;”,而不是name.info

  • 布尔循环可以更有效地处理。您应该尝试在一个数据结构(如数组)中列出所有可接受的选项,然后遍历该数组。

  • 最后,当创建不需要返回任何内容的函数时,可以使用void类型代替char类型。因此它可能是无效的getingName(),而不是char getingName()。

为了向您展示一种快速简便的方法来执行我认为想要的操作,我将代码简化了一些。我还决定使用std :: string而不是char数组,因为它们更易于使用:

class Student{
public:
    std::string name;
};

std::string gettingName();

int main()
{
  Student Info;
  Info.name = gettingName();
  cout << "Hi my name is: " << Info.name << endl;
  return 0;
}

std::string gettingName()
{
  std::string name;
  cout << "What is your name? ";
  cin >> name;
  cout << endl;
  return name;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

想知道 C# 中 POCO 和 DTO 的区别

来自分类Dev

想知道它们是如何工作的(C语言中的交换函数和排序函数)

来自分类Dev

我想知道Linux中“查找。-name'* .c'-or -name'* .cpp'”的确切命令

来自分类Dev

我想知道如何使用 NSIS 从 C++ 可执行文件中调用函数

来自分类Dev

C#想知道是否有任何枚举类型仅在限制范围内重复其值

来自分类Dev

我想知道日期和月份

来自分类Dev

想知道JFrames(BorderLayout)中的差异

来自分类Dev

我想知道如何在asp.net C#中向动态文本框添加位置!

来自分类Dev

试图绕过OOP,想知道我的功能是否正确完成

来自分类Dev

我想知道以下代码的功能是什么

来自分类Dev

我想知道命令模式和复合模式之间的关系

来自分类Dev

想知道Java中的ActiveX控件替代方法

来自分类Dev

在Android注释中,我想知道@background何时完成

来自分类Dev

想知道如何在Django中设计架构

来自分类Dev

我想知道如何在Form Post中更改页面

来自分类Dev

想知道Java中的ActiveX控件替代方法

来自分类Dev

我想知道如何在PHP中显示当前时间

来自分类Dev

我想知道这是否可能在python中

来自分类Dev

想知道我的代码中 NumberFormat Exception 背后的原因

来自分类Dev

sp包中的R,想知道fullgrid对象的index的含义

来自分类Dev

我想知道如何对函数中的字母进行排序

来自分类Dev

我想知道如何删除类中的值

来自分类Dev

我的简单C ++程序计算总工资总额,我想知道一种更好,更有效的方法

来自分类Dev

在“for 循环和范围”中,虽然范围相同,但两个结果不同。想知道为什么

来自分类Dev

想知道缓冲区的长度C ++

来自分类Dev

具有文件范围的C结构

来自分类Dev

函数和结构在C ++中具有相同的名称

来自分类Dev

我想知道我的联想笔记本电脑是否具有Sandy或Ivy Bridge

来自分类Dev

我想知道,哪一组特定的列具有 Null 值

Related 相关文章

  1. 1

    想知道 C# 中 POCO 和 DTO 的区别

  2. 2

    想知道它们是如何工作的(C语言中的交换函数和排序函数)

  3. 3

    我想知道Linux中“查找。-name'* .c'-or -name'* .cpp'”的确切命令

  4. 4

    我想知道如何使用 NSIS 从 C++ 可执行文件中调用函数

  5. 5

    C#想知道是否有任何枚举类型仅在限制范围内重复其值

  6. 6

    我想知道日期和月份

  7. 7

    想知道JFrames(BorderLayout)中的差异

  8. 8

    我想知道如何在asp.net C#中向动态文本框添加位置!

  9. 9

    试图绕过OOP,想知道我的功能是否正确完成

  10. 10

    我想知道以下代码的功能是什么

  11. 11

    我想知道命令模式和复合模式之间的关系

  12. 12

    想知道Java中的ActiveX控件替代方法

  13. 13

    在Android注释中,我想知道@background何时完成

  14. 14

    想知道如何在Django中设计架构

  15. 15

    我想知道如何在Form Post中更改页面

  16. 16

    想知道Java中的ActiveX控件替代方法

  17. 17

    我想知道如何在PHP中显示当前时间

  18. 18

    我想知道这是否可能在python中

  19. 19

    想知道我的代码中 NumberFormat Exception 背后的原因

  20. 20

    sp包中的R,想知道fullgrid对象的index的含义

  21. 21

    我想知道如何对函数中的字母进行排序

  22. 22

    我想知道如何删除类中的值

  23. 23

    我的简单C ++程序计算总工资总额,我想知道一种更好,更有效的方法

  24. 24

    在“for 循环和范围”中,虽然范围相同,但两个结果不同。想知道为什么

  25. 25

    想知道缓冲区的长度C ++

  26. 26

    具有文件范围的C结构

  27. 27

    函数和结构在C ++中具有相同的名称

  28. 28

    我想知道我的联想笔记本电脑是否具有Sandy或Ivy Bridge

  29. 29

    我想知道,哪一组特定的列具有 Null 值

热门标签

归档