欢迎来到中博奥技术有限公司官网

班级档案管理系统c语言

时间:2023-01-30 作者:老师 来源:网络 点击量:

班级档案管理系统c语言

//****************************************************************************
//**** 说明:密码所在的文件位于c盘,文件名为1.txt。
//**** 学生基本信息最好保存在C盘,文件名为student.txt。
//****************************************************************************
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

#define N 3
struct student
{
char name[10];
char no[10];
char sex;
int age;
char bnote[100];
};
void print(bool menu)//打印基本信息
{
if (!menu)
{
printf("学生基本信息录入 ,press 1\n");
}
else
{
printf("学生基本信息显示 ,press 2\n");
printf("学生基本信息保存 ,press 3\n");
printf("学生基本信息删除 ,press 4\n");
printf("学生基本信息修改 ,press 5\n");
printf("学生基本信息查询 ,press 6\n");
}
printf("退出学生信息系统 ,press 7\n");
}

bool Check(char pas[6])//密码验证
{
FILE *fp;
char ch;
char a[7]={" "};
int i = 0;
if ((fp=fopen("c:\\1.txt","r"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
ch=fgetc(fp);
while (ch!=EOF&&i<6)
{
a[i] = ch;
ch=fgetc(fp);
i++;
}
a[6] = '\0';
if (!strcmp(pas,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);
}

void GetInfo(struct student *arr,int n)//学生基本信息录入
{

for (int i = 0;i<n;i++)
{
printf("输入学生的基本信息:name no sex age bnote\n");
scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
}
}
void Display(struct student* arr,int n)//学生基本信息显示
{
printf("学生信息: Name NO Sex age Note\n");
for (int i = 0;i<n;i++)
{
printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);
}
}

void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
{
FILE * fp;
fp= fopen("c:\\student.txt","w+");
if (fp == NULL)
{
printf("文件不存在!\n");
exit(0);
}

fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
}

void Modfiy(struct student* arr,int n)//学生基本信息修改
{
char number[10];
bool flag=false;
char pass[6];
printf("请输入密码:\n");
scanf("%s",pass);
if (Check(pass))
{
printf("修改学生信息:\n");
printf("请输入学号:\n");
scanf("%s",number);
for (int i =0;i<n;i++)
{
if (!strcmp(number,arr[i].no))
{
printf("infor: name no sex age note\n");
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
printf("please input information:\n");
scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
Save(arr,n);
flag = true;
}
}
if (flag == false)
{
printf("该学生不存在!:\n");
}
}

}

void Delete(struct student* arr,int n)//学生基本信息删除
{
char number[10];
bool flag=false;
printf("Delete information:\n");
printf("please input the no:\n");
scanf("%s",number);
for (int i =0;i<n;i++)
{
if (!strcmp(number,arr[i].no))
{
strcpy(arr[i].name," ");
strcpy(arr[i].no," ");
strcpy(arr[i].bnote," ");

arr[i].sex = ' ';
arr[i].age = 0;
Save(arr,n);
flag = true;
}
}
if (flag == true)
{
printf("该学生不存在!:\n");
}
}

void Search(struct student* arr,int n)//学生基本信息查询
{
int temp,i;
bool flag=false;
printf("---------------通过学号查询,press 1-------------\n");
printf("---------------通过姓名查询,press 2-----------\n");
printf("---------------通过性别查询,press 3------------\n");
printf("---------------通过年龄查询,press 4------------\n");
printf("---------------退出,press 5 ------------\n");
scanf("%d",&temp);
switch (temp)
{
case 1://按照学号查询
{
char num[10];
printf("请输入学号:\n");
scanf("%s",num);
for ( i =0;i<n;i++)
{
if (!strcmp(num,arr[i].no))
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 2://按照名字查询
{
char num[10];
printf("please input name:\n");
scanf("%s",num);
for ( i =0;i<n;i++)
{
if (!strcmp(num,arr[i].name))
{
printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 3://按照性别查询
{
char ch;
printf("请输入性别:\n");
//scanf("%c",&ch);
ch = getch();
for ( i =0;i<n;i++)
{
if (ch == arr[i].sex)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("t该学生不存在.\n");
}
}
break;
case 4://按照年龄查询
{
char num_age;
printf("请输入年龄:\n");
scanf("%d",&num_age);
for ( i =0;i<n;i++)
{
if (num_age == arr[i].age)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
default:
break;
}
}

void main()
{
struct student arr[N];
char ps[6];
bool flag =false;
printf("请输入密码:\n");
scanf("%s",ps);
flag = Check(ps);
if (flag)
{
int select;
print(false);
scanf("%d",&select);
while (0<select && select <7 )
{
switch (select)
{
case 1:
GetInfo(arr,N);
print(true);
break;
case 2:
Display(arr,N);
print(true);
break;
case 3:
Save(arr,N);
print(true);
break;
case 4:
Delete(arr,N);
print(true);
break;
case 5:
Modfiy(arr,N);
print(true);
break;
case 6:
Search(arr,N);
print(true);
break;
default:
break;
}
printf("请选择:\n");
scanf("%d",&select);
}
}
}

班级档案管理系统c语言

怎么用c语言编写班级档案管理系统程序?

就是一个毕业设计了嘛。
用链表实现就好了

班级档案管理系统c语言

用C语言设计一个简单的学生档案管理系统。可以加分

给我回个邮箱吧!可以写,但是太多了!我发你邮箱里!
已经写完了!你到你的邮箱找,题目是学生管理系统,我写的功能挺多。

学生档案管理系统c语言用什么软件

学生档案管理系统c语言用VC++6.0。C语言项目学生档案管理系统,本系统使用的开发工具是VC++6.0。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言,尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

用C语言设计学生档案管理

/*用C语言设计学生档案管理

1. 题目描述
编写一个程序来管理学生档案,系统能实现以下功能:
输入信息:学生信息的输入;
修改信息:对学生信息进行添加、删除与修改;
查询:能够根据学号或姓名查询某个学生的信息;
输出:输出所有学生信息或查询学生信息的结果。
2. 设计提示
1)先确定学生档案管理的数据结构。如每个学生信息:学号、姓名、性别、年龄、地址 ……等,每个数据项各用什么数据类型;
2)划分实现学生档案管理的功能模块:如主菜单、输入数据、修改、查询、输出等功能,并确定各功能模块的实现算法。
3)画出各模块的流程图或S-R图;
4)选择C语言的技术:普通数组、结构体数组、函数、指针、单链表或文件等。
5)编写程序代码。*/

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

typedef struct student{
char ID[10];
char name[10];
char sex[3];
int age;
char addr[30];
struct student *next;

}stu;

void Input(stu *&head)
{
stu *temp,*current;

temp=(stu *)malloc(sizeof(stu));
printf("输入学生信息:\n");
printf("学号\t姓名\t性别\t年龄\t地址\t\n");
fflush(stdin);
scanf("%s%s%s%d%s",temp->ID,temp->name,temp->sex,&temp->age,temp->addr);

temp->next=NULL;
if(head==NULL)
{head=(stu *)malloc(sizeof(stu));head->next=temp;}
else
{
current=head->next;
while(current->next)
current=current->next;

current->next=temp;}
printf("添加成功\n");
system("pause");
}
void FindByID(stu *&head)
{

if(head==NULL)
{printf("数据为空\n");
system("pause");return ;}
else
{stu *current =head->next;
bool flag=0;
char a[10];
printf("输入要查询的学号:\n");
fflush(stdin);
scanf("%s",a);
do
{
if(strcmp(current->ID,a)==0)
{flag=1;break;}
current=current->next;

}while(current!=NULL);

if(flag)
{
printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current->ID,current->name,current->sex,current->age,current->addr);
system("pause");
}
else
{
printf("没有找到\n");
system("pause");
}
}
}
void FindByName(stu *&head)
{

if(head==NULL)
{printf("数据为空\n");
system("pause");return ;}
else
{
stu *current =head->next;
bool flag=0;
char a[10];
printf("输入要查询的姓名:\n");
fflush(stdin);
scanf("%s",a);
do
{
if(strcmp(current->name,a)==0)
{flag=1;break;}
current=current->next;

}while(current!=NULL);

if(flag)
{
printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current->ID,current->name,current->sex,current->age,current->addr);
system("pause");
}
else
{
printf("没有找到\n");
system("pause");
}
}
}
void Delete(stu *&head)
{

if(head==NULL)
{printf("数据为空\n");
system("pause");return ;}
else
{ stu *current =head->next;
stu *prev=NULL;
char a[10];
printf("输入要删除的学号:\n");
fflush(stdin);
scanf("%s",a);
while(current!=NULL)
{
if(strcmp(current->ID,a)==0)break;
prev=current;
current=current->next;

}
if(prev==NULL)
{head->next=current->next;free(current);}
else
{prev->next=current->next;
free(current);}
printf("删除成功\n");
system("pause");
}
}
void Show(stu *&head)
{
stu *current =head->next;

if(current==NULL)
{printf("数据为空\n");
system("pause");return ;}
printf("学号\t姓名\t性别\t年龄\t地址\t\n");
while(current!=NULL)
{
printf("%s\t%s\t%s\t%d\t%s\n",current->ID,current->name,current->sex,current->age,current->addr);
current=current->next;
}
system("pause");
}
void Modify(stu *&head)
{

if(head==NULL)
{printf("数据为空\n");
system("pause");return ;}
bool flag=0;
char a[10];
printf("输入要查询的学号:\n");
fflush(stdin);
scanf("%s",a);
stu *current=head->next;
do
{
if(strcmp(current->ID,a)==0)
{flag=1;break;}
current=current->next;

}while(current!=NULL);

if(flag)
{
printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current->ID,current->name,current->sex,current->age,current->addr);
printf("请重新输入该学生信息:\n");
printf("学号\t姓名\t性别\t年龄\t地址\t\n");
scanf("%s%s%s%d%s",current->ID,current->name,current->sex,&current->age,current->addr);
printf("修改成功\n");
printf("pause");

}
else
{
printf("没有找到\n");
system("pause");
}

}

void Print()
{
system("cls");
printf(" 请选择功能(按0退出)\n");
printf(" 1------添加学生\n");
printf(" 2------通过学号查询学生\n");
printf(" 3------通过姓名查询学生\n");
printf(" 4------删除学生\n");
printf(" 5------修改学生\n");
printf(" 6------显示所有学生\n");

}
int main()
{
char ch;
stu *head=NULL;

do
{
Print();

fflush(stdin);
ch=getchar();
//system("cls");
switch(ch)
{
case '1':Input(head);break;
case '2':FindByID(head);break;
case '3':FindByName(head);break;
case '4':Delete(head);break;
case '5':Modify(head);break;
case '6':Show(head);break;

}
}while(ch!='0');

}

标签

相关资讯

我是中博奥客服:小奥
中博奥技术有限公司& 版权所有工信部备案号:豫ICP备11015869号-8 Copyright © 2023-2024

档案整理档案数字化

档案扫描档案管理软件系统

TEL:18937133779

To Top