我正在嘗試編寫一個程序,該程序使用多個字符構建「建築物」。 有3個功能:我如何在同一行上打印此文件
1. int ValidateData(int low, int high, char type)
此功能驗證該用戶的條目滿足所需的參數,並返回取決於type
參數正確的數字。
這裏沒問題。
int drawUpperFloors(int numOfWindows)
void DrawGroundFloor(int numOfWindows)
該功能除了第一窗口將與門來代替幾乎相同的功能
drawUpperFloors()
。 因此,如果numOfWindows參數爲2,則底層將包含1扇門和1個窗口的 。 如果窗口數量只有1個,那麼只會繪製一扇門。請注意以下詳細信息: a)。每個窗口(和門)正好是3列寬。 b)。地板的底部用*字符繪製。
有5個窗口,一樓的一個例子woulb是:
該函數應該取決於用戶如何許多窗口輸入繪製的樓層數。我的問題是,我似乎無法讓窗口畫在同一條線上。如果用戶輸入3的輸出應該是:(了一段時間來獲取右)
+---------------+ | | | === === === | | | | | | | | | | === === === | | |
相反,我得到一個新行窗口,直到環路達到其極限(numOfWindows
),所以如果numOfWindows
= 20然後我得到20個窗口在不同的線路上。我希望瞭解如何做到這一點。
+-----------------------+ | | | === === === === === | | | | | | | | | | | | | | | | === === === === | | | | | *************************
考慮到我已經無法做二次函數這並不令人吃驚。
我試過使用多達3個循環使用if
和else
,但我仍然不能,無論我嘗試什麼(甚至模數)讓它打印在同一行。 任何輸入將不勝感激。
編輯 這裏爲2個函數的代碼到目前爲止
int GetValidData(int low, int high, char type)
{
int number;
int number2;
int i=1;
int j;
if (type == 'F')
{
printf("Enter the amount of floors you would like(1-1000)\n");
scanf("%d", &number);
fflush(stdin);
if (number < 1 || number>1000)
{
while(i!=0)
{
printf("You have entered an invalid floor number\nPlease enter a valid number: ");
scanf("%d", &number);
fflush(stdin);
if (number >= 1 && number <= 1000)
{
printf("Thank you!\n");
i = 0;
}
}
}
return number;
}
printf("Enter the amount of windows you would like(1-20)\n");
scanf("%d", &number);
if (type == 'W')
{
if (number < 1 || number>20)
{
while(i!=0)
{
printf("You have entered an invalid number\nPlease enter a valid number: ");
scanf("%d", &number);
if (number >= 1 && number <= 20)
{
printf("Thank You!\n");
i = 0;
}
}
}
return number;
int drawUpperFloors(int numOfWindows)
{
int check = numOfWindows;
int i;
int j;
for (i = 0; i <= numOfWindows;i++)
{
printf("===\n");
for (j = 0; j <= numOfWindows;j++)
{
printf("| |\n");
}
printf("===");
}
}
請[編輯]你的問題標題的東西與意義。很明顯你在尋求幫助,或者你不會在這裏發帖,所以在你的頭銜中這樣說並不是必要的。您的標題應該以對未來讀者有意義的方式來描述您遇到的問題或您問的問題,這些讀者會在搜索結果中看到它。此外,尋求代碼幫助要求您以問題形式發佈相關代碼,形式爲[mcve]。添加,當你做標題編輯。 –
'fflush(stdin)'具有未定義的行爲。 – melpomene
你的代碼不能編譯。它缺少閉合的大括號。 – Schwern