割り当ての一部です。割り当て状況 -ユーザーが関数を使用して値を関数に渡し、アスタリスクの数を出力するプログラム
5つの棒グラフをアスタリスクで印刷するプログラムを作成します。グラフを印刷するには、長さ(アスタリスクの数)を受け入れる関数を作成し、次に5回呼び出す必要があります。入力の検証を使用して、ユーザーが50以下の正の数を入力していることを確認します。印刷するアスタリスクの量を表す整数値を受け入れる関数を作成します。関数には1つの値しか渡されません。関数内のforループを使用して、関数に渡された数値に対応するアスタリスクの数を出力してください。
これまではこれがありましたが、機能に関してはかなり苦労しています。私は次のステップが何であるか、そしてユーザーが入力したアスタリスクの数をどのように印刷するのかは不明です。
ありがとうございました。私は単なる学生です!
#include <stdio.h>
//function prototype
void graph(int numberOfAsterisks);
int main(void){
// declare variables for length of each chart
int chart1;
int chart2;
int chart3;
int chart4;
int chart5;
// declare loop variable
int i;
// prompt the user and get lengths of each graph do/while to repeat if invalid
do {
printf("How long is chart 1? ");
scanf("%d", &chart1);
} while (chart1 >= 50);
do {
printf("How long is chart 2? ");
scanf("%d", &chart2);
} while (chart2 >= 50);
do {
printf("How long is chart 3? ");
scanf("%d", &chart3);
} while (chart3 >= 50);
do {
printf("How long is chart 4? ");
scanf("%d", &chart4);
} while (chart4 >= 50);
do {
printf("How long is chart 5? ");
scanf("%d", &chart5);
} while (chart5 >= 50);
//blank space
printf("\n");
// display numbers of asterisks
printf("1. %d| ", chart1);
for(i=0; i< chart1; i++)
{
printf("*");
}
printf("\n");
printf("1. %d| ", chart2);
for(i=0; i< chart2; i++)
{
printf("*");
}
printf("\n");
printf("1. %d| ", chart3);
for(i=0; i< chart3; i++)
{
printf("*");
}
printf("\n");
printf("1. %d| ", chart4);
for(i=0; i< chart4; i++)
{
printf("*");
}
printf("\n");
printf("1. %d| ", chart5);
for(i=0; i< chart5; i++)
{
printf("*");
}
printf("\n");
}
「棒グラフ」を隣り合わせに印刷するか、各入力直後に印刷する必要がありますか?配列を学んだことはありますか? – DigitalNinja
これまでのところ良いことですが、 'graph(chart1);などの5つの値のそれぞれに対して5回、関数を5回呼び出す必要があります。関数(とそのプロトタイプ)を 'void '型に変更し、値を返す必要はありません。初心者のために 'void graph(int numberOfAsterisks){printf("%d \ n "、numberOfAsterisks);}'のようなアスタリスクをいくつでも出力するだけです。次に、彼らが言うようにして、その数のアスタリスク(と改行)を印刷するために関数の中でループを作ります。 –
私は、関数を使用せずにプログラムを動作させましたが、関数を使ってプログラムに変換しただけです。 – MissAnnThropic