2016-11-19 9 views
-1

大文字で入力を行い、yを入力する入力があったかどうかをユーザーに尋ねます。そうでない場合は、nと入力します。大文字をcで小文字に変換する関数を使用する方法(またはscanfで両方を受け入れる方法)

今、私はこの問題に直面します。

は、ガイドとして次のプロトタイプを使用して関数を書く: int型CaseCheck(char型A、char型のB)

•機能CaseCheck」と呼ばれなければなりません'

•関数は2つの文字パラメータを受け入れる必要があります

•関数は両方の場合に1を返します文字はアルファベットの 文字であり、無視されるケースは同じです。

•関数は、他のすべての条件で0を返します。

•有効なASCII文字( )を入力する必要があります。あなたの主な機能には

は、あなたが入力するようにユーザに要求し、あなたの以前のコード 変更する必要があります「をY」または「n」(この機能を使用して が暗黙的にも「Y」を受け入れ、TO「N」として有効回答)。ここで

コードです:

int main() 
{ 
    int maxAssignments = 0; 
    float MarksAwarded[100]; 
    float MarksAvailable[100]; 
    char grade; 
    char finish = 'n'; 

    //enter in the marks 
    do 
    { 
     printf("Enter the marks awarded:"); 
     scanf("%f", &MarksAwarded[maxAssignments]); 
     printf("Enter the marks available:"); 
     scanf("%f", &MarksAvailable[maxAssignments]); 

     printf("If you have finished, type y. \n"); 
     scanf(" %c", &finish); 

     maxAssignments++; 
    } while (finish != 'y'); 

    printf("Calculating your grade...\n"); 

    //do the calulation. 
    grade = GradeFromTotalRawMarks(MarksAwarded, MarksAvailable, maxAssignments); 

    printf("The grade is %c\n", grade); 
    return 0; 
} 

私は、他の機能は、このタスクのための表示に必要なとは思いませんが、あなたがそれらをしたい場合、私は投稿を編集します。

+0

ASCIIテーブル(http://www.asciitable.com/)と少しの数があなたに届くはずです。 –

+0

マイケル・アルバースは精緻化していますか? –

+1

あなたのコードは割り当てと関係がないようです。 – Schwern

答えて

0

両方の文字がアルファベット文字の場合は1を返し、大文字と小文字は区別されません。

ctype.h (ie. "character type") contains many functions for identifying and manipulating charactersisalphatoupperで機能を実行できます。

最初のものは、aまたはbが手紙でない場合の保釈です。 isalphaでそれを行うことができます。

#include <ctype.h> 

int CaseCheck(char a, char b) { 
    if(!isalpha(a) || !isalpha(b)) { 
     return 0; 
    } 

ここで文字がわかっているので、それらを比較する必要があります。これを行うための基本的な方法は、両方を同じケースに正規化することです。上段か下段かは関係ありません。私はtolowerを使用します。

if(tolower(a) == tolower(b)) { 
     return 1; 
    } 

これらのどれも動作しない場合はfalseを返します。

return 0; 
+0

stdio.hを手伝ってもらえますか、それとも元に戻すことができますか? –

+0

@ 13。37f申し訳ありませんが、私はあなたが何を求めているのか分かりません。 – Schwern

+0

マイナー: 'isalpha()'テストが1つだけ必要です。 – chux

関連する問題