C语言实现简单学生学籍管理系统

本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define N 100 /*存储100个学生的学籍信息*/
int flag; /*标记是否登录*/
struct date /*出生日期*/
{
  int year;
  int month;
  int day;
};
struct student
{
  char num[20];/*学号*/
  char name[25];/*姓名*/
  char sex[10];/*性别*/
  struct date birthday;/*出生年月*/
  int age;/*年龄*/
  char addr[50];/*籍贯*/
  char dept[50]; /*系别*/
  char major[30]; /*专业*/
  char classs[30]; /*班级*/
  char phone[20];/*电话*/
}stu[N]; 

void login() /*登录*/
{
  void menu();
  system("cls");
  if(flag)
  {
    printf(" 已经登录!\n");
    printf("Press any key to continue…\n");
    getchar();
    getchar();
    system("cls");
    menu();
  }
  int load();
  int n,i,m,w;
  FILE *fp;
  if((fp=fopen("D:\\file.txt","rb"))!=NULL) /*不是空文件*/
   n=load(); /*打开文件*/
  else
   n=0;
  struct student s;
  char password[20];
  int d,q;
  printf("\n\t请选择登录身份:1.管理员   2.用户   [ ]\b\b");
  scanf("%d",&d);
  if(d==1)
  {
    printf("\n\t\t\t请输入密码:");
    getchar();
    int j=0;
    while(1)
    {
      password[j]=getch();
      if(password[j]=='\r')
       break;
      printf("*");
      j++;
    }
    password[j]='\0';
    if(!strcmp(password,"930322")) /*判断密码是否正确*/
    {
      flag=1;
      printf("\n\t登录成功!\n");
      printf("\tPress [ Enter ] key to continue…");
      getchar();
      system("cls");
      menu();
    }
    if(!flag)
    {
      printf("\t\n密码错误!\n");
      printf("What do you want to do next? 1.继续登录 2.返回菜单  [ ]\b\b");
      scanf("%d",&q);
      if(q==1) /*继续登录*/
      {
        system("cls");
        login();
      }
      else if(q==2) /*返回主菜单*/
      {
        system("cls");
        menu();
      }
    }
  }
  else
  {
    printf("\n\t\t\t用户名:");
    scanf("%s",s.name);
    printf("\t\t\t密码:");
    int j=0;
    while(1)
    {
      password[j]=getch();
      if(password[j]=='\r')
       break;
      printf("*");
      j++;
    }
    password[j]='\0';
    flag=0; /*未登录时flag=0*/
    for(i=0;i<n;i++)
     if(!strcmp(s.name,stu[i].name)&&!strcmp(s.name,password))
     {
      flag=1; /*登录成功flag=1*/
      break;
     }
   if(flag)
   {
     printf("\n\t登录成功!\n");
     printf("\tPress any key to continue…\n");
     getchar(); getchar();
     system("cls");
     menu(); /*登录成功后返回主菜单*/
   }
   else
   {
    m=0; /*设置m是为了避免陷入 登录失败时 跳不出登录界面*/
    w=1; /*设置w是为了避免输出多次 “用户不存在”*/
    int q; /*q为选项*/
    do
    {
      if(w>0)
        printf("用户名不存在或密码错误!\n"); /*第一次登录时输入不存在的用户时显示*/
      printf("What do you want to do next? 1.继续登录 2.返回菜单  [ ]\b\b");
      scanf("%d",&q);
      if(q==1) /*继续登录*/
      {
        login();
        m=1;
      }
      else if(q==2) /*返回主菜单*/
      {
        system("cls");
        menu();
        m=1;
      }
      else
      {
        printf("选择错误!请重新选择:\n");
        w=0;
      }
    }while(m==0);
   }
  }
} 

