资源简介
早期写的在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操作鼠标键盘
相关资源
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- C++纯文字DOS超小RPG游戏
- 个人日常财务管理系统(C语言)
- MFC数字钟(基于VC6.0)
- c语言电子商务系统
评论
共有 条评论