大一下学期的c语言的实验课作业
可以实现一些简单的功能
包括人员的录入和文件的载入对人员的删,查,改,排序,统计等等。
较之前的有改变的是加入的文件系统。
使用了open函数和save函数比之前版本有了较大改善。
对于文件系统的加入
博主提醒写与此相关的程序时如果有文件系统的话一定要提前写入考虑
最后加是很难,所以从一开始就考虑的文件系统的问题。
(这个登录函数感觉在控制台使用的话还是比较好使的,有需要的话可以直接拿走)
废话不多说直接上源码---->
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
typedef struct peopleRecord
{
char No[10]; //编号
char name[10]; //姓名
char sex[10]; //性别
int age; //年龄
char job[10]; //职务
char post[20]; //职称
char politic[10]; //政治面貌
char edu_level[10]; //最高学历
char period[10]; //任职时间
char start_time[10]; //来院时间
} PR; //定义学院人事记录表
PR pr[N];
void save();
int open();
void Show();
void Sort();
void Seek();
void Add();
void Show2();
void Sort2();
void Delete();
void modify();
void save2();
void count();
void RandomCode (char Rcode[]);
int LandedApp (char *password[], char Rcode[]);
void Login();
int i, tmp=0, flag = 1, menu;
void main()
{
int k;
system("color A");
printf("\t&*********************************&\n");
printf("\t 欢迎使用XXX大学人事管理系统 \n") ;
printf("\t&*********************************&\n\n\n");
Login();//调用登录函数
while (flag)
{
do
{
printf("############################################菜单栏######################################\n");
printf("请输入想要实现的功能选项\n");
printf("1、录入新人员\n");
printf("2、删除指定人员\n");
printf("3、人员排序\n");
printf("4、修改指定人员\n");
printf("5、查询指定人员\n");
printf("6、浏览人员表\n");
printf("7、统计类型人数\n");
printf("8、退出菜单栏\n");
printf("############################################菜单栏######################################\n");
printf("请输入选项:");
scanf("%d", &menu);
}
while (menu>8 || menu<1);
judge(menu);
}
getchar();
getchar();
getchar();
}
void judge(int jdg)
{
int n,j,x;
char prNum[20];
switch (jdg)
{
case 1:
Add();
break;
case 2:
Delete();
break;
case 3:
printf("选择排序类型\n");
printf("1、按年龄排序\n");
printf("2、按来院时间排序\n");
int t;
scanf("%d",&t);
switch(t)
{
case 1:
Show2();
break;
case 2:
Show();
break;
}
break;
case 4:
modify();
break;
case 5:
Seek();
break;
case 6:
Show();
break;
case 7:
count();
break;
case 8:
flag = 0;
break;
}
}
/*随机码(验证码)产生函数*/
void RandomCode (char Rcode[])
{
int i;
srand (time(0));
for (i = 0; i < 3; ++i)
Rcode[i] = rand()%10 + '0';
Rcode[i] = '\0';
}
/*内置登陆匹配函数,判断信息是否匹配,若匹配返回1,否则返回0*/
int LandedApp (char *password[], char Rcode[])
{
char name[10] = {
0};
char pword[10] = {
0};
char rcode[4] = {
0};
printf (" 用户名 : ");
gets (name);
printf (" 密码 : ");
gets (pword);
printf (" 验证码 : ");
gets (rcode);
if (strcmp (name, password[0]) != 0 || strcmp (pword, password