当用户输入某个句子时,使程序结束

时间:2013-11-23 14:34:43

标签: c

任何人都知道如何在用户输入句子“这就是结束”后停止我的程序? 我的代码是这样的: 也忽略任何外来词:)

#include <stdio.h>
#include <string.h>

void main ()
{
    char sent[100];
    int i,len;
    do {
    printf("Dose mia protasi :\n");/*Edo to programa zitaei tin protasi*/
    gets(sent);
    len=strlen(sent);
    printf("*");


    for(i=0;i<len;i++)/*edo ginete i proti epanalipsi gia na ektiponei tous asteriskous*/
        {
            printf("**");
        }
        printf("\n*");

    for(i=0;i<len;i++)/* edo stin for  bazeis afto p lei sent[i]=sent[i]-32; kai pernei apo ton pinaka ascii anti gia mikira mono kefalea*/
    {

        if (sent[i]>='a' && sent[i]<='z'){
{
    sent[i]=sent[i]-32;// Edo pernei ta mikra gramata kai ta kanei kefalea
}
           printf("%c*",sent[i]);/*edo ektiponei tous xaraktires me asteriskous meta ton kathe xaraktira*/
        }
        else if(sent[i]>='1' && sent[i]<='9')
                printf("H protasi dn einai apodekti xanaprospathise");
    }

    printf("\n*");
    for(i=0;i<len;i++)
        {
            printf("**");
        }printf("\n");
}while();/*<<<<-------NEED TO FIX THIS that when user inputs the sentence this is the end the program stops */

    }

代码在C上。 谢谢

1 个答案:

答案 0 :(得分:0)

这是一段可以解决问题的代码:

char sentence[100];
fgets(sentence , sizeof sentence , stdin);
if(!strcmp(sentence , "this is the end?"))
     exit(0);

修改:

fgets之后,您必须从sentence移除换行符才能使其在此处运行,这是一个执行此操作的功能:

int i = 0;
   for(i = strlen(sentence) ; i > 0 ; i--)
       if(sentence[i] == '\n')
           sentence[i] = '\0';

不要忘记包含string.h