2017-02-05 6 views
1

私はループ中に使用するのがとても新しくて、ここにこだわっています。誰かが私にこれを助けたり、正しい方向に私を指揮することができるだろうか?それは私が作成しようとしている大きなプログラムの一部です。助けてくれてありがとう!私はここで何が間違っていますか? whileループと文字の問題

「q」が入力されるまで、引き続き質問します。

コード:

#include <stdio.h> 
int main(void) 
{ 
    int height, feet, inches; 
    char name[30]; 
    while (name!='q') 
    { 
     printf("Enter height and first name: "); 
     scanf("%d %s", &height, &name); 
     inches = height%12; 
     feet = height/12; 
     printf("%s's height is %d feet and %d inches.\n", name, feet, inches); 
    } 
    return 0; 
} 

私は、ループを終了する入力した場合、プログラムは狂っや無限ループの最初の行の印刷を開始気づきました。

+0

ループはまったく必要ありません。 – Dai

+0

高さと名前を要求し、高さと名前が必要ですが、名前の高さを入力しました。また、Daiが言ったように、whileループは必要ありません。 – Jerinaw

+0

ここにループは必要ありません。ループを行う必要は全くありませんが、インチをフィートとインチに変換するのは2行のコードです。 –

答えて

1

は、それがうまく動作するでしょうwhile(name[0]!='q')

while (name!='q')を交換してください。

+0

何らかの理由で、文字変数を定義するときに実際に括弧で囲まれた部分に何が入っているのか混乱しています。私が周りの数字を変更すると、それは私に違いをもたらすようには見えません。例えば、私は "char c [5]"を使ってcを定義した後、scanfを使ってcの文字列を入力すると、5文字だけを5文字に制限します。しかし、それはそうではないようです。あるいは、恐らく私はひどく間違っている。いずれにせよ、私は逃げる。私はプログラムを理解し、それを稼働させました。ご協力いただきありがとうございます! –

+0

さて、あなたは大歓迎です。私の提案が助けになったら、それをアップアップするのに十分親切にしてください。 – Pbd

2
while (name!='q'); 

あなたはたとえばwhile (strcmp(name, "q"))ため、strcmpを使用する必要があるC.で、このような文字列を比較することはできません。

あなたはどの書籍を読んでいますか?これはしばしば早期にまともな本で強調されます。

+0

すべてのあなたの助けてくれてありがとう!あなたと皆に!私はそれがあなたの役に立つヒントの後ではなく、昨夜正しく実行している。 –

+0

私たちのすべてが教育とプログラミングの分野で評判が良いわけではないので、オンラインの人々のヒントに頼ることはできません。 – Sebivor

+0

誰かがそうであるかどうかにかかわらず、何も助けがないものがあります。私はC言語やその他の言語でのプログラミングに精通して、最終的に常に他の質問に答えるのではなく、他の質問に答えることができると評判になりたいと思っています。 –

関連する問題