int main() { Student stu[10000]; int i; for(i=0;i<10000;i++) { stu[i].num=0; } int type; do { readdate(stu); printf("\n请输入序号选择相应功能\n"); printf("******** 1.显示基本信息 ********\n"); printf("******** 2.基本信息管理 ********\n"); printf("******** 3.学生成绩管理 ********\n"); printf("******** 4.考试成绩统计 ********\n"); printf("******** 5.根据条件查询 ********\n"); printf("******** 0.退出 ********\n"); scanf("%d",&type); switch(type) { case 0:printf("");break; case 1:printbase(stu);break; case 2:managebase(stu);break; case 3:managescore(stu);break; case 4:rankscore(stu);break; case 5:checkbase(stu);break; default:printf("没有该选项,请重输");break; } }while(type!=0); return 0; }
int _printf(char *fmt, va_list args) { ULONG x; char c, *s; int n = 0; int fieldlen; unsigned long mask; char padchar; while (c = *fmt++) { if (c != '%') { putchar(c); n++; continue; } mask = 0xffffffff; if ((c = *fmt++) == '\0') goto out; if (c == '.') // Ignore the numeric grouping flag if ((c = *fmt++) == '\0') goto out; padchar = ' '; if (c == '0') { padchar = c; if ((c = *fmt++) == '\0') goto out; } fieldlen = 0; while (c >= '0' && c <= '9') { fieldlen = (fieldlen * 10) + (c - '0'); if ((c = *fmt++) == '\0') goto out; } if (c == 'l') { // Ignore "long" modifier if ((c = *fmt++) == '\0') goto out; } while (c == 'h') { // Mask for short modifier if (mask = 0xffff) mask = 0xff; else mask = 0xffff; if ((c = *fmt++) == '\0') goto out; } switch (c) { case 'x': x = va_arg(args, ULONG) & mask; n += printbase(x, 16, fieldlen, padchar, 0); break; case 'X': x = va_arg(args, ULONG) & mask; n += printbase(x, 16, fieldlen, padchar, 1); break; case 'o': x = va_arg(args, ULONG) & mask; n += printbase(x, 8, fieldlen, padchar, 0); break; case 'd': x = va_arg(args, ULONG) & mask; n += printbase(x, 10, fieldlen, padchar, 0); break; case 'c': c = va_arg(args, int); putchar(c); n++; break; case 's': s = va_arg(args, char *); while (*s) { putchar(*s++); n++; } break; default: putchar(c); n++; break; } } out: return(n); }