学生信息管理系统

原创 2016年08月28日 14:19:16
#include <stdio.h>
#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");
       }
}

相关文章推荐

c语言学生信息管理系统(链表、文件)

这是本人历时两周的课程设计,名为学生信息管理系统课程设计(基于链表与文件的设计),(有的地方还可以加以修改含bug)希望对大家对链表与文件反面的知识有所帮助!...

数据结构第一次作业(学生信息管理系统-顺序表&&链表)

实验目的 : 1 、掌握线性表的定义; 2 、掌握线性表的基本操作,如建立、查找、插入和删除等。 实验内容: 定义一个包含学生信息(学号,姓名,成绩)的的 顺序表和链表,使其具有如下功能...

学生信息管理系统优化(一)

任何的系统在完成之前必须得优化,首先你的保证你做出来的软甲得没有正常的逻辑问题,还得提高用户体验,让别人用着比较舒服对吧!     下边我为大家分享一下我的优化心得! 1.登录界面     首先你的保...

【学生信息管理系统】总结一

首先说一下敲学生的一点点小感受:无论是敲学生还是调错亦或者是优化,都不要断断续续,要在一个集中的时间段里完成,这样不仅效率高而且能够及时发现问题。     接下来是我所遇到的一些问题,和大家一起分享,...

用单链表实现学生信息管理系统

最近,在准备找工作,看到了单链表这里,就自己试着用单链表编写了一个学生信息管理系统。自己水平不高,很简单的一个小系统,贴出来请大家帮我指出错误,请大家指教!谢谢! // 学生信息系统.cpp : De...

Qt之学生信息管理系统(version:1.0)

Qt练习1:学生信息管理说明:初学Qt,程序有很多不完善的地方,而且用的方法页是笨方法,刚完成,此为版本1,后续会添加其他功能。有问题的地方欢迎大家指正。下面是本设计的界面图片,很简单,但涉及到了数据...

C++实现学生信息管理系统

利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出,并能在屏幕上输出操作前后的结果。 1. 写出系统需求分析,并建模。...
  • CSDNzyq
  • CSDNzyq
  • 2016年01月19日 10:55
  • 2103

C语言学生信息管理系统 (单链表版)

//以单链表作为存储结构,设计和实现课程成绩管理的完整程序。程序包括如下功能。 //1.建立学生成绩表,包含学生的学号、姓名和成绩。 //2.可以显示所有学生成绩。 //3.可以计算学生的总数。 //...

C语言 学生信息管理系统

前文是楼主的一些经历,给大家分享一下,希望能够帮到大家。文中有不足的地方还请指出,我们一同探讨,或者可以直接看正文(恩~第一次在这儿发帖确实有点小激动O(∩_∩)O~)。 |前文| 我是一名职...

学生信息管理系统代码学习

前言:       学生信息管理项目也进行了很长一段时间了,期间也是磕磕绊绊的照着书上的实例进行学习,然后在再将书上的代码复制到电脑上进行实现,也进行了一些优化和升级使得程序更加的完美,当然因为作者能...
  • wjf1997
  • wjf1997
  • 2017年07月29日 15:26
  • 357
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学生信息管理系统
举报原因:
原因补充:

(最多只允许输入30个字)