0

私はこれについて初心者です。このプログラムの作成を手伝ってくれる人はいますか? このプログラムの作り方がわかりません。プログラムの説明は以上です。

以下の機能を備えたプログラムを作成しました。

■機能

最初に参照文字列を入力します。

次に、それらが基準文字列に一致するかどうかを確認します

一致した場合の回数をカウントし、表示します

一致しない場合はエラーを表示します。

そして、文字列「end」を入力すると、プログラムが閉じられます。

■注意事項 ・最初に関数strlenを使用し、次に関数strcmpを使用してください。

■走行例(参考)

参照文字列を入力してください: call

終了する場合は [end] と入力してください。

電話

一致しました。一度

電話

一致しました。2回

cccccccccc

入力エラー

電話

一致しました。3回

終わり

出る

私は1つを作成しようとしましたが、このように作成しました

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

int main ()
{
    while(1000)
  {
  char call[]="call";
  char word[80];

     printf ("please type call: ");
     gets (word);

  if(strcmp(word,"call")==0)
  puts("matched!\n");
  else
  puts("error\n");
  }
  getch();
  return 0;
}
4

2 に答える 2

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

int main (void){
    char criteria[] = "call";
    char *mes[] = { "Many times", "Once", "Twice", "Three times" };
    char word[80];
    int match_count =0, not_end=1;

    do{
        printf(
            "Please type the reference string.\n"
            "Please type [end] when you are finished.\n"
            ">");
        fgets(word, sizeof(word), stdin);
        int len = strlen(word);
        if(word[len-1]=='\n')
            word[--len]='\0';
        if(strcmp(word, criteria)==0){
            if(++match_count > 3)
                printf("Matched. %s(%d)\n", *mes, match_count);
            else
                printf("Matched. %s\n", mes[match_count]);
        } else if(not_end=strcmp(word, "end"))
            printf("Input error\n");
    }while(not_end);
    printf("Bye!\n");
    return 0;
}
于 2013-07-05T10:06:39.330 に答える