void printf_one(int k) /*输出一个学生的信息*/
{
  system("color 4e");
  printf("学号:%s\n",stu[k].num);
  printf("姓名:%s\n",stu[k].name);
  printf("性别:%s\n",stu[k].sex);
  printf("出生年月:%d/%d/%d\n",stu[k].birthday.year,stu[k].birthday.month,stu[k].birthday.day);
  printf("年龄:%d\n",stu[k].age);
  printf("籍贯:%s\n",stu[k].addr);
  printf("系别:%s\n",stu[k].dept);
  printf("专业:%s\n",stu[k].major);
  printf("班级:%s\n",stu[k].classs);
  printf("电话:%s\n",stu[k].phone);
} 

void printf_n(int n) /*浏览时输出所有学生的信息*/
{
  system("color 2e");
  int j,i=1;
  for(j=0;j<n;j++)
  {
    printf("第%d个学生:\n",i++);
    printf_one(j);
    printf("\n");
  }
 getchar();
} 

int load() /*打开文件,读取里面的数据*/
{
  FILE *fp;
  int i;
  if((fp=fopen("D:\\file.txt","rb"))==NULL) /*读入空文件,rb表示打开一个二进制文件,只允许读数据*/
  {
    printf("\n文件不存在!请输入:\n");
    return 0;
  }
  for(i=0;!feof(fp);i++) /*处理到文件结尾*/
    fread(&stu[i],sizeof(struct student),1,fp); /*fread(buffer,size,cout,fp)将磁盘文件中的一批数据作为一个整体一次性读取出来,
  buffer指定数据块位置,sizeof数据块字节数,count读取次数,fp指向源磁盘文件*/
  fclose(fp);
  return(i-1);
} 

void input(int k) /*输入学生信息*/
{
  getchar();
  printf("学号:");  gets(stu[k].num);
  printf("姓名:");  gets(stu[k].name);
  printf("性别:");  gets(stu[k].sex);
  printf("出生年月:"); scanf("%d/%d/%d",&stu[k].birthday.year,&stu[k].birthday.month,&stu[k].birthday.day);
  printf("年龄:");  scanf("%d",&stu[k].age); getchar();
  printf("籍贯:");  gets(stu[k].addr);
  printf("系别:");  gets(stu[k].dept);
  printf("专业:");  gets(stu[k].major);
  printf("班级:");  gets(stu[k].classs);
  printf("电话:");  gets(stu[k].phone);
} 

void save(int n) /*保存学生信息*/
{
  void exit();
  FILE *fp;
  int i;
  if((fp=fopen("D:\\file.txt","wb"))==NULL) /*只打开或建立一个二进制文件,只允许写数据*/
  {
    printf("\nCan not open file!\n");
    exit();
  }
  for(i=0;i<n;i++)
   if(stu[i].name[0]!='\0')
     if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) /*将一批数据作为一个整体一次性写入磁盘文件*/
      printf("文件写入错误!\n");
  fclose(fp);
} 

void printf_back()/*添加学生信息后显示的“是浏览还是返回”*/
{
  int w,k=0;
  void browse();
  void menu();
  printf("\n\n\t^_^.插入成功. ^_^\n\n");
  do
  {
   printf("What do you want to do next?\n\n\t1).浏览所有\t2).返回: [ ]\b\b");
   scanf("%d",&w);
   if(w==1)
   {
     system("cls");
     browse();
   }
   else if(w==2)
   {
     system("cls");
     menu();
   }
   else
     printf(" 选择错误!请重新选择!\n");
  }while(k==0);
} 

void insert() /*添加学生信息*/
{
  int i,n,k,t;
  FILE *fp;
  if((fp=fopen("D:\\file.txt","rb"))==NULL) /*读入空文件,rb表示打开一个二进制文件,只允许读数据*/
  {
    printf("How many people do you want to add(1-%d)?:",N-1);
    n=0;
  }
  else
  {
   n=load();
   printf("How many student do you want to insert (1-%d)?:",N-n-1);
  }
  scanf("%d",&t);
  k=n+t;
  for(i=n;i<k;i++)
  {
    printf("\n输入第 %d 个学生学籍信息.\n",i-n+1);
    input(i);
  }
  save(k); /*保存所有学生的信息*/
  printf_back();
} 

