当前位置: 首页 > news >正文

在做网站的公司做网站运营犯法吗浙江网站建设cms

在做网站的公司做网站运营犯法吗,浙江网站建设cms,厦门网站建设电话,综合电子商务型企业网站目录 前言一、功能菜单界面二、类与结构体的实现三、录入学生信息四、删除学生信息五、更改学生信息六、查找学生信息七、统计学生人数八、保存学生信息九、读取学生信息十、打印所有学生信息十一、退出系统十二、文件拆分结语 前言 这一期我们来一起学习我们在大学做过的课程…

目录

  • 前言
  • 一、功能菜单界面
  • 二、类与结构体的实现
  • 三、录入学生信息
  • 四、删除学生信息
  • 五、更改学生信息
  • 六、查找学生信息
  • 七、统计学生人数
  • 八、保存学生信息
  • 九、读取学生信息
  • 十、打印所有学生信息
  • 十一、退出系统
  • 十二、文件拆分
  • 结语

前言

这一期我们来一起学习我们在大学做过的课程设计——学生管理系统,这是一个非常简单且非常值得像我这样的新手独立完成的一个基础项目,用到基础数据结构里的链表来实现,所以指针和链表不太理解的同学先去理解,这样做这个项目会比较顺畅。
在这里插入图片描述

一、功能菜单界面

进入到该系统我们就可以选择我们想要的操作,为了方便我们能准确的知道哪个数字是实现什么操作,我们将其一直显示在运行窗口。

int menu() {cout << "***********************************************" << endl;cout << "*       Welcome to Student Management System  *" << endl;cout << "***********************************************" << endl;cout << "            Please select an option:         " << endl;cout << "            1.录入学生信息                   " << endl;cout << "            2.删除学生信息                   " << endl;cout << "            3.修改学生信息                   " << endl;cout << "            4.查询学生信息                   " << endl;cout << "            5.读取学生信息                   " << endl;cout << "            6.保存学生信息                   " << endl;cout << "            7.显示学生信息                   " << endl;cout << "            8.统计学生信息                   " << endl;cout << "            0.退出系统                       " << endl;cout << "select an option(0-8):";int option;cin >> option;return option;
}

调试的结果

在这里插入图片描述
然后就是我们输入想要操作的数字就执行相应的操作,我们可以用enum来表示不同操作的数字。我们每次进行不同操作时为了让我们的运行界面看起来简洁美观,我们可以调用这个函数system(“cls”),它表示清空运行界面的所有内容,但是为了不让每次操作完之后就马上清空,所以我们在这个函数之前加入一个暂停的函数system(“pause”);

enum MenuOption {Entry=1,Delete=2,Update=3,Find=4,Read=5,Save=6,Display=7,Statistics=8,Exit=0
};
int main() {List list;bool isRunning=true;while (isRunning) {switch (menu()) {case Entry:list.addStudent();break;case Delete:list.deleteStudent();break;case Update:list.updateStudent();break;case Find:list.find();break;case Read:list.read();break;case Save:list.save();break;case Display:list.print();break;case Statistics:list.statistics();break;case Exit:isRunning=false;break;}system("pause");system("cls");}return 0;
}

二、类与结构体的实现

如果你学了链表这个是非常容易理解的,我就不过多解释了

struct Student {unsigned long long number;string name;int age;float score;
};struct node {Student data;node* next;
};class List {
private:node* head;int size;
public:List() :head(NULL), size(0) {}~List() {}void addStudent();void deleteStudent();void updateStudent();void find();void read();void save();void print();void statistics();
};

三、录入学生信息

void List::addStudent() {node* newNode = new node;cout << "请输入学号:";cin >> newNode->data.number;cout << "请输入姓名:";cin >> newNode->data.name;cout << "请输入年龄:";cin >> newNode->data.age;cout << "请输入成绩:";cin >> newNode->data.score;newNode->next = head;head = newNode;size++;
}

四、删除学生信息

void List::deleteStudent() {cout << "请输入要删除的学生学号:";int number;cin >> number;node* curr = head;node* prev = NULL;while (curr) {if (curr->data.number == number) {if (prev) {prev->next = curr->next;}else {head = curr->next;}delete curr;size--;return;}prev = curr;curr = curr->next;}cout << "学生信息不存在!" << endl;
}

五、更改学生信息

