【学生管理系统】

一,系统功能简介

1,

进入主界面:要求输入密码,输入三次错误系统锁定。

1,

进入主界面:要求输入密码,输入三次错误系统锁定。

1,

进入主界面:要求输入密码,输入三次错误系统锁定。

1, 进入主界面:要求输入密码,输入三次错误系统锁定。

2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。

3,显示记录:显示学生的各项信息 。

4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。 5,删除记录: 删除学生信息。

6,修改记录:可以修改学生的任何一项基本信息。

7,查找记录:可以根据学生的学号查找并显示出学生的信息。

8,统计记录: 统计全班通过情况和不及格情况。

9,退出系统。

二,函数的编写

定义、编写记录(数据)输入函数;

定义、编写记录(数据)显示函数;

定义、编写记录(数据)增加函数;

定义、编写记录(数据)删除函数;

定义、编写记录(数据)修改函数;

定义、编写记录(数据)统计函数;

定义、编写记录(数据)查找函数;

函数名称              函数功能

enter()               进入函数

input()               输入函数

display()             显示函数

add ()                增加函数

delet()               删除函数

amend()               修改函数

preside ();             统计函数

fint ();              查找函数

output();              退出函数

通过C语言联练习,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过练习,逐渐积攒了一些经验,有些错误可以较快看出来。

C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,要从整体上把握。不过通过实训我也知道了自己的不足,存在的很多问题。希望能在以后的学习中,不断提高自己的能力,让问题越来越少。

改编学生管理系统(图书馆管理系统)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

typedef int ;

typedef struct bookinfo
{
    char number[15];
    char name[30];
    float price;
    char auther[20];
     isExit;
    char lendername[20];
    char lendersex[2];
    char lendernum[15];
}BOOKINFO;

void menu()
{
    printf("\n\n\n\n\n\n\n");
    printf("\t\t\t图书管理系统\n");
    printf("\t\t\:新进图书基本信息的输入\n");
    printf("\t\t\:显示全部记录\n");
    printf("\t\t\t3:根据图书名称查询图书基本信息\n");
    printf("\t\t\t4:根据图书名称对撤销的图书信息进行删除\n");
    printf("\t\t\t5:按照图书名称从小大到排序\n");
    printf("\t\t\t6:统计某价格以上的图书数量\n");
    printf("\t\t\t7:列出所有未借出去的图书信息\n");
    printf("\t\t\t8:退出\n");
    }
void choice_1_input_new()
{
    char choice;
     *p;
    BOOKINFO newbook;

    system("cls");
    while(1)
      {
      printf("输入图书编号:");
      gets(newbook.number);
          
      printf("输入图书名称:");
      gets(newbook.name);    
      
      printf("输入图书单价:");
      scanf("%f",&newbook.price);
      while(getchar()!=‘\n‘);
          
      printf("输入图书的作者:");
      gets(newbook.auther);    
      
      printf("输入借书人姓名:");
      gets(newbook.lendername);    
      
      printf("输入借书人性别:");
      gets(newbook.lendersex);    
      
      printf("输入借书人学号:");
      gets(newbook.lendernum);
      
      printf("是否保存该条书目?(Y/N)\n");
      choice=getch();
      while(choice!=‘Y‘&&choice!=‘y‘&&choice!=‘N‘&&choice!=‘n‘)
        choice=getch();
      if(choice==‘Y‘||choice==‘y‘) 
        {
        newbook.isExit=1;
        
        p=fopen("c:\\bookinfo.data","ab");
        fwrite(&newbook,sizeof(BOOKINFO),1,p);
        fclose(p);    
        
        printf("\n该条书目已添加到c:\\bookinfo.data文件中!\n");
        }     
      else  
        {
        printf("\n本条书目未保存!\n");    
        }
      printf("\n是否继续添加书目?(Y/N)\n");
      choice=getch();
      while(choice!=‘Y‘&&choice!=‘y‘&&choice!=‘N‘&&choice!=‘n‘)
        choice=getch();
      if(choice==‘Y‘||choice==‘y‘)
        continue;
      else 
        break;      
      }
    }