void deleter() /*删除*/
{
  void menu();
  if(!flag)
  {
    printf("\n\n\t请先登录!\n");
    printf("\n\t请按 Enter 键进入登录界面!");
    getchar();
    getchar();
    login();
  }
  else
  {
    struct student s;
    int i,n,k,w0,w1;
    n=load();
    do
    {
      k=-1;
      //printf_n(n); /*删除之前先显示所有学生的信息*/
      do
      {
         printf("\n\n请输入您想要删除的学生的姓名!\nName:");
         scanf("%s",s.name);
         for(i=0;i<n;i++)
          if(strcmp(s.name,stu[i].name)==0)
          {
           k=i;
           s=stu[i];
          }
         if(k==-1)
         {
           int m;
           printf("\n\n没有这个学生的信息!\n");
           printf("What do you want to do next? 1.继续输入 2.返回主菜单  [ ]\b\b");
           scanf("%d",&m);
           if(m==1)
             deleter();
           else
           {
             k=0;
             menu();
           }
         }
      }while(k==-1);
      printf_one(k);
      printf("\n\t确定删除?\n\t1).是  2).返回 [ ]\b\b");/*再次询问是否删除*/
      scanf("%d",&w0);
      if(w0==1)
      {
        stu[k].name[0]='\0';
        save(n);
      }
      else
        break;
      printf("\n\t^_^.成功删除^_^.\n");
      printf("What do you want to do?\n\t1).继续  2).返回 [ ]\b\b");
      scanf("%d",&w1);
    }while(w1==1);
   system("cls");
   menu(); /*不再删除时返回主菜单,w1!=1*/
  }
} 

void search() /*查找*/
{
  void menu();
  int w0,k,i,n,w1,w2;
  struct student s;
  FILE *fp;
  if((fp=fopen("D:\\file.txt","rb"))!=NULL) /*不是空文件*/
    n=load();
  do
  {
    printf("请选择查找类别: 1.姓名 2.学号  [ ]\b\b");
    scanf("%d",&w1);
    if(w1<1||w1>2)
    {
      printf("输入错误!请重新输入!\n");
      w2=1;
    }
    else
      w2=0; /*这里要注意:不加这句话会陷入死循环,跳不出来*/
  }while(w2==1);
  if(w1==1) /*按姓名查找*/
  {
    do
    {
      k=-1;
      do
      {
        printf("\n请输入您想要查找的学生的姓名!\nName:");
        scanf("%s",s.name);
        for(i=0;i<n;i++)
         if(strcmp(s.name,stu[i].name)==0)
         {
           k=i;
           s=stu[i];
         }
         if(k==-1) /*没有找到*/
         {
           int o;
           printf("\n\n没有这个学生的信息!\n!");
           printf("What do you want to do?\n\t1.继续  2.返回菜单 [ ]\b\b");
           scanf("%d",&o);
           if(o==1)
           {
             system("cls");
             search(); /*继续查找*/
           }
           else
           {
             system("cls");
             menu();
           }
         }
      }while(k==-1);
      system("cls");
      printf_one(k); /*找到以后输出这个学生的信息*/
      printf("\nWhat do you want to do next?\n\t1).继续  2).返回菜单  [ ]\b\b");
      scanf("%d",&w0);
    }while(w0==1);
   system("cls");
   menu(); /*不再查找时返回主菜单*/
  }
  else /*按学号查找*/
  {
    do
    {
      k=-1;
      do
      {
        printf("\n请输入您想要查找的学生的学号!\nNum:");
        scanf("%s",s.num);
        for(i=0;i<n;i++)
         if(strcmp(s.num,stu[i].num)==0) /*找到了*/
         {
          k=i;
          s=stu[i];
         }
        if(k==-1) /*没有找到*/
        {
         int o;
         printf("\n\n没有这个学生的信息!\n!");
         printf("What do you want to do?\n\t1.继续  2.返回菜单 [ ]\b\b");
         scanf("%d",&o);
         if(o==1)
         {
           system("cls");
           search(); /*继续查找*/
         }
         else
         {
           system("cls");
           menu();
         }
        }
      }while(k==-1);
      system("cls");
      printf_one(k); /*找到以后输出这个学生的学籍信息*/
      printf("\nWhat do you want to do?\n\t1).继续  2).返回菜单  [ ]\b\b");
      scanf("%d",&w0);
    }while(w0==1);
   system("cls");
   menu();/*不再查找时返回主菜单*/
  }
} 

