Я действительно не знаю о C. Итак, мои вопросы и идеи могут быть вводящими в заблуждение или смешными или смущающими. Пожалуйста, прости меня ..
В вопросе говорится, что программа должна получить пользовательский ввод из командной строки. входной текст будет иметь цифры, алфавиты и пробелы. у них тоже будет несколько строк ..
В примере программы используется <stdio.h>
и, следовательно, printf
и scanf
.
Использование cin
и cout
не рекомендуется в соответствии с учебником. Чтобы использовать cin
и cout
, мне нужно <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