看板 ESOE-90 關於我們 聯絡資訊
#include<stdio.h> #define NAME_LEN 80 #define MAX_UNITS 5 typedef struct { char name[NAME_LEN]; int calculus; int computer; int total; int num; } student_t; student_t students[MAX_UNITS]; int index(); int fun_1(); int fun_2(); int fun_3(); int sort(); int main() { index(); return 0; } int sort() { int sort[MAX_UNITS] = {0,0}; int num=0; int i,j; while(students[num].calculus != 0) { students[num].total = students[num].calculus + students[num].computer; num++; } for(i=0;i<num;i++) for(j=1;j<=num;j++) if(students[j].total > students[i].total) sort[j]++; num = 0; while(students[num].calculus != 0) { students[num].num = sort[num]; num++; } return 0; } int index() { int choies; printf("\n請輸入你要的選項\n1)輸入成績\n2)成績查尋\n3)成績列表\n4)結束程式\n"); scanf("%d",&choies); switch(choies) { case 1:fun_1();break; case 2:fun_2();break; case 3:fun_3();break; case 4:return 0;break; } return 0; } int fun_1() { int num=0; int choies = 2; while(students[num].calculus != 0) num++; printf("\n請輸入學生的名字:"); scanf("%s",students[num].name); printf("\n請輸入%s的微積分成績:",students[num].name); scanf("%d",&students[num].calculus); printf("\n請輸入%s的計算機概論成績:",students[num].name); scanf("%d",&students[num].computer); printf("\n1)回到主選單\n2)我還要輸入:"); scanf("%d",&choies); (choies-1)?fun_1():index(); return 0; } int fun_2() { int choies = 2; sort(); int num = 0; int total = 0; while(students[total].calculus != 0) total++; printf("\n請輸入妳要查尋的學生學號:"); scanf("%d",&num); num--; printf("學號 名字 微績分 計程 總分 名次\n"); printf("%d %s %d %d %d %d\n", num + 1, students[num].name, students[num].calculus, students[num].computer, students[num].total, total - students[num].num); printf("\n1)回到主選單\n2)我還要輸入:"); scanf("%d",&choies); (choies-1)?fun_2():index(); return 0; } int fun_3() { sort(); int total = 0; int num = 0; while(students[total].calculus != 0) total++; printf("學號 名字 微績分 計程 總分 名次\n"); while(students[num].calculus != 0) { printf("%d %s %d %d %d %d\n", num + 1, students[num].name, students[num].calculus, students[num].computer, students[num].total, total - students[num].num); num++; } index(); return 0; } -- 這個世界的成分 不是原子 而是故事 因為原子的本身 也是故事 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.182.7