int modify_data(int i) /*修改信息函数*/
{
  int c,w1;
  void menu();
  do
  {
    puts("\n请选择要修改的选项:\n\n1.学号 2.姓名 3.性别 4.出生日期 5.年龄 6.籍贯 7.系别 8.专业 9.班级 10.电话  11.所有信息 12.取消并返回");
    printf("请选择?: [ ]\b\b\b");
    scanf("%d",&c);
    if(c>12||c<1)
    {
      puts("\n选择错误!请重新选择!");
      getchar();
    }
  }while(c>12||c<1);
  do
  {
    switch(c)
    {
     case 1: printf("学号:"); scanf("%s",stu[i].num); break;
     case 2: printf("姓名:"); scanf("%s",stu[i].name); break;
     case 3: printf("性别:"); scanf("%s",stu[i].sex); break;
     case 4: printf("出生年月:"); scanf("%d/%d/%d",&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day); break;
     case 5: printf("年龄:"); scanf("%d",&stu[i].age);break;
     case 6: printf("籍贯:"); scanf("%s",stu[i].addr);break;
     case 7: printf("系别:"); scanf("%s",stu[i].dept);break;
     case 8: printf("专业:"); scanf("%s",stu[i].major);break;
     case 9: printf("班级:"); scanf("%s",stu[i].classs);break;
     case 10: printf("电话:"); scanf("%s",stu[i].phone);break;
     case 11: input(i); break; /*修改这个学生的所有信息*/
     case 12: menu(); /*返回主菜单*/
    }
    puts("\nNow:\n");
    printf_one(i); /*输出 修改后 的这个学生的信息*/
    printf("\n确定?\n\n\t1).是 2).不,重新修改 3).返回不保存 [ ]\b\b");
    scanf("%d",&w1);
  }while(w1==2);
  return(w1); /*修改成功并选择1后返回1*/
} 

void modify() /*修改*/
{
  void menu();
  if(!flag)
  {
    printf("\n\n\t请先登录!\n");
    printf("\n\t请按 Enter 键进入登录界面!");
    getchar();
    getchar();
    login();
  }
  else
  {
    struct student s;
    int i,n,k,w0=1,w1,w2=0;
    n=load();
    do
    {
     k=-1;
     //printf_n(n); /*删除之前先显示所有学生的信息*/
     do
     {
       printf("\n请输入您想要修改的学生的姓名!\nName:");
       scanf("%s",s.name);
       for(i=0;i<n;i++)
        if(strcmp(s.name,stu[i].name)==0) /*与其中一个学生匹配*/
        {
          k=i;
          s=stu[i];
        }
       if(k==-1) /*没有找到输入的学生*/
       {
         int o;
         printf("\n\n没有这个学生的信息!\n");
         printf("What do you want to do?\n\t1.继续  2.返回菜单 [ ]\b\b");
         scanf("%d",&o);
         if(o==1)
         {
           system("cls");
           modify(); /*继续修改*/
         }
         else
         {
          system("cls");
          menu();
         }
       }
     }while(k==-1);
     system("cls");
     printf_one(k); /*输出这个学生的信息*/
     w1=modify_data(k);
     if(w1==1) /*判断是否修改成功修改*/
     {
       printf("\n\t^_^.修改成功 ^_^.\n\n是否继续?\n\n\t1).是 2).保存返回\t[ ]\b\b");
       scanf("%d",&w0);
       w2=1;
     }
     else
     {
       w0=0;
       if(w2==0)
         stu[k]=s;
     }
     if((w0!=1)&&(w2==1)) /*修改成功保存*/
       save(n);
    }while(w0==1);
    system("cls");
   menu();/*不再修改返回主菜单*/
  }
} 

