toupper tolower กับอาเรย์2มิติ

กระทู้คำถาม
ต้องการแปลงค่า"name1"ให้เป็นตัวอักษรขนาดใหญ่ทั้งหมดจะแปลงยังไงดีคะ? เท่าที่หามาเจอแต่การแปลงแบบ1มิติ

ตัวเทกซ์ไฟลล์
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

ตัวโปรแกรม
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

อันนี้คือโค้ดที่ลองพิมพ์แต่รันไม่ผ่านค่ะ
# include <stdio.h>
# include <ctype.h>

void getdata(char name1[10][10],char name2[10][13],float num1[10],float num2[10],float num3[10],int *c)
{
    FILE *Op;
    Op=fopen("D:/data.dat","r");
    while (!feof(Op))
    {
        fscanf(Op,"%s %s %f %f %f",&name1[*c], &name2[*c], &num1[*c], &num2[*c], &num3[*c]);
        *c+=1;
    }
    
    fclose(Op);
}

void main()
{
    char name1[10][10],name2[10][13];
    char a;
    float num1[10],num2[10],num3[10];
    int j=0,i,c=0,max1=-999,maxa=num1[0],maxb=num2[0],maxc=num3[0];
    float tot,avg,max2=-999;
    
    getdata(name1,name2,num1,num2,num3,&c);
    
    printf("Name       LastName      Number1 Number2 Number3 Total  Average\n");
    
    for(i=0;i<c;i++)
    {
        tot=num1+num2+num3;
        avg=tot/3;
        
        while (name1[j]<1)
        {
            a=name1[j];
            putchar (toupper(a));
            j++;
        }
        
        printf("%c \n",a);
        
        printf("%-10s %-12s  %4.0f %7.0f %7.0f %7.0f %9.2f\n",name1,name2,num1,num2,num3,tot,avg);
        
        if(tot>max1)
            max1=tot;
            
        if(avg>max2)
            max2=avg;
        
        if(num1>maxa)
            maxa=num1;
            
        if(num2>maxb)
            maxb=num2;
            
        if(num3>maxc)
            maxc=num3;
    }
        
    printf("Max Value d %7d %7d %7d %9.2f",maxa,maxb,maxc,max1,max2);
    
}
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่