You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

scanf_s完全失效,C++代码编写遇诸多困惑求助

scanf_s完全失效,C++代码编写遇诸多困惑求助

各位前辈好,我刚接触C++,之前用标准C的时候还挺顺手,但现在写这段代码遇到一堆问题,心态有点崩了...

编辑补充:说实话我真不想写完这段代码了,好多地方都搞不懂。感谢所有试图帮我修正这堆烂代码的人!我已经把代码更新到最新版本了,是用Visual Studio编译的。

下面是我目前的代码:

#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
using namespace std; // wtf

static void copyright()
{
    system("cls");
    string version;
    ifstream file("Version.txt");
    while (getline(file, version)) {
        printf("FormNet %s %c STTV Studios 2024\n", version.c_str(), 184);
    }
    file.close();
}
static void fpause(bool silent = true, string message = "default")
{
    if (silent == true) {
        system("pause >nul");
    }
    else {
        printf(message.c_str() + '\n');
        system("pause >nul");
    }
    return;
}
static int checkeo()
{
    char inp;
    cin >> inp;
    char inp2 = tolower(inp);
    if (inp2 == 's') {
        fpause(false, "Es bueno saberlo");
        return 1;
    }
    else if (inp2 == 'n') {
        copyright();
        fpause(false, "Esta bien, ponga la informacion de nuevo\n");
        return 0;
    }
    else {
        return 2;
    }
}

static void creacion() {
    printf("Primero, elija un titulo\n");
    string titulo;
    cin >> titulo;
    copyright();
    printf("Ahora escriba su nombre!\n");
    string autor;
    cin >> autor;
    copyright();
    printf("Ahora escriba el precio!\n");
    float precio;
    cin >> precio;
    copyright();
    printf("Procesando...\n");
    printf("Ya tenemos la informacion de su libro\n");
    printf("Esta informacion es correcta? [S, N]\n\n");
    printf("Titulo del libro: %s\n", titulo.c_str());
    printf("Autor del libro: %s\n", autor.c_str());
    printf("Precio del libro: %c%.2f\n", 36, precio);
    int res1 = checkeo();
    if (res1 == 1) {
        return;
    }
    else if (res1 == 0) {
        creacion();
    }
    else {
        copyright();
        fpause(false, "Error inesperado!");
        creacion();
    }
}

int main()
{
    copyright();
    fpause(false, "Hola!");
    fpause(false, "Vamos a crear un libro!");
    creacion();
    fpause(false, "Gracias por llenar el formulario!");
    return 0;
}

我现在真的有点懵,之前用C的时候没这么多麻烦事,估计得等我系统学完C++之后,才有可能把这段代码完成了...

备注:内容来源于stack exchange,提问作者STGamer24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:34:35