• 大小: 182KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C/C++
  • 标签: 课设  C语言  单链表  

资源简介

学生信息管理系统,压缩包有源码,程序,报告。声明:本人只是用来学习。

资源截图

代码片段和文件信息

/*copyright(c)2018.燕京理工学院信息科学与技术学院 
 * All rights reserved 
 * 文件名称:demo.Cpp 
 * 作者:路朋泽
 * 完成日期:2018年9月19日 
 * 版本号:codeblock 
 * 
 * 问题描述:  学生信息管理系统
 * 输入描述: 
 * 程序输出: 输出结果 
 */  
 
#include 
#include 
#include 
#include 
#include 
# define LEN sizeof(struct Student)
struct Student {
char num[100];                 //学号
char name[200];               //姓名
char sex[100];               //性别
int age;                    //年龄
char phone[120];           //电话
char address[120];        //地址
char birthday[200];      //生日
char mail[200] ;        //邮件
struct Student *next;
};
void menu();
void start();
void welcome();
char filename[30];//全局变量,用来保存要打开的文件名字
struct Student *Creat(int n);
//生成链表
struct Student *Creat(int n)
{
    void menu_print_in(void);
    struct Student *head;
    struct Student *p1 *p2;
 
    system(“cls“);
    for(int i=1;i        p1 = (struct Student*)malloc(LEN);
        menu_print_in();
        scanf(“%s%s%s%d%s%s%s%s“p1->nump1->namep1->sex
        &p1->agep1->phonep1->addressp1->birthdayp1->mail);
        p1->next = NULL;
        if(i==1)
{
            head = p2 = p1;
        }
        else {
            p2->next = p1;
            p2 = p1;
        }
    }
    return(head);
}
 
//数据存盘(wb只写)
void WriteData_wb(struct Student *head) {
    FILE *fp;
    struct Student *p;
    if((fp = fopen(filename “wb“))==NULL)
    printf(“\a 文件打开错误“);
    p = head;
    while(p!=NULL) {
        if(fwrite(pLEN1fp)!=1) {
            printf(“写入数据出错\n“);
            fclose(fp);
            return;
        }
        p=p->next;
    }
    fclose(fp);
}
 
//数据存盘(ab追加)
void WriteData_ab(struct Student *head)
{
    FILE *fp;
    struct Student *p;
    if((fp = fopen(filename “ab“))==NULL)
    printf(“\a 文件打开错误!“);
    p = head;
    while(p!=NULL) {
    if(fwrite(pLEN1fp)!=1) {
            printf(“写入数据出错\n“);
            fclose(fp);
            return;
        }
        p=p->next;
    }
    fclose(fp);
}
 
 
//读取数据文件保存到链表中 ,返回指向此链表头指针
struct Student *ReadData(void)
{
    struct Student *head = NULL;
    struct Student *p1 *p2;//s = p1;p = p2;
 
    FILE *fp;
    if((fp=fopen(filename“rb+“))==NULL)
    {
        printf(“打开文件出错\n“);
        exit(0);
    }
    while(!feof(fp)) {
        if((p1=(struct Student*)malloc(LEN))==NULL){
            printf(“内存申请出错\n“);
            fclose(fp);
            exit(0);
        }
        if(fread(p1LEN1fp)!=1){
            free(p1);
            break;
        }
        if(head==NULL)
        head=p2=p1;
        else{
            p2->next=p1;
            p2=p1;
        }
    }
    fclose(fp);
    return (head);
}
 
//全部查询
void display()
{
    system(“cls“);
    void menu_print_out(void);
    struct Student *p;
    p = ReadData();
    menu_print_out();
    do
    {
        printf(“%-10s%6s%8s%4d%13s%11s  %4s  %4s“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-09-25 08:58  数据结构课设\数据结构\
     文件       14174  2018-09-19 15:34  数据结构课设\数据结构\StudentDemo.cpp
     文件      141570  2018-09-19 15:36  数据结构课设\数据结构\StutendDemo.exe
     文件        1056  2018-09-19 15:37  数据结构课设\数据结构\student.txt
     文件         148  2018-10-15 20:21  数据结构课设\数据结构\使用说明.txt
     文件      280064  2018-10-15 20:19  数据结构课设\数据结构.doc
     目录           0  2018-10-15 20:19  数据结构课设\

评论

共有 条评论