我正在尝试用一些选项来编程一个5x5矩阵。这就是我需要做的:(它是德语,我希望它不是问题:p(
Schreiben Sie在C程序中,作为5*5矩阵的voller+erstellt和diese ausgibt。Anschließend soll dem Anwender einMenüangeboten werden。Die Matrix sieht so aus:
选项:
(1( Fülle alle Felder mit 0
(2( Fülle die beiden Diagonalen mit 0
(3( Fülle ein-speczielles Feld mit 0(斯派尔特,蔡尔(
(4( 刷新:Fülle alle Felder wieder mit+
(5( Bildschirm 矩阵的Ausgabe
(6( 程序结束
到目前为止,我已经得到了这个:
#include <stdio.h>
void menue(){
printf("nOptionen:nn");
printf("(1)tFuelle alle Felder mit 0n");
printf("(2)tFuelle die beiden Diagonalen mit 0n");
printf("(3)tFuelle ein spezielles Feld mit 0n");
printf("(4)tRefresh: Fuelle alle Felder wieder mit +n");
printf("(5)tAusgabe der Matrix auf dem Bildschirmn");
printf("(6)tEnde des Programmsn");
}
int main () {
const int zeilenanzahl = 5;
const int spaltenanzahl = 5;
char matrix [zeilenanzahl][spaltenanzahl];
int zeile;
int spalte;
int eingabe;
printf("So sieht die Matrix aus: nn");
for (zeile = 0; zeile < zeilenanzahl; zeile++) {
for (spalte = 0; spalte < 5; spalte++){
matrix [zeilenanzahl][spaltenanzahl] = '+';
printf("%c ", matrix [zeilenanzahl][spaltenanzahl]);
}
printf("n");
}
menue();
do (printf ("Eingabe: "), scanf ("%i",&eingabe));
while (7 > eingabe > 0);
printf ("ungueltige Eingabe!");
if (eingabe == 1)
printf ("testest");
return 0;
}
我的问题是,我需要使用do while循环吗?还是开关箱?如有任何提示或帮助,我们将不胜感激。
欢呼。
如果我正确理解你的问题,你需要处理这7个选项并相应地打印它们。
do (printf ("Eingabe: "), scanf ("%i",&eingabe));
while (7 > eingabe > 0);
在这里,您将在do-wile循环中获取输入。因此,您需要在循环本身内部处理选项。我想要一个开关。。案例你也可以使用if.else-if-
在这里,我修改了您的代码以处理输入(1(。
do {
printf ("Eingabe: ");
scanf ("%i",&eingabe);
switch(eingabe)
{
case 1:
Fillwithzero(matrix);
break;
//other cases go here
}
}
while (7 > eingabe > 0);
我建议在单独的功能中进行处理。此外,为了方便起见,最好有一个print_matrix()
函数。
注意:我使用谷歌翻译来翻译你的选项。当你寻求帮助时,我建议你用英语询问。