班级管理系统c语言,班级同学信息管理系统.cpp

#include

#include

#include

#include

#include

using namespace std;

struct Student{

char id[20];

char name[20];

char sex[10];

int age;

char msg[100];

};

int totalrecords = 0;

struct Student student[1001];

void fun01(){

printf("学号 姓名 性别 年龄 备注\n");

for(int i = 0; i < totalrecords; i++){

printf("%s\t%s\t%s\t%d\t%s\n", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

}

}

void fun02(){

printf("请输入学生学号,姓名,性别,年龄,备注,以空格隔开:\n");

char id[20];

char name[20];

char sex[10];

int age;

char msg[100];

scanf("%s %s %s %d %s", id, name, sex, &age, msg);

strcpy(student[totalrecords].id, id);

strcpy(student[totalrecords].name, name);

strcpy(student[totalrecords].sex, sex);

student[totalrecords].age = age;

strcpy(student[totalrecords].msg, msg);

totalrecords++;

printf("信息录入成功!\n");

}

void fun03(){

printf("请输入要删除学生学号:\n");

char id[20];

scanf("%s", id);

for(int i = 0; i < totalrecords; i++){

if(strcmp(id, student[i].id) == 0){

//查到了符合要求的就整体前移一位

for(int j = i + 1; j < totalrecords; j++){

student[j - 1] = student[j];

}

totalrecords--;

printf("删除成功!\n");

return ;

}

}

printf("输入有误,学生不存在!\n");

}

void fun04(){

char pwd[100];

printf("请输入密码:\n");

scanf("%s", pwd);

if(strcmp(pwd, "0000") == 0){

printf("请输入待修改学生学号:\n");

char id01[20];

scanf("%s", id01);

char id[20];

char name[20];

char sex[10];

int age;

char msg[100];

for(int i = 0; i < totalrecords; i++){

if(strcmp(id01, student[i].id) == 0){

//查到了符合要求的就修改

printf("请输入修改后的学生学号,姓名,性别,年龄,备注,以空格隔开以空格隔开:\n");

scanf("%s %s %s %d %s", id, name, sex, &age, msg);

strcpy(student[i].id, id);

strcpy(student[i].name, name);

strcpy(student[i].sex, sex);

student[i].age = age;

strcpy(student[i].msg, msg);

printf("修改成功!\n");

return ;

}

}

printf("查找失败!请重新输入!\n");

}else{

printf("密码错误!");

}

}

void fun05(){

printf("--1.学号--2.姓名--3.性别--4.年龄--\n");

printf("请输入编号(1-4),按编号指定字段查询:");

int pos;

scanf("%d", &pos);

printf("请输入字段值\n");

char str[100];

int age;

switch (pos){

case 1: {

scanf("%s", str);

//遍历数组,查询到符合要求的就输出

printf("查询到的结果为:\n");

for(int i = 0; i < totalrecords; i++){

if(strcmp(str, student[i].id) == 0){

printf("%s\t%s\t%s\t%d\t%s\n", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

}

}

}; break;

case 2: {

scanf("%s", str);

printf("查询到的结果为:\n");

for(int i = 0; i < totalrecords; i++){

if(strcmp(str, student[i].name) == 0){

printf("%s\t%s\t%s\t%d\t%s\n", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

}

}

}; break;

case 3: {

scanf("%s", str);

printf("查询到的结果为:\n");

for(int i = 0; i < totalrecords; i++){

if(strcmp(str, student[i].sex) == 0){

printf("%s\t%s\t%s\t%d\t%s\n", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

}

}

}; break;

case 4: {

scanf("%d", &age);

printf("查询到的结果为:\n");

for(int i = 0; i < totalrecords; i++){

if(student[i].age == age){

printf("%s\t%s\t%s\t%d\t%s\n", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

}

}

}; break;

default:printf("error\n");

}

}

void fun06(){

FILE *fp;//文件指针

int i;

fp=fopen("C:\\Users\\larry\\Desktop\\student.txt","w");/*以只在文件末尾写的方式打开文件*/

fprintf(fp, "学号 姓名 性别 年龄 备注\n");

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

{

fprintf(fp, "%s %s %s %d %s", student[i].id, student[i].name, student[i].sex, student[i].age, student[i].msg);

fprintf(fp, "\n");

}

fclose(fp);

printf("已完成保存!\n");

}

void fun07(){

int a;

printf("即将退出系统,是否保存(1/0)?\n");

scanf("%d", &a);

if(a == 1){

fun06();

printf("欢迎下次使用!\n");

exit(0);

}else{

printf("数据未保存,已成功退出,欢迎下次使用!\n");

exit(0);

}

}

int main(){

char pwd[100];

printf("请输入密码:\n");

scanf("%s", pwd);

if(strcmp(pwd, "0000") == 0){

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

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

printf("**************班级档案管理系统**************\n");

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

printf("******1.信息显示*********2.信息录入*********\n");

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

printf("******3.删除信息*********4.信息修改*********\n");

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

printf("******5.信息查询*********6.记录保存*********\n");

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

printf("***************0.退出系统*******************\n");

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

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

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

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

int flag;

while(true){

printf("请输入操作编号,回车键结束:");

scanf("%d", &flag);

switch (flag){

case 1: fun01(); break;

case 2: fun02(); break;

case 3: fun03(); break;

case 4: fun04(); break;

case 5: fun05(); break;

case 6: fun06(); break;

case 0: fun07(); break;

default:printf("error\n");

}

}

return 0;

} else{

printf("密码错误!");

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源非常丰富,包含了学生信息管理系统需求分析文档,软件详细设计文档,安装部署手册及源程序。开发工具:软件架构:web应用程序,采用struts2加hibernate加spring框架。开发平台:J2EE 功能实现: 前台主页描述:顶部和底部均为各版块的公共部分,提供了一些导航链接,很方便用户操作。 左侧栏为用户信息及其班级信息展板,左侧底部展板用户显示一些班级公告信息, 右侧包括班级相册,可以自动播放,也可手动播放,还有一些班级的最新留言。 主页面只显示了最新的三条,用户可以通过头部导航条中的留言或“查看更多”导航 进入全部留言区,这里将为用户按时间先后顺序陈列出了所有的班级留言。您也可以 点击主页留言处的“我要留言”而进行留言。 班级模块描述:通过班级,用户可以查询本班的其他同学信息,并且可以对信息的显示顺序进行排序, 排序可以按学号,姓名,年龄条件,再选择排序方式,点击查询即可。 留言模块描述:留言主要是方便大家讨论用的,用户可以发表留言信息,但如果内容不文明不科学,管理员可以删除。 这里也需说明一下,这里的留言没有设置留言评论的,感觉对于班级信息系统来说,也没这个必要,用户 有什么话要说,尽管留言即可,不过如果硬要针对某个人进行留言的话,用户也可以在留言中说明一下 即行,也没什么不方便的。 公告模块描述:特别说明一下,原本想将公告和活动分开处理的,但目前由于时间问题,暂且放在一起了,也就是 公告与活动是同一内容,然而这样做感觉也还可以,说得过去,这里的公告是一些班级的公告信息, 主要是由后台管理员(可以说是班长或班主任等)来发布的,只有管理员才能够直接操作公告信息, 前台用户这里只能够查看,其实这样没什么不妥,反而便于管理,也更符合常情。 其他模块描述:收藏和注销只是两个小功能,收藏是为了方便用户将本网页保存起来,这样以后就不必输入网址了。 而注销是必不可少的,用户登录后,当想退出时,就可以安全注销了,如果你现在还不想退出的话, 就别点击它哦,否而得重新登录的喔,仅作提示。 后台主页包括顶部公共模块,底部公告模块,左侧导航栏,中间显示区。其中顶部公共模块中的“主菜单”能够便捷的打开左侧的导航栏,“前台主页”是后台管理员查看前台主页信息,“后台主页”打开后台相关介绍信息的页面(登录成功后的主页面),“发布公告”方便管理员打开班级公告页面,便于发布新的公告,“数据维护”包括数据库备份与恢复,“系统设置”主要涉及到一些本系统的设置信息,由于时间及精力有限,这两块先预留着,以后再好好完善扩展。那个蓝色小按钮是控制中间页面是否隐藏左侧导航栏用的,而那两个黑色小按钮用于移动显示框的。 左侧导航栏主要包括了管理信息的增删改查,学生信息的增删改查,班级公告信息的增删改查,班级留言信息的查询与删除。管理员单击各导航链接进入到相应页面,进行操作即可。 前后台页面美观,操作方便,尤其配有平台搭建介绍文档,很容易搭建系统平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值