C++实现简单的信息管理系统
本文为大家分享C++实现简单的信息管理系统,小编之前在学习的时候也要做一些管理系统,在网上查了许多资料,现在我把资料分享给大家,希望能够帮助到大家。
#include <stdio.h>
#include <stdlib.h>
#include "file.h" void savaList(Node *head)/**把用户录入的数据存储到文件里面去方便下次读取*/
{ FILE *fp=fopen("data\\data.txt" ,"w") ; Node *p ; for(p=head->next;p;p=p->next) { fwrite(&(p->data),sizeof(students),1,fp) ; } fclose(fp) ; } void duquLisr(Node *head)/**读取用户之前所录入的数据 */
{ FILE *fp=fopen("data\\data.txt" ,"r") ; students e ; while( fread(&e,sizeof(students) ,1,fp ) ) { insertList(head,e) ; } fclose(fp) ; } #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "goods.h" /**录入数据,函数目的返回一个goods类型的值*/ /** char name[M] ; char phone[M] ; char street[M] ; char city[M] ; char youb[M] ; */
students lurushuju()
{ students e ; printf("请输入学生的姓名 ") ; scanf("%s",e.name); printf("请输入学生的电话 ") ; scanf("%s",e.phone) ; printf("请输入学生的街道 ") ; scanf("%s",e.street) ; printf("请输入学生的城市信息 ") ; scanf("%s",e.city) ; printf("请输入学生的邮编 ") ; scanf("%s",e.youb) ; return e ; }
void shuchushuju(students e)/**依次输出数据e*/
{ printf("%15s%15s%15s%15s%15s\n" , e.name ,e.phone,e.street,e.city,e.youb) ; }
void xiugaishuju(students *e)/**根据地址修改数据e里面的个别数据*/ /**通过选择序号选择想要修改的数据*/
{ int score ; int count=1 ; printf("请输入想要修改的数据类型\n") ; do { printf("1.姓名;2.电话;3.街道信息;4.城市信息;5.邮编;6.退出\n"); scanf("%d",&score) ; switch(score) { case 1: scanf("%s",e->name); break ; case 2: scanf("%s",e->phone) ; break; case 3: scanf("%s",e->street) ; break ; case 4: scanf("%s",e->city) ; break ; case 5: scanf("%s",e->youb) ; break ; default: count=0; } }while(count); } #include <stdio.h>
#include <string.h>
#include "list.h"
#include "goods.h" void creatList(Node *head,int n)/**创建一个长度为n的链表*/
{ int i ; students p ; for(i=1; i<=n ; i++) { p=lurushuju() ; insertList(head,p) ; } }
void insertList(Node *head,students e) /**把e中的某一个值以一定的顺序插入到以head为头节点的链表上面去*/
{ Node *p; Node *q; q=(Node*)malloc(sizeof(Node)); q->data=e; for(p=head; p->next && strcmp( (p->next)->data.name,e.name)<0 ;p=p->next ) ; q->next=p->next; p->next=q;
} int delList(Node *head,char e[])/**把链表姓名为e的一项删除,先找找到删除成功就返回1,否者返回0*/
{ Node *p; for(p=head; p->next && strcmp(e,p->next->data.name) ;p=p->next) ; if(p->next ==0) { return 0 ; } else { Node *t; t=p->next; p->next=t->next; free(t); return 1 ; } } Node *searchList(Node *head,char e[])/**在链表中查找名字这一项找到返回这个节点的地址 否者返回null*/
{ Node *p; for(p=head; p && strcmp(e,p->data.name) ; p=p->next ) ; return p ;
} void disputList(Node *head)/**依次顺序输出head链表*/
{ Node *p; for(p=head->next;p;p=p->next) shuchushuju(p->data); } void changeList(Node *head ,char e[]) /**修改链表中某一个节点的data值*/ /**该系统只能通过姓名查找 后续在完善*/
{ Node *p ; p=searchList(head,e) ; if(!p) { printf("error\n"); } else { xiugaishuju(&(p->data)) ; } }
void destroy(Node *head)
{ Node *p; for(p=head;p;p=p->next) free(p);
} #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "list.h"
#include "goods.h" void mainmenu(Node *head)
{ int scored ; int count=1 ; char e[100] ; int n; students p; do { printf("================****学生信息管理系统(公测版by李远航)****=====\n") ; printf("==========================开始===============================\n"); printf("==1.录入数据 2.修改数据 3.显示数据 4.删除数据 5.插入数据=\n") ; printf("=======7.读取数据========6.存盘退出=======8.退出=============\n") ; printf("=======================**********============================\n") ; printf("请输入你想要做的事\n") ; scanf("%d",&scored); switch(scored) { case 1: printf("请输入你大约想保存的学生\n"); scanf("%d",&n); creatList(head,n); break ; case 2: printf("请输入待改学生的姓名\n") ; scanf("%s",e); changeList(head , e) ; break ; case 3: printf(" 姓名 电话 街道信息 城市信息 邮件信息 \n") ; disputList(head) ; break ; case 4: printf("请输入待删学生的姓名\n"); scanf("%s",e); n=delList(head, e) ; if(n) { printf("删除成功\n"); } else { printf("error\n") ; } break ; case 5: printf("请输入你想插入的信息\n"); p=lurushuju(); insertList(head, p); break ; case 6: savaList(head); count=0; break ; case 7: duquLisr(head); break ; default : count=0; } system("pause") ; system("cls") ; }while(count); printf("\n\n\n\n感谢您对本系统的支持,如果您在使用过程中遇到bug,请发送邮件到1277171561@qq.com\n\n\n\n\n\n\n") ; } int main()
{ Node *head=(Node*)malloc(sizeof(Node)); head->next=NULL ; mainmenu(head) ; destroy(head) ; return 0;
} #ifndef FILE_H_INCLUDED
#define FILE_H_INCLUDED
#include "list.h" void savaList(Node *head);/**把用户录入的数据存储到文件里面去方便下次读取*/
void duquLisr(Node *head);/**读取用户之前所录入的数据 */ #endif // FILE_H_INCLUDED #ifndef GOODS_H_INCLUDED
#define GOODS_H_INCLUDED typedef struct students /*定义学生信息*/
{ char name[100] ; char phone[100] ; char street[100] ; char city[100] ; char youb[100] ; }students; students lurushuju();/**录入数据,函数目的返回一个goods类型的值*/
void shuchushuju(students e);/**依次输出数据e*/
void xiugaishuju(students *e);/**根据地址修改数据e里面的个别数据*/ #endif // GOODS_H_INCLUDED #ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
#include "goods.h" typedef struct Node /**链表结构体*/
{ students data ; struct Node *next ;
}Node ; void creatList(Node *head,int n);/**创建一个长度为n的链表*/
void insertList(Node *head,students e) ;/**把e中的某一个值以一定的顺序插入到以head为头节点的链表上面去*/
int delList(Node *head,char e[]) ;/**把链表姓名为e的一项删除,先找找到删除成功就返回1,否者返回0*/
Node *searchList(Node *head,char e[]) ; /**在链表中查找名字这一项*/
void disputList(Node *head);/**依次顺序输出head链表*/
void changeList(Node *head ,char e[]) ;/**修改链表中某一个节点的data值 */
void destroy(Node *head) ;/**摧毁一起链表数据*/ #endif // LIST_H_INCLUDED
完
它,
不仅仅是一个码
扫码关注
C++资源免费送
C++实现简单的信息管理系统相关推荐
- 用python制作一个学生信息管理软件_python实现简单学生信息管理系统
python简单的学生信息管理系统-文件版,供大家参考,具体内容如下 功能如下 主函数部分 增加学生信息 修改学生信息 删除学生信息 查询学生 显示所有学生的信息 将数据录入文件 读取文件数据 学习文 ...
- 基于GUI+MySQL技术的简单学生信息管理系统
简单的学生信息管理系统 1. 需求分析 1.1 系统总体分析 1.2 用户系统分析 2. 课题及任务功能描述 2.1 课题研究背景 2.2 功能描述 3. 总体设计 3.1 系统总体设计 3.2 系统 ...
- jsp mysql简单仓库信息管理系统_基于jsp+mysql的JSP简单学生信息管理系统
运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat 7.x, ...
- 用c语言做简单的用户管理系统,简单客户信息管理系统的设计与实现.doc
简单客户信息管理系统的设计与实现 学 年 设 计 报 告 设计题目 简单客户信息管理系统的设计与实现 作者姓名 林燕.丁楠楠.赵长永.陈勇祥.孙青.张书生 所学专业 网络工程 指导教师 王汇彬 201 ...
- 双链表嵌套的简单学生信息管理系统
参考:实现双链表嵌套的简单学生信息管理 作者:三速何时sub20 发布时间: 2020-07-20 10:44:40 网址:https://blog.csdn.net/weixin_44234294/ ...
- java简单课程_Java之从头开始编写简单课程信息管理系统
编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: 一.相关的软件下载和环境配置 1.下载并配置JDK. 2.下载eclipse. 3.下载并 ...
- Java简单学生信息管理系统
JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week;import jdk.internal.util.xml.impl.Input;import jav ...
- python注册登录系统_Python实现简单用户注册信息管理系统
1 #coding:utf-8 2 ''' 3 用户注册信息管理系统4 功能包括:5 1.查看全部已注册用户信息6 2.查找用户信息7 3.修改用户信息8 4.删除用户信息9 5.添加新用户10 6. ...
- Python结合MySQL数据库编写简单信息管理系统
1,项目整体逻辑及使用工具 1.1 项目整体逻辑 本项目主要是使用Python进行编写,利用Python中的pymysql库进行连接数据库,将信息存入MySQL数据库中,然后实现对信息进行增删改查等一 ...
最新文章
- getopt();getopt_long();getopt_long_only();option
- 状态栏消息提示——使用Notification
- 关于ICallbackEventHandler的疑问
- matlab判断能控和能观,实验三 利用Matlab分析能控性和能观性
- 使用J2SE进行服务器架构技术选型的变迁
- 正则表达式之模式匹配的String方法
- nbsp;在IE和FIREFOX下位置不对
- 《神奇的数学》读后感_数学家的眼光读后感
- 51单片机对直流电机的控制
- pdfminer将pdf转为csv
- macd底背离的python_java尝试编写macd,试验顶背离底背离
- [开源]蚂蚁森林自动收能量,自动解锁和自动触发
- PHP(gzdeflate/gzinflate)+JS(pako)前后端数据压缩
- docker 部署 shipyard
- Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
- 【C语言进阶】二、指针
- 苹果又魔改安卓?有人说,还不如看鸿蒙……
- 【单链表】单链表的删除
- html在线发邮件代码,通过HtmlEmail 发送邮件(示例代码)
- 工程电磁场-恒定电流的电场和磁场