gets() 和 put() 未在 dev C++ 范围内声明

2024-04-28

这是我的书店的简单代码 代码没有任何问题。我正在使用 DevC++ 运行代码,编译后给出一个错误,指出“gets”未在此范围内声明,并且 put 也出现相同的错误。请帮我。

#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<iomanip>
#include<cstring>

using namespace std;

class Book
{
    char *title,*author,*publisher,ans;
    int price,quant,quant_ent;

    public:
            Book()
            {
        title = new char[50];
        author = new char[50];
        publisher = new char[50];
        price = quant = quant_ent = 0;
            }

        void getdata()
        {
            cout<<"\nEnter The Title";
            gets(title);
            cout<<"\nEnter The Author";
            gets(author);
            cout<<"\nEnter The Publisher";
            gets(publisher);
            cout<<"\nEnter The Price";
            cin>>price;
            cout<<"\nEnter The Quantity";
            cin>>quant;
        }

    void display()
    {
        cout<<setw(15)<<title<<setw(15)<<author<<setw(15)<<publisher<<setw(10)<<quant
            <<setw(10)<<price;
    }

    void search(char search_title[],char search_author[])
    {
        if(strcmpi(author,search_author)==0)
        {
            if(strcmpi(title,search_title)==0)
            {
                cout<<"\nBook Found!";
                cout<<"\nEnter The Quantity: ";
                cin>>quant_ent;
                if(quant_ent <= quant)
                {
                    cout<<"\nThe Title is: ";
                    puts(title);
                    cout<<"\nThe Author is: ";
                    puts(author);
                    cout<<"\nThe Publisher is: ";
                    puts(publisher);
                    cout<<"\nPrice Of Single Copy: "<<price;
                    cout<<"\nTotal Price = "<<price*quant_ent;
                    quant = quant - quant_ent;
                }

                else
                {
                    cout<<"\nSufficient Quantity Not Available!";
                }
            }
        }
    }
};


int main()
{
Book obj[10];
int i=0,ch;

char author[50],title[50];

for(;;)
{
    cout<<"\n*******MENU********\n1)Enter Details\n2)Buy Book\n3)Display All Books\n4)Exit";
    cin>>ch;

    switch(ch)
    {
        case 1:
            obj[i].getdata();
            i++;
            break;

        case 2:
            cout<<"\nEnter The Authors Name: ";
            gets(author);
            cout<<"\nEnter The Title: ";
            gets(title);
            for(int j=0;j<i;j++)
            {
                obj[j].search(title,author);
            }

            break;

        case 3:
            cout<<setw(15)<<"TITLE"<<setw(15)<<"AUTHOR"<<setw(15)<<"PUBLISHER"<<setw(15)<<"QUANTITY"<<setw(15)<<"PRICE";
            cout<<"\n"<<setw(75)<<"-----------------------------------------------------------------------------------------------------";
            for(int j=0;j<i;j++)
            {
                cout<<"\n";
                obj[j].display();
            }

        case 4:
            exit(1);
    };
}
}

因为它是在stdio.h (cstdio在 C++ 中)标头,但您尚未包含它。

But 你不应该使用gets. https://stackoverflow.com/questions/1694036/why-is-the-gets-function-dangerous-why-should-it-not-be-used这是一个无可救药的坏函数。使用fgets反而。更好的是,放弃指向 char 数组的裸指针并使用std::string类代替。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gets() 和 put() 未在 dev C++ 范围内声明 的相关文章