void choice_2_display_all()
{
     *p;
    int n;
    BOOKINFO bookinfo[100];
    int booknumber=0;

    system("cls");
    p=fopen("c:\\bookinfo.data","rb");
    while(!feof(p))
      {
      fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
      booknumber++;    
      }
    /*booknumber--;使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/
    fclose(p);  
    booknumber--;
    if(booknumber==0)
      {
      printf("没有任何图书信息!\n\n");
      }
    else
      {
      n=0;
      printf("                              图书信息如下\n");
      printf("                   图书信息                |         借书人信息   \n");
      printf("编号  名称        单价    作者    图书状态 | 姓名        性别    学号\n");
      while(n<booknumber) 
        {
        printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
                                        bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
                                        bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
                                        bookinfo[n].lendersex,bookinfo[n].lendernum);
        n++;                                    
        }
      }  
    printf("\n\n按任意键回到主菜单!\n");
    getch();      
}

void choice_3_search_according_name()
{
    char search[20]="";/
    int n;
     *p;
    char choice;
    BOOKINFO bookinfo[100];
    int booknumber=0;
    
    system("cls");
    p=fopen("c:\\bookinfo.data","rb");
    while(!feof(p))
      {
      fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
      booknumber++;    
      }
    booknumber--;
    fclose(p); 
    while(1)
    {
    printf("输入要查询的书本名称:");
    gets(search);
    if(booknumber==0)
      {
      printf("书库中没有任何信息!\n\n");
      printf("按任意键回到主菜单!\n\n");
      getch();
      break;    
      }/*if结束*/
    else
      {
      for(n=0;n<booknumber;n++)
        if(strcmp(bookinfo[n].name,search)==0)
          {
          printf("该书的详细信息如下:\n");
          printf("                   图书信息                |         借书人信息   \n");
          printf("编号  名称        单价    作者    图书状态 | 姓名        性别    学号\n");
          printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
                                        bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
                                        bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
                                        bookinfo[n].lendersex,bookinfo[n].lendernum);
          break;                            
          }
      if(n>=booknumber)
        printf("没有查找该书的任何信息!\n");
      printf("\n\n是否继续查询?(Y/N)\n");
      choice=getch();
      while(choice!=‘Y‘&&choice!=‘y‘&&choice!=‘N‘&&choice!=‘n‘)
         choice=getch();
      if(choice==‘Y‘||choice==‘y‘)
        continue;
      else 
        break;              
        }/*else结束*/
      }/*while(1)结束*/  
    }
void choice_4_delete_according_name()
{
    char search[20]="";
    int n,i;
    FILE *p;
    char choice;
    BOOKINFO bookinfo[100];
    int booknumber;
    
    system("cls");
    while(1)
      {
      printf("输入要删除的书本名称:");
      gets(search);
      p=fopen("c:\\bookinfo.data","rb");
      booknumber=0;
      while(!feof(p))
        {
        fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
        booknumber++;    
        }
      booknumber--;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/
      fclose(p); 
      if(booknumber==0)
        {
        printf("书库中没有任何信息!\n\n");
        printf("按任意键回到主菜单!\n\n");
        getch();
        break;   
        }/*if结束*/
      else
        {    
        for(n=0;n<booknumber;n++)
          if(strcmp(bookinfo[n].name,search)==0)
            {
            break;
            }
        if(n>=booknumber)
           printf("没有查找该书的任何信息!\n");
        else
           {
           printf("是否确认需要删除该条书目?(Y/N)");
           choice=getch();
             while(choice!=‘Y‘&&choice!=‘y‘&&choice!=‘N‘&&choice!=‘n‘)
             choice=getch();
           if(choice==‘Y‘||choice==‘y‘)      
             {
             for(i=n;i<booknumber-1;i++)
               bookinfo[i]=bookinfo[i+1];    
             booknumber--;
           
             p=fopen("c:\\bookinfo.data","wb");
             for(n=0;n<booknumber;n++)
               fwrite(&bookinfo[n],sizeof(BOOKINFO),1,p);
             fclose(p);
           
             printf("删除成功!\n");
             }
           else
              printf("\n\n该条书目没有被删除!"); 
           }    
         printf("\n\n是否继续进行删除操作?(Y/N)\n");
         choice=getch();
         while(choice!=‘Y‘&&choice!=‘y‘&&choice!=‘N‘&&choice!=‘n‘)
           choice=getch();
         if(choice==‘Y‘||choice==‘y‘)
           continue;
         else 
           break;              
        }/*else结束*/
      }/*while(1)结束*/
    }