void List::updateStudent() {cout << "请输入要修改的学生学号:";int number;cin >> number;node* curr = head;while (curr) {if (curr->data.number == number) {cout << "请输入新的姓名:";cin >> curr->data.name;cout << "请输入新的年龄:";cin >> curr->data.age;cout << "请输入新的成绩:";cin >> curr->data.score;return;}curr = curr->next;}cout << "学生信息不存在!" << endl;
}

六、查找学生信息

void List::find(){cout << "请输入要查询的学生学号:";int number;cin >> number;node* curr = head;while (curr) {if (curr->data.number == number) {cout << "学号:" << curr->data.number << endl;cout << "姓名:" << curr->data.name << endl;cout << "年龄:" << curr->data.age << endl;cout << "成绩:" << curr->data.score << endl;return;}curr = curr->next;}cout << "学生信息不存在!" << endl;
}

七、统计学生人数

void List::statistics() {int cnt = 0;node* curr = head;while (curr) {cnt++;curr = curr->next;}cout << "学生数量:" << cnt << endl;
}

八、保存学生信息

将所以学生的信息全部保存在新创建的文件内如student.txt文件

在这里插入图片描述

void List::save() {ofstream fout;fout.open("student.txt");node* curr = head;while(curr) {fout << curr->data.number << " " << curr->data.name << " " << curr->data.age << " " << curr->data.score << endl;curr = curr->next;}fout.close();
}

九、读取学生信息

void List::read() {ifstream fin;fin.open("student.txt");string line;while (getline(fin, line)) {cout<<line<<endl;}fin.close();
}

十、打印所有学生信息

void List::print(){node* curr = head;cout << "***********************************************" << endl;cout << "*       Student Information                   *" << endl;cout << "*   学号   *   姓名   *   年龄   *   成绩   *" << endl;while (curr) {cout << curr->data.number << " " << curr->data.name << " " << curr->data.age << " " << curr->data.score << endl;curr = curr->next;}delete curr;
}

十一、退出系统

我们定义一个布尔变量isRunning,如果它为true系统就继续运行,否则退出系统。

十二、文件拆分

新创建studenManager.cpp和studenManager.h两个文件。
studenManager.cpp文件内容如下:

