gpt4 book ai didi

c - 对齐结构数组以制作表格

转载 作者:行者123 更新时间:2023-11-30 14:50:37 24 4
gpt4 key购买 nike

我需要使用结构数组创建一个表,但我遇到了一个问题,除了使用 windows.h 库中的 Gotoxy 之外,我没有找到其他解决方案。这是我编写的代码,但列中的文本和数字与第一行中的字段不对齐:

#include <stdio.h>
#include <stdlib.h>
struct student
{
int broj_indeksa ;
int godina_upisa ;
char ime_studenta [20] ;
char prezime_studenta [30] ;
float prosecna_ocena_I ;
float prosecna_ocena_II ;
float prosecna_ocena_III ;

} ISPIT [5000] ;

int main()
{
struct student ISPIT[5000] ;
int n, i, j ;
printf("Uneti broj studenata :");
scanf("%d", &n) ;
printf("\n");

for( i= 0 ; i < n ; i++)
{
printf("Uneti podatke za studenta broj %d\n \n" , i+1) ;
printf("Broj indeksa : \n") ;
scanf("%d", &ISPIT[ i ].broj_indeksa) ;
printf("Godina upisa : \n") ;
scanf("%d" , &ISPIT[ i ].godina_upisa) ;
printf("Ime : \n") ;
scanf("%s", &ISPIT[ i ].ime_studenta) ;
printf("Prezime : \n") ;
scanf("%s" , &ISPIT[ i ].prezime_studenta );
printf("Prosecna ocena u prvoj godini : \n") ;
scanf("%f" , &ISPIT[ i ].prosecna_ocena_I );
printf("Prosecna ocena u drugoj godini : \n") ;
scanf("%f" , &ISPIT[ i ].prosecna_ocena_II );
printf("Prosecna ocena u trecoj godini : \n") ;
scanf("%f" , &ISPIT[ i ].prosecna_ocena_III );
system("cls");
}
printf ("Broj indeksa Godina upisa Ime Prezime Prosek I Prosek II Prosek III"); // HOW CAN I ALIGN THIS FOR LOOP BELOW ?
printf("\n\n");

for(i=0;i<n;i++)
{
printf("%d ",ISPIT [ i ].broj_indeksa );
printf("%d ",ISPIT [ i ].godina_upisa );
printf("%s ",ISPIT [ i ].ime_studenta );
printf("%s ",ISPIT [ i ].prezime_studenta );
printf("%.1f ",ISPIT [ i ].prosecna_ocena_I );
printf("%.1f ",ISPIT [ i ].prosecna_ocena_II );
printf("%.1f ",ISPIT [ i ].prosecna_ocena_III );
printf("\n");
}
return 0;
}

我的问题是:如何在不使用除标准库之外的任何库的情况下获得表结构数组?

最佳答案

您可以使用带有左对齐标志 (-) 的 printf。

 printf("%-25s%-20s%-15s%-15s%-15s%-15s%-15s\n", "Broj Indeksa", "Godina Upisa", "Ime", "Prezime", "Ocena1", "Ocena2", "Ocena3");
for(i=0;i<n;i++)
{
printf("%-25d%-20d%-15s%-15s%-15.2f%-15.2f%-15.2f\n", ISPIT [ i ].broj_indeksa,
ISPIT [ i ].godina_upisa,
ISPIT [ i ].ime_studenta,
ISPIT [ i ].prezime_studenta,
ISPIT [ i ].prosecna_ocena_I,
ISPIT [ i ].prosecna_ocena_II,
ISPIT [ i ].prosecna_ocena_III);
}

关于c - 对齐结构数组以制作表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com