void browse()/*浏览*/
{
  system("color 5f");
  void menu();
  int n;
  n=load();
  printf_n(n);
  printf(" 共有 %d 个学生的记录.\n",n);
  printf("\nPress [ ENTER ] key to back...");
  getchar();
  system("cls");
  menu(); /*返回主函数*/
} 

void exit() /*退出*/
{
  exit(0);
} 

void face() /*访问页面*/
{
  system("color 4e");
  printf("\n\t  ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★\n\n");
  puts("\t  ※※※※※※※※※※※※※※※※※※※※※※※※※※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※      欢迎访问学生学籍管理系统!     ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※               制作人:李远航 ※※");
  puts("\t  ※※                  2013.6.20 ※※");
  puts("\t  ※※                       ※※");
  puts("\t  ※※※※※※※※※※※※※※※※※※※※※※※※※※※");
  printf("\n\tPress [ Enter ] key to continue……\n");
  getchar();
  system("cls");
} 

void menu() /*主菜单*/
{
  system("color 2e");
  printf("\n\t\t\t欢迎使用学生学籍管理系统!\n");
  printf("\n");
  int n,w1;
  do
  {
    puts("\t\t★★★★★★★★  菜单 ★★★★★★★★");
    puts("\t\t★        1.登 录        ★");
    puts("\t\t★        2.插 入        ★");
    puts("\t\t★        3.删 除        ★");
    puts("\t\t★        4.查 找        ★");
    puts("\t\t★        5.修 改        ★");
    puts("\t\t★        6.浏 览        ★");
    puts("\t\t★        7.退 出        ★");
    puts("\t\t★★★★★★★★★★★★★★★★★★★★★");
    printf("请选择服务种类(1-7) : [ ]\b\b");
    scanf("%d",&n);
    if(n<1||n>7)
    {
      system("cls");
      printf("选择错误! 请重新选择!\n");
      w1=1;
    }
    else
      w1=0;
  }while(w1==1);
  switch(n)
  {
    case 1: login(); break; /*登录*/
    case 2: system("cls"); insert();  break; /*插入*/
    case 3: system("cls"); deleter(); break; /*删除*/
    case 4: system("cls"); search(); break; /*查找*/
    case 5: system("cls"); modify(); break; /*修改*/
    case 6: system("cls"); browse(); break; /*浏览*/
    case 7: exit(); break; /*退出*/
  }
} 

