Ein Teil einer Zuweisung, die fällig ist. Die Zuweisungsstatus -Ein Programm, das die Anzahl der Sterne ausgibt, die der Benutzer unter Verwendung einer Funktion eingibt und den Wert an die Funktion weitergibt
Schreiben Sie ein Programm, das 5 Balkendiagramme mit Sternchen druckt. Eine Funktion, die die Länge (Anzahl der Sterne) akzeptiert, sollte erstellt und dann 5 verschiedene Male aufgerufen werden, um die Graphen zu drucken. Verwenden Sie die Eingabeüberprüfung, um sicherzustellen, dass ein Benutzer eine positive Zahl eingibt, die kleiner oder gleich 50 ist. Erstellen Sie eine Funktion, die einen Ganzzahlwert akzeptiert, der die Anzahl der zu druckenden Sternchen angibt. Nur 1 Wert sollte an die Funktion übergeben werden. Verwenden Sie eine for-Schleife innerhalb der Funktion, um die Anzahl der Sternchen zu drucken, die der an die Funktion übergebenen Zahl entspricht.
Ich habe das bisher, aber ich kämpfe ziemlich schlecht, wenn es um Funktionen geht. Ich bin unsicher, was mein nächster Schritt wäre und wie ich die Anzahl der vom Benutzer eingegebenen Sternchen drucken könnte.
Vielen Dank für Ihre Hilfe. Ich bin nur ein Student!
#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");
}
Müssen die "Balkendiagramme" nebeneinander oder unmittelbar nach jeder Eingabe gedruckt werden? Hast du Arrays gelernt? – DigitalNinja
So weit, so gut: aber Sie müssen die Funktion 5 mal aufrufen, einmal für jeden der 5 Werte, die Sie eingegeben haben, wie zum Beispiel 'graph (chart1);' und so weiter. Ändern Sie die Funktion (und ihren Prototyp) in einen "void" -Typ, ohne dass ein Wert zurückgegeben werden muss. Für den Anfang drucke einfach aus, wieviele Sterne, wie 'void graph (int numberOfAsterisks) {printf ("% d \ n ", numberOfAsterisks);}'. Dann tun Sie, was sie sagen, und machen Sie eine Schleife innerhalb der Funktion, um diese Anzahl von Sternchen (und eine "Newline") zu drucken. –
Ich habe das Programm funktioniert ohne eine Funktion jetzt ist es nur eine Frage der Umwandlung, was ich habe, um ein Programm mit einer Funktion. – MissAnnThropic