将一个字母转换为其ascii十进制形式

时间:2012-09-06 02:11:37

标签: c++ type-conversion

我在基础编程课程中并且对编程几乎一无所知,我们正在使用c ++,而我当前的项目是拉起控制台并执行以下操作

  1. 输入一个字母并输出其ascii十进制等值
  2. 输入33到254之间的数字并输出其等效字母
  3. 输入小写字母并输出大写字母
  4. 输入若干小时并输出分钟数
  5. 输入大于60的数字并输出小时数和分钟数
  6. 这是我到目前为止的工作

    #include <iostream>
    
    using namespace std;
    
    void main ()  
    {  
        cout<<"Assignment 2"<<endl;
        char somechar;
        int charval;
        int input_number;
        char output_letter2;
        char input_lower_letter;
        char output_upper_letter;
        int input_hours;
        int output_minutes;
        int input_minutes2;
        int output_hours2;
        int output_remainder_minutes;
    
        cout<<"Enter a letter"<<endl;
        cin>>somechar>>endl;
        cout<< somechar='a';
        int charval = somechar;
        printf("%c = %d\n",somechar,charval);
    
        system("pause");
    }
    

    任何提示和帮助都深表赞赏

3 个答案:

答案 0 :(得分:5)

一个重要的教训(他们似乎从未在学校教过)是从一个非常简单的程序开始,让它完美运行,然后建立,每一步都进行测试。

您的代码无法编译。让我们剥离你的代码并从头开始:

void main()
{
}

这不编译。解决它:

int main()
{
  return(0);
}

现在添加一些输出:

#include <iostream>
using namespace std;

int main()
{
  cout << "Assignment 2" << endl;
  return(0);
}

到目前为止,这么好。现在输入:

#include <iostream>
using namespace std;

int main()
{
  cout << "Assignment 2" << endl;

  char somechar;
  cout << "Enter a letter" << endl;
  cin >> somechar >> endl;
  return(0);
}

这不编译。解决它。

等等。看看它是如何工作的?

答案 1 :(得分:0)

#include <iostream>
using namespace std;

int main() {

    char a ='a';
    cout << a << " => integer: " << (int)(a) << endl;

    int i = 98;
    cout << i << " => character: " << (char)(i) << endl;

    char b='b';
    cout << b <<" => lower: " << (char)(b+('a'-'A')) << endl;

    char c='c';
    cout << c << " => upper: " << (char)(c-('a'-'A')) << endl;

    int hours = 15;
    cout << hours << " hours => minutes: " << hours * 60 << endl;

    int minutes = 75;
    cout << minutes << " minutes => hours:minutes: " << minutes/60 << ":" << minutes % 60 << endl;

    system("PAUSE");

    return 0;
}

答案 2 :(得分:-1)

为此,您可以查看casting。要将字符(char)强制转换为整数ASCII值,您必须在int值上投射char。例如:

#include <iostream>

using namespace std;

int main() {
        char myvalue;
        cout<<"Enter a character: ";
        cin>>myvalue;
        cout<<endl<<"The ASCII value is: "<<(int)myvalue<<endl;
        return 0;
}

现在因为这是作业,我不会为你完成这些步骤,但是从这里开始应该是非常直接的。

有关casting的详情,我强烈建议:http://www.cplusplus.com/doc/tutorial/typecasting/