资源简介
早期写的在linux下编写的C程序,作为巩固C语言的实践项目。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#define User 10 //用户名最大宽度
#define Password 10 //密码最大宽度
#define Hight 24 //控制台高度
#define Width 80 //控制台宽度
#define DefaultUser “admin“ //默认的用户名
#define DefaultPassword “123456“ //默认的用户密码
#define StudentName 20 //学生姓名最大长度
#define OnePageNum 8 //一页显示信息条数
#define MARKLEN (Width-2-StudentName-8)/8 //除学号和姓名外其他项目所占长度
#define FILEADDR “data.txt“ //默认文件名
#define FILE_NAME_NUM 8 //文件名长度
int WrongTimes = 3; //允许登录输错密码次数
int IsSaved = 0; //记录是否保存0为已保存
int student_num = 0; //学生实际人数
int maxnum = 0; //最大学号
int sys_year = 0; //系统时间 年
int sys_mon = 0; //系统时间 月
int sys_day = 0; //系统时间 日
typedef struct del_node //存放缺漏的学号
{
int Sno;
struct del_node *next;
}del_Node *del_list *del_pointer;
typedef struct date_node
{
int Year; //年
int Month; //月
int Day; //日
}m_date;
typedef struct student_node
{
int Sno; //学号
char Name[20]; //姓名
m_date birthday; //生日
float score[5]; //五门成绩:语文数学英语物理化学
}student_info;
typedef struct node //学生信息的数据结构
{
student_info data;
struct node* next; //指向下一结点
}Node *lklist *pointer;
pointer p = NULLq; //p为尾巴结点用于添加 q用于其他
lklist head = NULL; //学生数据头结点
del_list del_head = NULL; //缺漏学号链表头结点
del_pointer del_last = NULL;//缺漏学号链表尾结点
/************************
功能:添加新的结点到链表中
参数:lklist head链表头结点
lklist *last链表尾结点指针
其他学生结点信息
返回:链表头结点
************************/
lklist add(lklist head lklist *last student_info data)
{
if(head == NULL) //如果链表为空
{
head = (Node *)malloc(sizeof(Node));
*last = head;
head->data.Sno = 0;
head->next = NULL;
}
q = (Node *)malloc(sizeof(Node));
q->data = data;
if (q->data.Sno > maxnum)
maxnum = q->data.Sno; //记录最大学号
(*last)->next=q;
*last=q;
(*last)->next = NULL;
return head;
}
/************************
功能:添加缺漏的学号
参数:lklist head链表头结点
lklist *last链表尾结点指针
int sno 学号
返回:链表头结点
************************/
del_list add_del_sno(del_list head del_list *last int sno)
{
del_pointer x;
if(head == NULL) //如果链表为空
{
head = (del_Node *)malloc(sizeof(del_Node));
head->Sno = 0;
*last = head;
head->next = NULL;
}
x = (del_Node *)malloc(sizeof(del_Node));
x->Sno = sno;
head->Sno = head->Sno + 1;
(*last)->next = x;
*last = x;
(*last)->next = NULL;
return head;
}
/************************
功能:清空链表结点
参数:lklist head链表头结点
lklist *last链表尾结点指针
返回:无
************************/
void del(lklist head lklist *last)
{
if (head == NULL || head->next == NULL)
return;
while (head->next)
{
q = head->next;
head->next = q->next;
free(q);
}
*last = head;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 624 2009-07-14 16:00 student_info\data.txt
文件 37178 2009-07-16 14:14 student_info\main
文件 50610 2009-07-16 14:02 student_info\main.c
文件 1184768 2009-07-16 11:21 student_info\学生信息管理系统项目说明文档.doc
目录 0 2009-12-26 17:07 student_info
----------- --------- ---------- ----- ----
1273180 5
- 上一篇:300个C语言程序范例
- 下一篇:Ch376操作鼠标键盘
相关资源
- Ch376操作鼠标键盘
- 300个C语言程序范例
- SSCOM.v3.2中文版
- mfcc源代码
- 矩阵类的运算符重载
- C语言、Python实现TF-IDF算法
- c语言 程序填空题题库
- vc++做的考试系统c/s模式
- KCF跟踪算法c++
- Kinect v2 跌到检测函数
- ftp的C++源码实现,可以进行文件传输
- MySQL——长途汽车管理系统c语言版,
- c++实现计算器
- VC++ 向指定串口发送和接收数据可十六
- 基于ZigBee技术的智能灌溉系统研究与
- 数据结构课程设计CC++描述[阮宏一][程
- vc++FTP搜索工具()
- 基于VC++的图像修复源代码
- Google C++编码规范
- 简单电梯c++实现
- 编译原理Pascal语言编译器用C实现
- AES/ECB/PKCS5Padding C++实现
- c语言课程设计图书信息管理系统
- c++商品管理
- 打印出有向图中的所有环C++
- cocos2dx 3.17 2048游戏的源码
- 计算机组成原理booth算法C源码
- C++中缀表达式求值
- Debugging Malloc Lab: Detecting Memory-Related
- 一个数字水印的VC++源程序,支持图片
评论
共有 条评论