#include "StudentManager.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;int menu() {cout << "***********************************************" << endl;cout << "*       Welcome to Student Management System  *" << endl;cout << "***********************************************" << endl;cout << "            Please select an option:         " << endl;cout << "            1.录入学生信息                   " << endl;cout << "            2.删除学生信息                   " << endl;cout << "            3.修改学生信息                   " << endl;cout << "            4.查询学生信息                   " << endl;cout << "            5.读取学生信息                   " << endl;cout << "            6.保存学生信息                   " << endl;cout << "            7.显示学生信息                   " << endl;cout << "            8.统计学生信息                   " << endl;cout << "            0.退出系统                       " << endl;cout << "select an option(0-8):";int option;cin >> option;return option;
}void List::addStudent() {node* newNode = new node;cout << "请输入学号:";cin >> newNode->data.number;cout << "请输入姓名:";cin >> newNode->data.name;cout << "请输入年龄:";cin >> newNode->data.age;cout << "请输入成绩:";cin >> newNode->data.score;newNode->next = head;head = newNode;size++;
}void List::deleteStudent() {cout << "请输入要删除的学生学号:";int number;cin >> number;node* curr = head;node* prev = NULL;while (curr) {if (curr->data.number == number) {if (prev) {prev->next = curr->next;}else {head = curr->next;}delete curr;size--;return;}prev = curr;curr = curr->next;}cout << "学生信息不存在!" << endl;
}void List::updateStudent() {cout << "请输入要修改的学生学号:";int number;cin >> number;node* curr = head;while (curr) {if (curr->data.number == number) {cout << "请输入新的姓名:";cin >> curr->data.name;cout << "请输入新的年龄:";cin >> curr->data.age;cout << "请输入新的成绩:";cin >> curr->data.score;return;}curr = curr->next;}cout << "学生信息不存在!" << endl;
}void List::find(){cout << "请输入要查询的学生学号:";int number;cin >> number;node* curr = head;while (curr) {if (curr->data.number == number) {cout << "学号:" << curr->data.number << endl;cout << "姓名:" << curr->data.name << endl;cout << "年龄:" << curr->data.age << endl;cout << "成绩:" << curr->data.score << endl;return;}curr = curr->next;}cout << "学生信息不存在!" << endl;
}void List::statistics() {int cnt = 0;node* curr = head;while (curr) {cnt++;curr = curr->next;}cout << "学生数量:" << cnt << endl;
}void List::save() {ofstream fout;fout.open("student.txt");node* curr = head;while(curr) {fout << curr->data.number << " " << curr->data.name << " " << curr->data.age << " " << curr->data.score << endl;curr = curr->next;}fout.close();
}void List::read() {ifstream fin;fin.open("student.txt");string line;while (getline(fin, line)) {cout<<line<<endl;}fin.close();
}void List::print(){node* curr = head;cout << "***********************************************" << endl;cout << "*       Student Information                   *" << endl;cout << "*   学号   *   姓名   *   年龄   *   成绩   *" << endl;while (curr) {cout << curr->data.number << " " << curr->data.name << " " << curr->data.age << " " << curr->data.score << endl;curr = curr->next;}delete curr;
}studenManager.h文件内容如下:```cpp
#pragma once
#include <iostream>
using namespace std;struct Student {unsigned long long number;string name;int age;float score;
};struct node {Student data;node* next;
};class List {
private:node* head;int size;
public:List() :head(NULL), size(0) {}~List() {}void addStudent();void deleteStudent();void updateStudent();void find();void read();void save();void print();void statistics();
};int menu();
enum MenuOption {Entry=1,Delete=2,Update=3,Find=4,Read=5,Save=6,Display=7,Statistics=8,Exit=0
};

main.cpp内容如下:

#include<iostream>
#include"StudentManager.h"
using namespace std;int main() {List list;bool isRunning=true;while (isRunning) {switch (menu()) {case Entry:list.addStudent();break;case Delete:list.deleteStudent();break;case Update:list.updateStudent();break;case Find:list.find();break;case Read:list.read();break;case Save:list.save();break;case Display:list.print();break;case Statistics:list.statistics();break;case Exit:isRunning=false;break;}system("pause");system("cls");}return 0;
}

结语

大家看完之后一定动手做一做,这个项目很容易的做的快的话其实半个几十分钟可以搞定的。

在这里插入图片描述

想看更多内容可以关注我,看我作品,关注我让我们一起学习编程,希望大家能点赞关注支持一下,让我有持续更新的动力,谢谢大家。
在这里插入图片描述

http://www.yayakq.cn/news/913703/

相关文章:

  • wordpress建站 东莞天元建设集团有限公司第十建筑工程公司
  • 中国建设银行龙网站首页网站设置在哪里找
  • 珠海市网站开发公司电话建设一个电影网站需要多少钱
  • 做音乐的网站设计排版设计图片模板
  • 正规网站建设首选公司西宁网站建设哪家公司好
  • 蜘蛛抓取网站模块原理长春开发小程序开发
  • 有源代码怎么做网站工程竣工信息哪里可以查询
  • 网站怎么做扫码微信支付中国新闻社官网招聘
  • 临检中心网站建设wordpress importer 0.6.1
  • 那个网站做图片好看的室内装修装饰设计培训班
  • 做网站如何语音中企动力做网站5个月了
  • 云优化 网站建设企业qq怎么申请注册
  • 二手书屋网站开发的意义沈阳微信网站制作价格
  • 广告公司网站首页网络营销与网站推广的
  • 微网站建设及微信推广方案ppt模板免费连接附近wifi
  • 商城推广 网站建设spacious wordpress 主题
  • 阿里云建站是外包的吗wordpress采集网址
  • 指示灯具网站建设wordpress 设置登陆
  • 网站开发公司如何做直播wordpress 4 导航菜单
  • 酒店做爰视频网站网站建设与运营 好考吗
  • 网站被清空了怎么办wordpress转换app
  • Wordpress网站能做seo吗怎样帮人做网站挣钱
  • saas建站平台建设项目环境影响备案网站
  • net网站同时支持 生成静态文件和伪静态wordpress数据库不稳定
  • 摄影网站图片网站路径
  • 炒股网站开发昌大建设集团地址
  • 怎么建设自己公司的网站首页动态ip建设网站
  • 北碚区网站建设杭州市建设工程质量安全监督总站网站
  • 个人网站设计结构图深圳关键词推广优化
  • 网站做301好不好wordpress颜色插件