`

getchar(),gets()

    博客分类:
  • C++
阅读更多

最重要的区别是gets读一行,getchar()()读一个字符。

先看原型:
char() * gets(char() * ptr);
int getchar(void);

作用是:

gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写入的数组大小。

getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    system("color f5");
    printf("     *\n    **\n     ***\n");
    system("pause");
    return 0;
}

 

#include<iostream>
#include<math.h>
using namespace std;

class Shape
{
public:
    virtual double Area() const = 0;
    virtual double Perim() const = 0;
    virtual void Show()
	{
		cout << "Area is:" << Area() << endl;
        cout << "Perim is:" << Perim() << endl;
	}
};

class Rectangle:public Shape
{
private:
    double Length;
    double Width;
public:
    Rectangle(double Length = 0,double Width = 0)
    {
        this->Length = Length;
        this->Width = Width;
    }

    ~Rectangle()
    {

    }
    double Area() const
    {
        return Length*Width;
    }

    double Perim() const
    {
        return 2*(Length+Width);
    }

    /*void Show( )
    {
        cout << "Area is:" << Area() << endl;
        cout << "Perim is:" << Perim() << endl;
    }*/
};

const double PI = 3.14159;
class Circle:public Shape
{
private:
    double Radius;
public:
    Circle(double Radius = 0)
    {
        this->Radius = Radius;
    }

    ~Circle()
    {

    }
    double Area()const
    {
        return PI*Radius*Radius;
    }

    double Perim() const
    {
        return 2*PI*Radius;
    }

    /*void show()
    {
        cout << "Area is:" << Area() << endl;
        cout << "Perim is:" << Perim() << endl;
    }*/
};

class Triangle:public Shape
{
private:
    double A,B,C;
public:
    Triangle(double A = 0,double B = 0,double C = 0)
    {
        this->A = A;
        this->B = B;
        this->C = C;
    }

    ~Triangle()
    {

    }

    double Area() const
    {
        double P;
        P = (A +B + C)/2;
        return sqrt(P*(P-A)*(P-B)*(P-C));
    }

    double Perim() const
    {
        return(A+B+C);
    }

    /*void show()
    {
        cout << "Area is:" << Area() << endl;
        cout << "Perim is:" << Perim() << endl;
    }*/

};

void main()
{
    double Length,Width,Radius,A,B,C;
    cout << "Rectangle :" << endl;
loopa:
    cout << "请输入矩形的长河宽(Length,Width):" << endl;
    cin >> Length >> Width;
    if(Length <= 0||Width <= 0)
    {
        cout << "输入的长度不能构成一个矩形!请重新输入!" <<endl;
        goto loopa;
    }
    else
    {
        Rectangle Rect(Length,Width);
        Rect.Show();
        cout << "Circle: "<<endl;
    }

loopb:
    cout << "请输入圆形的半径(Radius): " << endl;
    cin >> Radius;
    if(Radius <= 0)
    {
        cout << "输入的半径不能构成一个圆!请重新输入!" << endl;
        goto loopb;

    }
    else
    {
        Circle Cir(Radius);
        Cir.Show();
        cout << "Triangle:" << endl;
    }

loopc:
    cout << "请输入三角形的三边(A,B,C): "<< endl;
    cin >> A >> B >> C;
    if(A <= 0||B <= 0||C <= 0 ||(A+B) <= C || (A + C) <= B||(B + C) <= A)
    {
        cout << "输入的三边值不能构成一个三角形!请重新输入!" << endl;
        goto loopc;
    }
    else
    {
        Triangle Tri(A,B,C);
        Tri.Show();
    }
}

 

分享到:
评论

相关推荐

    C语言中getchar和gets区别

    ### C语言中getchar和gets的区别 在C语言编程中,`getchar()`与`gets()`是两个常用函数,它们分别用于从标准输入流(通常是键盘)读取单个字符和整个字符串。虽然这两个函数都能从键盘接收输入,但它们的工作方式、...

    C++深入了解scanf()getchar()和gets()等函数

    C++深入了解scanf()getchar()和gets()等函数 在C++编程中,scanf()、getchar()和gets()等函数都是标准输入函数,用于从键盘或输入流中读取数据。但是,这些函数的使用却存在一些隐患和陷阱,导致程序的执行结果与...

    scanf(), getchar(), 以及gets()函数注意点

    scanf(), getchar(), 以及gets()函数注意点 scanf(), getchar(), 和gets()函数都是标准输入函数,它们在C语言中使用非常频繁,但是在实际应用中却常常因为使用不当而导致问题。下面我们将深入剖析scanf()、getchar...

    C语言中getchar, gets, 和 scanf 三种不同函数的区别

    在C语言中,getchar、gets和scanf是三个常见的输入函数,它们各自有着特定的用途和特点。在理解和使用这些函数时,理解它们之间的差异至关重要,以确保代码的安全性和效率。 首先,`getchar()` 函数是用于读取单个...

    cin.get()、cin.getline()、getline()、gets()、getchar()

    cin.get()、cin.getline()、getline()、gets()和getchar()是用于从标准输入流(通常是键盘)读取数据的函数,它们各有优缺点。 1. cin.get()函数: cin.get()通常用于读取单个字符或字符数组。当读取字符数组时,它...

    GetChar缓存机制深入剖析

    与缓存区相关最常见的操作就是字符的输入与输出操作getchar,getc,getch,getche,gets系列函数。 第一个例子(与getchar有关): 代码如下:#include int main() { int ch; ch=getchar(); ch=getchar(); printf(“%...

    C语言程序设计中键盘输入数据的方法研究.pdf

    C语言程序设计中,技术人员可以使用scanf()、getchar()和gets()函数来获取键盘输入数据。scanf()函数可以获取键盘输入,并将获得的数据存放入指定的空间中。getchar()函数主要用于读取键盘输入的一个字符,而gets()...

    c语言输入的各种注意问题

    常见的输入函数有getchar、scanf、gets、getche、getch等,每个函数都有其特点和用法。下面将详细介绍这些函数的特点和区别。 getchar函数是stdio.h库函数,它的作用是从stdin流中读取一个字符。它等待输入直到按...

    C语言程序设计中键盘输入数据的方法分析.pdf

    本文将探讨C语言中常用的几种键盘输入数据的方法,包括scanf、getchar和gets等函数的使用、对比以及各自的注意事项,旨在帮助读者正确地使用这些函数进行数据输入。 1. scanf函数:scanf函数是C语言中最常用的格式...

    在输入输出字符串时scanf(),printf()和gets(),puts()的区别浅谈

    在C语言中,输入输出字符串时,我们经常使用`scanf()`、`printf()`、`gets()`和`puts()`这四个函数。它们各自有着特定的用途和特性,理解它们的区别对于编写有效的C语言程序至关重要。 首先,`scanf()`和`gets()`...

    C语言-输入输出函数笔记

    在本笔记中,我们将介绍C语言中常用的输入输出函数,包括getchar、putchar、scanf、printf、gets和puts等。 getchar函数 getchar函数的原型为`int getchar(void)”,其功能是从键盘读取一个字符,并返回读取的字符...

    第8章 指针-3字符数组和字符指针 - 字符串的输入和输出1

    - 使用`gets(str)`后,`getchar()`会等待用户输入新的字符,因为回车已经被`gets`处理掉。 理解这些差异对于编写处理字符串的C程序至关重要,特别是在涉及用户交互和输入验证时。指针在此处的作用主要是允许我们以...

    基于C++ cin、cin.get()、cin.getline()、getline()、gets()函数的使用详解

    今天,我们将详细介绍 cin、cin.get()、cin.getline()、getline() 和 gets() 函数的使用。 1. cin 函数 cin 是 C++ 中最基本的输入函数,它可以用来输入各种类型的数据,包括整数、浮点数、字符、字符串等。使用 ...

    C语言中的输入语句.pdf

    本文档主要介绍了C语言中的输入函数,包括getchar()、gets()和scanf(),以及如何使用这些函数来接收用户输入的数据。 首先,输入输出操作需要通过C标准库中的函数来完成,因此在源文件中必须包含"stdio.h"头文件。...

    C语言期中考试试卷.pdf

    4. 输入函数:本题考查了C语言中的输入函数,包括scanf、getchar、gets等。 知识点:输入函数、scanf、getchar、gets 5. 赋值运算符:本题考查了赋值运算符的使用,包括简单赋值、加法赋值、乘法赋值等。 知识点...

    C语言与程序设计ppt-第3章1

    然而,`gets`函数由于安全性问题,现在已经不推荐使用,因为它无法处理超过缓冲区长度的输入,可能导致缓冲区溢出。 **3.3 格式化输入与输出** 1. **格式化输出函数printf** - `printf`函数可以按照指定的格式...

    统计从键盘所输入字符的中英文字母的个数.zip

    在C#编程语言中,统计从键盘输入的中英文字符个数是一项常见的任务,它可以用于各种文本处理和分析的应用。这个项目教程中的内容主要涉及字符编码、字符串操作以及输入输出流等方面的知识点。 ...

    chp3 linux.rar

    `getchar`没有参数,当用户输入一个字符并按下回车后,`getchar`会返回该字符的ASCII码值。如果发生错误,它同样会返回EOF。 格式化输入函数`scanf`与`printf`对应,但它是用于从标准输入读取数据。其原型为: ```c...

    poj 2643解题报告

    getchar(); memset( a , 0 , sizeof(a) ); for( i = 1 ; i ; i++ ){ gets( s1 ); gets( s2 ); index[ s1 ] = i; name[ i ] = s2; } scanf("%d",&m); getchar(); for( i = 0 ; i ; i++ ...

    换位.CPP 加密算法

    oid jiami(); //加密函数 void jiemi(); //解密函数 //加密函数 ...getchar(ch); gets(in); ///不足5位补齐5位 a=strlen(in)/6; for(l=strlen(in);l(a+1)*6;l++) { in[l]=' '; } /////加密过程

Global site tag (gtag.js) - Google Analytics