學生信息管理系統

#include
#include <stdlib.h>
#include <string.h>
struct student
{
    char code[20];//學號
    char name[32];//姓名
    int age;//年齡
    char sex[3];//性別
    char time[100];//出生日期
    char add[32];//地址
    char phone[30];//電話
    char mail[30];//電子郵箱
}stu[50];
int k=1,n,m;
void read();//錄入
void display();//瀏覽
void seek();//查詢
void del();//刪除
void mod();//修改
void menu();//主界面
void save();
int main()
{
    system("color 1f");
    while(k)
    menu();
    system("pause");
    return 0;
}
void menu()//主界面
{
    int num;
    printf("------------------\n");
    printf("1.學生信息錄入\n");
    printf("2.學生信息瀏覽\n");
    printf("3.學生信息查詢\n");
    printf("4.學生信息刪除\n");
    printf("5.學生信息修改\n");
    printf("6.學生信息保存\n");
    printf("------------------\n");
    printf("請輸入指令\n");
    scanf("%d ",&num);
    switch(num)
    {
        case 1:read();break;
        case 2:display();break;
        case 3:seek();break;
        case 4:del();break;
        case 5:mod();break;
        case 6:save();break;
        default:printf("請在1~6中選擇\n");
    }
}
void read()//錄入
{
    char *p="student.txt";
    FILE *fp;
    int i=0;
    if((fp=fopen("student.txt","r"))==NULL)//打開只讀文件
    {
        printf("打開文件 %s 失敗 ",p);
        system("pause");
        exit(0);
    }
    while(fscanf(fp,"%s %s %d %s %s %s %s %s",
                 stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].phone,stu[i].mail)==8)
    {
        i++;
        i=i;
    }
    fclose(fp);
    n=i;
    printf("錄入完成\n");
}
void save()//保存函數
{
    int i;
    FILE *fp;
    fp=fopen("stduent.txt","w");//寫入
    for(i=0;i<n;i++)
    {
      fprintf(fp,"%s %s %d %s %s %s %s %s",
                 stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].phone,stu[i].mail);
    }
    fclose(fp);
}
void display()//瀏覽
{
    int i;
    printf("所有學生的信息爲:\n");
    printf("  學號    姓名    年齡    性別  出生日期    地址    電話    郵箱    \n");
    for(i=0;i<n;i++)
    {
        printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",
                 stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].phone,stu[i].mail);
    }
}
void seek()//查詢,按學號查詢
{
    printf("請輸入所要查詢的學生學號:\n");
    char s1[30];
    scanf("%s ",s1);
    int i;
    for(i=0;i<n;i++)
    {
        if(strcmp(stu[i].code,s1)==0)
        {
            printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",
                 stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].phone,stu[i].mail);
        }
        else
        {
            printf("該學號不存在\n");
        }
    }
}
void del()//刪除
{
    int x,j,f;
    f=0;
    char s2[30];
    printf("請輸入所要刪除的學生學號\n");
    scanf("%s ",s2);
    for(x=0;x<n;x++)
       if(strcmp(stu[x].code,s2)==0)
    {
        f=1;
        for(j=x;j<50-1;j++)
            stu[j]=stu[j+1];
    }
    if(f==0)
    {
        printf("該學號不存在\n");
    }
    if(f==1)
    {
        printf("刪除成功,謝謝使用\n");
    }
}
void mod()//修改
{
    int a,b,c;
    char sex1[3],s3[30],s4[30];
    printf("請輸入所要修改的學生學號\n");
    scanf("%s",s3);
    for(a=0;a<n;a++)
       if(strcmp(stu[a].code,s3)==0)
        c=a;
       printf("------------------------\n");
       printf("1.修改姓名\n");
       printf("2.修改年齡\n");
       printf("3.修改性別\n");
       printf("4.修改出生日期\n");
       printf("5.修改地址\n");
       printf("6.修改電話號碼\n");
       printf("7.修改E-mail地址\n");
       printf("------------------------\n");
       scanf("%d ",&b);
       if(b==1)
       {
           printf("請輸入新的姓名\n");
           scanf("%s ",s4);
           strcpy(stu[c].name,s4);
       }
       else if(b==2)
       {
          printf("請輸入新的年齡\n");
          scanf("%d ",&stu[c].age);
       }
       else if(b==3)
       {
           printf("請輸入新的性別\n");
           scanf("%s ",sex1);
           strcpy(stu[c].sex,sex1);
       }
       else if(b==4)
       {
           printf("請輸入新的出生日期\n");
           scanf("%s ",s4);
           strcpy(stu[c].time,s4);
       }
       else if(b==5)
       {
           printf("請輸入新的地址\n");
           scanf("%s ",s4);
           strcpy(stu[c].add,s4);
       }
       else if(b==6)
       {
           printf("請輸入新的電話號碼\n");
           scanf("%s ",s4);
           strcpy(stu[c].phone,s4);
       }
       else if(b==7)
       {
           printf("請輸入新的E-mail地址\n");
           scanf("%s ",s4);
           strcpy(stu[c].mail,s4);
       }
       else
       {
           printf("操作有誤,謝謝使用\n");
       }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章