void choice_5_sort_according_name()
{
    FILE *p;
    int m,n;
    BOOKINFO temp;
    BOOKINFO bookinfo[100];
    int booknumber;
    
    p=fopen("c:\\bookinfo.data","rb");
    booknumber=0;
    system("cls");
    while(!feof(p))
      {
      fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
      booknumber++;    
      }
    booknumber--;
    fclose(p);  
    if(booknumber==0)
      {
      printf("没有任何图书信息!\n\n");
      }
    else
      {
      for(m=0;m<booknumber-1;m++)
        for(n=m+1;n<booknumber;n++)
          if(strcmp(bookinfo[m].name,bookinfo[n].name)>0)
            {
            temp=bookinfo[m];
            bookinfo[m]=bookinfo[n];
            bookinfo[n]=temp;    
            }
      p=fopen("c:\\bookinfo.data","wb");
      for(m=0;m<booknumber;m++)
        fwrite(&bookinfo[m],sizeof(BOOKINFO),1,p);
      fclose(p);        
      printf("\n\n完成排序!\n\n");      
      }
    printf("按任意键回到主菜单!\n");
    getch();  
}

void choice_6_display_high_price()
{
    float price;
    FILE *p;
    int n;
    int count=0;
    BOOKINFO bookinfo[100];
    int booknumber;
    
    system("cls");
    printf("请输入价格:");
    scanf("%f",&price);
    p=fopen("c:\\bookinfo.data","rb");
    booknumber=0;
    while(!feof(p))
      {
      fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
      booknumber++;    
      }
    booknumber--;
    fclose(p);  
    if(booknumber==0)
      {
      printf("没有任何图书信息!\n\n");
      }
    else
      {
      for(n=0;n<booknumber;n++) 
        {
        if(bookinfo[n].price>=price)
          count++;
        }
      if(count==0) 
        printf("书库中没有比%.1f$价格高的图书!",price); 
      else
        {
        printf("                          价格高于%.1f$的图书信息如下\n",price);
        printf("                   图书信息                |         借书人信息   \n");
        printf("编号  名称        单价    作者    图书状态 | 姓名        性别    学号\n");
        for(n=0;n<booknumber;n++) 
          {
          if(bookinfo[n].price>=price)
            printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
                                        bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
                                        bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
                                        bookinfo[n].lendersex,bookinfo[n].lendernum);                                    
          }
        }
      }  
    printf("\n\n按任意键回到主菜单!\n");
    getch();  
    }
void choice_7_display_according_exitflag()
{
    FILE *p;
    int n;
    int count=0;
    BOOKINFO bookinfo[100];
    int booknumber;
    
    system("cls");
    booknumber=0;
    p=fopen("c:\\bookinfo.data","rb");
    while(!feof(p))
      {
      fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);
      booknumber++;    
      }
    booknumber--;  
    fclose(p);
    if(booknumber==0)
      {
      printf("书库中没有任何书目存在!\n");
      }    
    else
      {
      for(n=0;n<booknumber;n++)
        if(bookinfo[n].isExit==1)
          count++;
      if(count==0)
        printf("书库中的书籍全部借出!\n");        
      else
        {
        printf("书库中未被借出的图书信息如下:\n\n");
        printf("                   图书信息                |         借书人信息   \n");
        printf("编号  名称        单价    作者    图书状态 | 姓名        性别    学号\n");
        for(n=0;n<booknumber;n++)
          if(bookinfo[n].isExit==1)
            {
            printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8s\n",
                                        bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
                                        bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
                                        bookinfo[n].lendersex,bookinfo[n].lendernum);    
            }    
        }   
      }  
    printf("\n按任意键返回主菜单!\n");
    getch();  
}

void main()
{
    char choice;
    clock_t tm;
    FILE *p;
    if((p=fopen("c:\\bookinfo.data","rb"))==)
      {
      p=fopen("c:\\bookinfo.data","wb");   
      fclose(p);
      }
    while(1)
      {
      system("cls");
      menu();
      choice=getch();
      switch(choice)
        {
        case ‘1‘:choice_1_input_new();break;/*输入新进的图书信息*/
        case ‘2‘:choice_2_display_all();break;/*显示全部图书信息*/
        case ‘3‘:choice_3_search_according_name();break;/*根据图书名称显示图书的信息*/
        case ‘4‘:choice_4_delete_according_name();break;/*根据图书名称对图书信息进行删除*/
        case ‘5‘:choice_5_sort_according_name();break;/*根据图书名称排序*/
        case ‘6‘:choice_6_display_high_price();break;/*根据价格列出图书信息*/
        case ‘7‘:choice_7_display_according_exitflag();break;/*根据存在状态列出图书信息*/
        case ‘8‘:printf("\n\n\t\t\t谢谢使用,再见!\n\t\t\t按任意键退出!\n");getch();return;
        default:
                printf("\n\n\t\t\t请输入菜单中的数字!(1~8)");    
                tm=clock();
                while(clock()<tm+1800);
                break;
        }    
      }
}
时间: 2024-10-10 23:25:41

