gpt4 book ai didi

c - 允许用户使用 C 在命令提示符中键入多行

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:51 24 4
gpt4 key购买 nike

我不太了解 C。因此,我的问题和想法可能具有误导性、荒谬性或令人尴尬。请原谅我..

问题指出程序应该从命令提示符处获取用户输入。输入文本将包含数字、字母和空格字符。他们也会有多行..

示例程序使用<stdio.h>因此 printfscanf .

使用 cincout教科书上是不鼓励的。为了使用cincout , 我需要 <iostream>但我不能include <iostream> .即使我可以包括 <iostream> , 但我不能 include <stdio.h>不再。

我也不能使用 string .我听说过 C不允许使用 string ,但我真的不明白为什么。


我的问题是;当您要求用户输入带有 printf("Enter your text: "); 的内容时, 他们只能输入一行.. 一旦他们点击 Enter ,程序接收它。

有没有办法使用scanf允许用户输入多行输入 Shift+Enter例如。

作为string不可用,我应该使用 char类似 char inputText[999] 的数组?这会给我足够的空间吗?

我的两个问题是;如何让用户在命令提示符中输入多行,我应该使用什么数据类型来保存输入的文本?

我用谷歌搜索了一下,但他们混合了 C++ 和 C..

再次感谢大家,如果我的问题对您来说是浪费时间,我深表歉意。

大家好,我已经完成了..但我还有一个问题..

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

int nc=0,nw=0,bs=0,c, nq=0, nl=0;
int main()
{
printf("Text Analysis Program\n\n");
printf("Enter your text:");
while((c=getchar())!=EOF)
{
if( (c>='A' && c<='Z') || (c>='a' && c<='z') )
{
nc++;
}
else if( c>='0' && c<='9' )
{
nq++;
}
else if (c==' ')
{
nw++;
bs++;
}
else if (c=='\n')
{
nw++;
nl++;
}
}
printf("Number of characters: %d;\n",nc);
printf("Number of words: %d;\n",nw);
printf("Number of numerical quantities: %d;\n",nq);
printf("Number of blank spaces: %d;\n",bs);
printf("Number of lines entered: %d;\n",nl);
exit(0);
}

最后,在显示答案后,cmd屏幕立即关闭。我删除了exit(0)它仍然是一样的。是否有任何命令卡住屏幕并出现Press any key to continue

最佳答案

这些:

#include <iostream>
#include <string>
cin
cout

是特定于 C++ 的。它们在 C 中根本不存在。请记住,C 和 C++ 是两种不同的语言。

当程序终止时您的窗口正在关闭这一事实是您所使用的开发系统的一个功能。如果您从命令提示符运行该程序,则不会发生这种情况——或者您的 IDE 中可能有一个选项告诉它保持窗口打开,直到您明确关闭它。但如果您不想那样做,J.F. Sebastian 的解决方案是一个很好的解决方案。

另一个提示:看看 isalpha()isdigit()<ctype.h> 中发挥作用.

关于c - 允许用户使用 C 在命令提示符中键入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7410271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com