随机推荐

  • Google Apps onEdit 事件 - event.source 未定义

    Google 文档允许编写脚本 当单元格内容与特定单词匹配时 我试图更改单元格的颜色 我的问题是 onEdit 函数没有按照此处指定的方式工作 https developers google com apps script guide ev
  • 未找到神奇函数“bash”

    我有一堆模拟想要在高性能集群上运行 我应该在这些集群上进行预留以获得计算时间 由于预订是有时间限制的 我正在开发一个自动化脚本 我可以scp进入集群并运行 然后 该脚本将下载相关的模拟文件 运行它们 并上传结果 该自动化脚本的一部分位于ba
  • 转义 C++ 字符串

    将 C std string 转换为另一个 std string 的最简单方法是什么 它转义了所有不可打印的字符 例如 对于两个字符的字符串 0x61 0x01 结果字符串可能是 a x01 或 a 01 看看Boost的字符串算法库 ht
  • 在 getElementsByClassName 的数组上使用 forEach 会导致“TypeError: undefined is not a function”

    In 我的 JSFiddle http jsfiddle net jer2 zcrh9 3 我只是想迭代一个元素数组 正如日志语句所证明的那样 该数组非空 然而 呼叫forEach给了我 不太有帮助 未捕获TypeError undefin
  • Emacs lisp:将字符翻译为标准 ASCII 转录

    我正在尝试编写一个函数 将包含 unicode 字符的字符串转换为某种默认的 ASCII 转录 理想情况下 我想要例如 ngstr m成为Angstroem或者 如果不可能的话 Angstrom 同样地 应该成为a x c 或类似的 Ema
  • 如何使用我自己的声明文件解决“无法找到模块的声明文件”错误?

    我有一个测试项目 正在其中测试类型定义文件 该项目有一个文件名为index ts看起来像这样 import i18nFu require gettext js The 获取文本 js包是使用 Node js 安装的 如下所示 npm ins
  • iOS 7 中的后台任务间隔时间

    我在 appdidEnterBackground 中有以下代码 我看到在 IOS 6 中我看到后台时间段约为 10 分钟 而 IOS 7 中的相同代码打印 2 分钟 这是代码 void applicationDidEnterBackgrou
  • 当有太多需要滚动的项目时,Windows 窗体列表框会溢出

    我正在构建一个基于后缀树的索引器应用程序 它使我能够非常快地索引整个文档并搜索字符串 子字符串等 我正在做的是在文本框中输入一个字符串 按下按钮 然后运行一个函数来查询后缀树并将所有出现的字符串的位置添加到列表框中 所以列表框里面有很多整数
  • 用于从 PHP 更新实时
  • 的 jQuery 插件
  • 有没有任何 jQuery 插件可以创建类似实时 feed 的东西推特主页 http www twitter com 使用 PHP 它从 MySQL 数据库获取数据 PHP 文件必须如何 Thanks 您确实不需要为此使用插件 您可以使用 j
  • MS Access 2007 中 NVL 功能的替代方法是什么

    我在 MS Access 中编写了一个 SQL 查询 select NVL count re rule status 0 from validation result re validation rules ru where re cycl
  • 实体框架 LINQ To Entities 生成奇怪的慢速 SQLWhere 子句

    我需要理解这一点 EF5 0 和 EF6 在 TSQL 代码生成方面存在很大差异 在我的代码中 这是我的 LINQ 语句 var qry2 context viw overview 1 Where i gt i article EAN17
  • 设置div内的div滚动,而父级不滚动

    我有一个容器 div 其中包含许多子 div 我的容器中的 div 之一包含评论 我不想将整个 div 设置为滚动 而是希望所有内容都保持在原位 只留下评论 div 滚动 我尝试将父级溢出设置为隐藏 将注释 div 设置为滚动 滚动条实际上
  • 为什么旋转图像时会出现黑色边框? PHP GD

    此代码使用 GD 生成两张图像并旋转其中一张 当我旋转图像时 黑色边框开始出现 有人知道如何解决这个问题吗
  • 如何更改传单弹出窗口的背景颜色?

    我正在使用 Leafletjs 创建地图 我想将弹出窗口 当前显示图像和链接 的背景颜色从白色更改为其他颜色 看起来基本的背景颜色 CSS 语法并不能解决这个问题 有什么建议吗 谢谢 斯科特 调用 leaflet css 后 您可以包含
  • std::array<> 的初始化

    考虑以下代码 include
  • ssh:无法确定主机“主机名”的真实性

    当我 ssh 到一台机器时 有时我会收到此错误警告 并提示说 是 或 否 当从自动 ssh 到其他机器的脚本运行时 这会导致一些问题 警告信息 The authenticity of host
  • 如何根据 MuMIn model.avg() 摘要进行绘图

    有没有一种方法可以直接绘制 MuMIn model avg 对于具有置信带的不同变量的模型平均摘要输出 以前我一直使用 ggplot 和 ggpredict 来绘制实际模型中的项 但我一直无法找到一种方法来绘制平均模型的结果 显然 我可以手
  • iPhone:如何删除/清除蓝牙 4.0 数据

    我有一些大麻烦 https stackoverflow com questions 11557500 corebluetooth central manager callback diddiscoverperipheral twice co
  • 发生错误时如何停止powershell脚本?

    我有一个 主 powershell 脚本 它执行多个在虚拟机上安装应用程序的脚本 我正在尝试在主脚本上实现错误控制 意思是 如果安装应用程序的脚本之一失败 则不会执行其余脚本 这是我的主要脚本 try powershell exe Exec
  • gets() 和 put() 未在 dev C++ 范围内声明

    这是我的书店的简单代码 代码没有任何问题 我正在使用 DevC 运行代码 编译后给出一个错误 指出 gets 未在此范围内声明 并且 put 也出现相同的错误 请帮我 include