【学生管理系统】的相关文章

学生管理系统(jsp+mysql)

1.实验目的 通过使用 Java Web 技术设计一个简单的数据库管理系统,了解前台页面和后 台编辑页面的区别,掌握 Web 服务器与 MySQL 数据库的连接和数据库操作的方 法,掌握使用 JSP 编写后台代码的方法. 2.实验内容和要求 开发一个学生管理系统,完成学生信息的查看.增加.删除和修改等功能. 对于客户端增加和修改信息页面,要使用 javascript 进行必要的数据的非空验证. 自行添加一些 css,使得页面和字体更加美观. 3.实验步骤及实验结果 (1)打开 MySQL,新建一

用链表写的学生管理系统 成绩的录入与查询都已经是实现了

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct teacher { char name[32]; int math; int english; int data; struct Node *next; }SLIST; int Creat_SList(); int SList_Print(); int SLis

c语言学生管理系统链表(dev vs2012下可以运行)

struct student { char name[10]; char sex[5]; long int num;//学号 int xuhao; int age; float score[3]; float averange; char DJ;//存放等级哦 struct student *next; };//定义结构体变量保存 名字 性别 年龄 成绩] 结构体声明 int n;//存放学生人数 int man;//存放统计的男生数 float JY(float a)//校验成绩使范围0-10

Mysql学生管理系统:表的建立,外键一对多,多对多关系,中间关联表的建立

学生管理系统 管理员注册/登录/注销 注册班级(班级详细信息) 注册学生信息 查看班级信息/查看老师资料 教师注册/注销  查看教师资料  查看学生资料  根据名称/班级/ 查看学生详细信息--支持模糊 注册科目 管理员(admini) ad_id(管理员id)     ad_number(管理员账号) ad_pass(管理员密码)    ad_yn(管理员是否禁用) create table admini( ad_id int PRIMARY KEY AUTO_INCREMENT,-- 主键自

微信南通大学教务学生管理系统_用户体验

刚开始我还没关注南通大学教务学生管理系统的时候都是经常用电脑登陆然后上去查课表或者成绩什么的,但是用电脑也挺不方便的,因为每次都输用户名和密码,挺烦的.后来关注微信之后觉得还挺方便的,(图片是盗用同学的,因为我的手机屏幕没那么大,不能一下子把整张图一次性截下),但是我想说的他的缺点也就是它的一张图片实在太长了,让人看的眼花,一下子不能马上找到自己想查的是什么,而且我们要查的内容都是通过输入字母和数字组成的,如果一下子记不住字母和数字,还要往上翻页去看一眼什么字母或者数字,才能继续输入.(我不知道

精美学生管理系统

半个学期即将完美结束,精美的学生管理系统也终于亮相啦,哈哈! 话不多说,切入正题. 首先,要了解完成学生管理系统的步骤: 总共有几个模块,我就逐一讲解: 一:完成登录页面模块 判断“登录”是否成功的代码: 1 private void btnLogin_Click(object sender, EventArgs e) 2 { 3 string str = DBHelper.str; 4 SqlConnection con = new SqlConnection(str); 5 string s

【php】1、学生管理系统-欢迎界面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

简单的学生管理系统

简单的学生管理系统 一,主要功能: 1,添加学生信息: 2,添加的学生信息显示在线型布局中: 3,把学生信息保存在xml文件中: 4,把保存在mxl中的学生信息取出来解析显示在界面: 二,主要知识点: 1,layout_weight的使用: 2,pull解析xml文件,xml序列化: 3,保存数据到sd卡: 4,动态添加控件刷新界面: 三,界面原型如下图: 四,代码展示: 1,界面xml文件,activity_main.xml <LinearLayout xmlns:android="ht

Servlet实例开发---学生管理系统

Servlet总结 本程序采用Servlet开发技术,MVC分层,所有程序在设计时都要接口为操作的标准,主要逻辑操作只有增删改查. 具体实现操作请看源代码. 本程序采用的是MYSQL数据库,需加入相应的jar包 目录结构 首先贴上底层数据层: 连接数据库 package com.student.dbc ; import java.sql.* ; public class DatabaseConnection { private static final String DBDRIVER = "or

函数调用实例:学生管理系统(前面的优化版),可以弹出窗口。

1 package classwork308; 2 /* 3 * 学生管理系统 4 */ 5 import javax.swing.JOptionPane; 6 7 public class Method_StudentManage { 8 9 /*****管理账号*****/ 10 public static String[] manager={"a","b"}; 11 /*****管理密码*****/ 12 public static int [] passwo