2017-01-12 20 views
1

我有這樣的HW用C,我需要做的,有人問我複製一個表,該表將與用戶給定值創建:如何用用戶給出的值(使用scanf)創建表?

它應該是這樣的:

----------------------------------------------------- 
Name    Prenume  Grupe Data nasterii 
----------------------------------------------------- 
Marinescu  Alexandru  1234  10.10.2000 
Georgescu  Eduard  4321  11.11.1990 
Constantinescu Ion-Catalin 4424  5.11.1995 

我開始用這個,而是因爲我們的PROFF沒有真正引導我們一個方法來創建一個表,我真的不知道該怎麼繼續。如果你能提供幫助,我將非常感激,因爲我也會啓發我的一些同學。 (也,尋找解決的辦法網頁被證明是無用的)

我開始用這樣的:

#include <stdio.h> 

using namespace std; 

int main()  
{ 
    char nume[20], prenume[20], data[20]; 
    int grupa; 

    printf("Introdu datele studentului nr 1:"); 

    printf("\nNume:"); 
    scanf("%s", &nume); 

    printf("\nPrenume:"); 
    scanf("%s", &prenume); 

    printf("\nGrupa:"); 
    scanf("%d", &grupa); 

    printf("\nData nasterii:"); 
    scanf("%s", &data); 

    printf("\nIntrodu datele studentului nr 2:"); 

    printf("\nNume:"); 
    scanf("%s", &nume); 

    printf("\nPrenume:"); 
    scanf("%s", &prenume); 

    printf("\nGrupa:"); 
    scanf("%d", &grupa); 

    printf("\nData nasterii:"); 
    scanf("%s", &data); 

    printf("\nIntrodu datele studentului nr 3:"); 

    printf("\nNume:"); 
    scanf("%s", &nume); 

    printf("\nPrenume:"); 
    scanf("%s", &prenume); 

    printf("\nGrupa:"); 
    scanf("%d", &grupa); 

    printf("\nData nasterii:"); 
    scanf("%s", &data); 

} 
+2

1)'using namespace std;'不是C. 2)在這裏將相關數據作爲文本發佈而不是鏈接到圖片。否則這個不清楚。 – chux

+0

@chux我已經在鏈接中的圖片中輸入了數據,並在其中添加了一條編輯建議。 –

+0

我的不好,我應該指定我們正在使用這兩個C/C++。另外,感謝您的編輯,@Ludvig, –

回答

0

要打印的表格,我建議使用cout.width函數來設置列寬。還使用leftright來設置對齊。

不要使用製表符爲列,如標籤的解釋並不一致(例如,某些選項卡的範圍從2至8個空格;或者是任何一個被設置可移動到下一個製表位)。

例子:

#include <iostream> 
#include <cstdlib> 
#include <iomanip> 

int main() 
{ 
    std::cout.width(16); 
    std::cout << "Hello" 
      << "There" 
      << "It's" 
      << "Raining\n"; 
    return EXIT_SUCCESS; 
} 

如果必須使用C風格的I/O,您可以使用格式說明佈局文本:

printf("%20s %16s %-20s %-32s\n", 
     "Hello", "There", "It's", "Raining"); 

至於打印 「欄」有很多方法可以做到這一點,我將其作爲OP的練習。