int main()
{
  face();
  menu();
  return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言实现歌曲信息管理系统

    本文实例为大家分享了C语言实现歌曲信息管理系统的具体代码,供大家参考,具体内容如下 系统功能:该系统以菜单方式工作,歌曲信息包括:歌名.演唱者.作词.作曲.所属专辑.出版时间.出版公司.试设计一歌厅歌曲管理系统,使之能提供以下功能:歌曲信息录入.修改.插入.删除功能:歌曲排序浏览功能:按歌名查询.按演唱者查询等功能. 完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "string.h&q

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言银行系统课程设计

    本文为大家分享了C语言银行系统课程设计,供大家参考,具体内容如下 main.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <windows.h> #define MaxNum 200 #define N_P 6 typedef struct { int AccountNumber[3]; char name[20];

  • C语言实现学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<windows.h> //**********************************结构体************************************* struct score

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

    本文实例为大家分享了C语言学生信息管理系统的具体代码,供大家参考,具体内容如下 代码: //以单链表作为存储结构,设计和实现课程成绩管理的完整程序. //程序包括如下功能. //1.建立学生成绩表,包含学生的学号.姓名和成绩. //2.可以显示所有学生成绩. //3.可以计算学生的总数. //4.可以按学号和序号查找学生. //5.可以在指定位置插入学生成绩数据. //6.可以删除指定位置的学生数据. //7.可以把学生成绩按从高到低的顺序排序. //作者: yinlinqvan //操作系统:

  • C语言银行储蓄系统源码

    本文为大家分享了C语言银行储蓄系统源码,实现银行的各项功能,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> void openaccount();//开户 void save();//存款 void withdraw();//取款 void showAccount();//查询 void transferAccounts();

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

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年7月1日 * 版本号:codeblock * * 问题描述: 学生信息管理系统 * 输入描述: * 程序输出: 输出结果 */ #include <stdio.h> #include <stdlib.h> #include

  • C语言实现简单学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> #define N 100 /*存储100个学生的学籍信息*/ int flag; /*标记是否登录*/ struct date /*出生日期*/ { int year; int month; int day; }; struct

  • 基于C语言实现简单学生成绩管理系统

    本文实例为大家分享了C语言实现简单学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.系统主要功能 1.密码登录2.输入数据3.查询成绩4.修改成绩5.输出所有学生成绩6.退出系统 二.代码实现 #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 10 struct student {     char num[10];     char name[20];     int ol

  • C语言模拟实现学生学籍管理系统

    学生学籍管理系统的C语言模拟实现是对链表.指针.结构体.文件操作等知识点的综合运用,需要实现的功能主要包含:输入学生信息.显示学生信息.查询学生信息.新增学生信息.删除学生信息.修改学生信息.对学生信息排序.保存当前信息到文件.文件备份.文件加载等. 代码实现如下 #include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h> #include<conio.h

  • C语言实现简单学生成绩管理系统

    本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 C语言小项目 实现一个学生成绩管理系统 系统功能: 1.实现所有学生成绩的录入(利用结构体数组),当输入字符为end时候,结束成绩的录入:  2.实现所有学生信息的输出  3.输入指定学生姓名,并能输出这名学生的信息  4.将学生成绩按照语文和数学成绩排序 思路: 1. 首先,先把这个小项目的框架打好.考虑要写几个文件,每一个文件里面实现怎样的功能.考虑到这个小项目的代码量以及程序的易读性,我决定将写三个文件.一

  • C语言实现简单学生选课管理系统

    本文实例为大家分享了C语言实现学生选课管理系统的具体代码,供大家参考,具体内容如下 这是我们大一C语言课程设计的最终作品,涉及文件读写操作.链表的一系列操作. 源代码由头文件all.h.主函数文件main.cpp以及功能函数文件student.cpp.manager.cpp.common.cpp组成. 涉及的文件读写操作需要先手动创建文件,文件路径可以在all.h的宏定义中更改 使用vs2017的c++编译器,兼容c语言,现贴上源代码和运行截图,供感兴趣的童鞋参考,水平有限还望多多包涵. 运行截

  • C语言实现简单学生成绩管理系统项目

    本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 系统界面及相关要求 1)系统运行,打开如下界面.列出系统帮助菜单(即命令菜单),提示输入命令. 2)开始时还没有录入成绩,所以输入命令 L 也无法列出成绩.应提示“成绩表为空!请先使用命令 T 录入学生成绩.” 同理,当输入其他的成绩处理命令时也作相应的处理. 3)输入命令 T,调用Type子函数录入成绩. 界面提示输入学生人数 输入3 提示输入3名学生的3门课成绩,列出成绩单的表头“学号 语文 数学 英语”,提

  • C语言实现简单学生信息管理系统

    学生信息管理系统的功能有,也可以自己增加或者改进一些函数功能. 在main函数里调用这8个函数 学生信息包含姓名.年龄.学号.成绩,需要定义一个结构体(结构体是全局变量,所以需要全局声明): typedef struct _student{     char name[20];     int age;     int stuNum;     int score; }student; 需要有一个存储数据的空间,所以使用单链表存储,定义如下: typedef struct _Node{     s

  • C语言实现简单的学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 一 .课题设计内容与主要功能 1.1问题描述: 通过该系统实现对学生学籍信息进行录入.显示.修改.插入.删除.排序.保存等操作的管理. 2.1功能要求: 1.本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号.姓名.性别.出生日期.入学时间.专业.班级.备注. 2.本系统显示这样的菜单: 请选择系统功能项: j.学生学籍信息录入k.学生学籍信息显示l.学生学籍信息保存m.学生学籍信息修改n.学生

随机推荐