回覆列表
  • 1 # 愛逗的小夥伴

    #include "stdio.h"

    #include "string.h"

    #include "windows.h"

    #include "conio.h"

    void input();

    void menu();

    struct student

    {

    int code;

    char name[20];

    char sex;

    int age;

    int chinese;

    int english;

    int computer;

    int math;

    int total;

    int average;

    }stud[100];

    struct student temp;

    void input()

    {

    int num,i;

    printf("請問您要輸入幾個學生的資訊?\n");

    scanf("%d",&num);

    for(i=0;i<num;i++)

    {

    printf("請輸入第%d個學生的學號:\n",i+1);

    scanf("%d",&stud[i].code);

    printf("請輸入第%d個學生的姓名:\n",i+1);

    scanf("%s",&stud[i].name);

    fflush(stdin);

    printf("請輸入第%d個學生的性別(F為女,M為男):\n",i+1);

    scanf("%c",&stud[i].sex);

    fflush(stdin);

    printf("請輸入第%d個學生的年齡:\n",i+1);

    scanf("%d",&stud[i].age);

    printf("請輸入第%d個學生的語文成績:\n",i+1);

    scanf("%d",&stud[i].chinese);

    printf("請輸入第%d個學生的英語成績:\n",i+1);

    scanf("%d",&stud[i].english);

    printf("請輸入第%d個學生的計算機成績:\n",i+1);

    scanf("%d",&stud[i].computer);

    printf("請輸入第%d個學生的數學成績:\n",i+1);

    scanf("%d",&stud[i].math);

    stud[i].total = stud[i].chinese+stud[i].english+stud[i].computer+stud[i].math;

    stud[i].average = stud[i].total/4;

    }

    printf("您已經輸入了%d個學生的資訊",num);

    printf("\n請按任意鍵返回主選單!");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void find()

    {

    int choice,i,code;

    char name[20];

    printf("請問您需要按照哪一個方式來查詢學員:\n");

    printf("查詢方式:1.按學號查詢。2.按姓名查詢。\n");

    scanf("%d",&choice);

    if(choice==1)

    {

    printf("請輸入您要查詢的同學的學號:\n");

    scanf("%d",&code);

    for(i=0;i<100;i++)

    {

    if(code == stud[i].code)

    {

    printf("\n第%d個學生的學號是:%d\n",i+1,stud[i].code);

    printf("第%d個學生的姓名是:%s\n",i+1,stud[i].name);

    printf("第%d個學生的性別是:%c\n",i+1,stud[i].sex);

    printf("第%d個學生的年齡是:%d\n",i+1,stud[i].age);

    printf("第%d個學生的語文成績是:%d\n",i+1,stud[i].chinese);

    printf("第%d個學生的英語成績是:%d\n",i+1,stud[i].english);

    printf("第%d個學生的計算機成績是:%d\n",i+1,stud[i].computer);

    printf("第%d個學生的數學成績是:%d\n",i+1,stud[i].math);

    printf("第%d個學生的總成績是:%d\n",i+1,stud[i].total);

    printf("第%d個學生的平均分是:%d\n",i+1,stud[i].average);

    printf("══════════════════════════════\n");

    }

    }

    }

    else if(choice==2)

    {

    printf("請輸入您要查詢的學生的姓名");

    fflush(stdin);

    gets(name);

    for(i=0;i<100;i++)

    {

    if(strcmp(name,stud[i].name)==0)

    {

    printf("\n第%d個學生的學號是:%d\n",i+1,stud[i].code);

    printf("第%d個學生的姓名是:%s\n",i+1,stud[i].name);

    printf("第%d個學生的性別是:%c\n",i+1,stud[i].sex);

    printf("第%d個學生的年齡是:%d\n",i+1,stud[i].age);

    printf("第%d個學生的語文成績是:%d\n",i+1,stud[i].chinese);

    printf("第%d個學生的英語成績是:%d\n",i+1,stud[i].english);

    printf("第%d個學生的計算機成績是:%d\n",i+1,stud[i].computer);

    printf("第%d個學生的數學成績是:%d\n",i+1,stud[i].math);

    printf("第%d個學生的總成績是:%d\n",i+1,stud[i].total);

    printf("第%d個學生的平均分是:%d\n",i+1,stud[i].average);

    printf("══════════════════════════════\n");

    }

    }

    }

    else

    {

    printf("請輸入1或者2,只能按照姓名或者學號來查詢學生資訊");

    fflush(stdin);

    getch();

    system("cls");

    find();

    }

    printf("學生相關資訊列印完畢");

    printf("\n請按任意鍵返回主選單!");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void insert()

    {

    int i,j=0;

    system("cls");

    printf("請輸入要插入學生的資訊:\n");

    printf("請輸入學生的學號:\n");

    scanf("%d",&temp.code);

    printf("請輸入學生的姓名:\n");

    scanf("%s",&temp.name);

    fflush(stdin);

    printf("請輸入學生的性別(F為女,M為男):\n");

    scanf("%c",&temp.sex);

    fflush(stdin);

    printf("請輸入學生的年齡:\n");

    scanf("%d",&temp.age);

    printf("請輸入學生的語文成績:\n");

    scanf("%d",&temp.chinese);

    printf("請輸入學生的英語成績:\n");

    scanf("%d",&temp.english);

    printf("請輸入學生的計算機成績:\n");

    scanf("%d",&temp.computer);

    printf("請輸入學生的數學成績:\n");

    scanf("%d",&temp.math);

    temp.total = temp.chinese+temp.english+temp.computer+temp.math;

    temp.average = temp.total/4;

    for(i=0;i<100;i++)

    {

    if(temp.code<stud[i].code)

    {

    for(j=99;j>i;j--)

    {

    stud[j]=stud[j-1];

    }

    }

    stud[j]=temp;

    break;

    }

    printf("你成功已插入了學生的資訊!");

    printf("\n請按任意鍵返回主選單!");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void del()

    {

    int code,i,j;

    scanf("%d",&code);

    for(i=0;i<100;i++)

    {

    if(code==stud[i].code)

    {

    for(j=i;j<100;j++)

    {

    stud[j]=stud[j+1];

    }

    }

    if(strlen(stud[i].name)>0)

    {

    printf("\n第%d個學生的學號是:%d\n",i+1,stud[i].code);

    printf("第%d個學生的姓名是:%s\n",i+1,stud[i].name);

    printf("第%d個學生的性別是:%c\n",i+1,stud[i].sex);

    printf("第%d個學生的年齡是:%d\n",i+1,stud[i].age);

    printf("第%d個學生的語文成績是:%d\n",i+1,stud[i].chinese);

    printf("第%d個學生的英語成績是:%d\n",i+1,stud[i].english);

    printf("第%d個學生的計算機成績是:%d\n",i+1,stud[i].computer);

    printf("第%d個學生的數學成績是:%d\n",i+1,stud[i].math);

    printf("第%d個學生的總成績是:%d\n",i+1,stud[i].total);

    printf("第%d個學生的平均分是:%d\n",i+1,stud[i].average);

    printf("══════════════════════════════\n");

    }

    }

    printf("學生相關資訊列印完畢");

    printf("\n請按任意鍵返回主選單!");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void output()

    {

    int i;

    for(i=0;i<100;i++)

    {

    if(strlen(stud[i].name)>0)

    {

    printf("\n第%d個學生的學號是:%d\n",i+1,stud[i].code);

    printf("第%d個學生的姓名是:%s\n",i+1,stud[i].name);

    printf("第%d個學生的性別是:%c\n",i+1,stud[i].sex);

    printf("第%d個學生的年齡是:%d\n",i+1,stud[i].age);

    printf("第%d個學生的語文成績是:%d\n",i+1,stud[i].chinese);

    printf("第%d個學生的英語成績是:%d\n",i+1,stud[i].english);

    printf("第%d個學生的計算機成績是:%d\n",i+1,stud[i].computer);

    printf("第%d個學生的數學成績是:%d\n",i+1,stud[i].math);

    printf("第%d個學生的總成績是:%d\n",i+1,stud[i].total);

    printf("第%d個學生的平均分是:%d\n",i+1,stud[i].average);

    printf("══════════════════════════════\n");

    }

    }

    printf("學生相關資訊列印完畢");

    printf("\n請按任意鍵返回主選單!");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void sort()

    {

    int i,j;

    for(i=0;i<100;i++)

    {

    for(j=i+1;j<100;j++)

    {

    if(strlen(stud[i].name)>0 && strlen(stud[j].name)>0)

    {

    if(stud[i].average<stud[j].average)

    {

    temp=stud[i];

    stud[i]=stud[j];

    stud[j]=temp;

    }

    }

    }

    }

    printf("學生資訊按照平均分降序排序完畢\n");

    output();

    }

    void error()

    {

    printf("輸入錯誤,請輸入(1-7):\n");

    printf("按任意鍵結束。。。。。\n");

    fflush(stdin);

    getch();

    system("cls");

    menu();

    }

    void menu()

    {

    int choice;

    system("cls");

    printf("\t\t學生資訊管理系統\n");

    printf("*************************************************\n");

    printf("\t\t【1】輸入資料\n");

    printf("\t\t【2】查詢資料\n");

    printf("\t\t【3】插入資料\n");

    printf("\t\t【5】輸出資料\n");

    printf("\t\t【6】排序資料\n");

    printf("\t\t【7】退出\n");

    printf("*************************************************\n");

    printf("請輸入您的選擇(1-7)\n");

    scanf("%d",&choice);

    switch(choice)

    {

    case 1:input();break;

    case 2:find();break;

    case 3:insert();break;

    case 4:del();break;

    case 5:output();break;

    case 6:sort();break;

    case 7:exit(0);break;

    default:error();break;

    }

    }

    void main()

    {

    menu();

    }

  • 中秋節和大豐收的關聯?
  • 忘了曾經有多美是哪首歌?