【C/C++】【学生成绩管理系统】深度剖析
可接各类C/C++管理系统课设
目录
实现功能
部分1:系统设置和主菜单
1. 引入头文件
2. 定义结构体
3. 函数声明
4. 主函数
部分2:添加学生信息
部分3:删除学生信息
部分4:修改学生信息
部分5:查询学生信息
部分6:显示信息列表
部分7:统计学生数据
部分8:清空系统数据
部分9: 退出系统函数
总结代码
该学生成绩管理系统是一个用C++实现的程序,通过控制台界面实现对学生信息的增删改查。系统包括以下功能:添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示所有学生信息、统计学生成绩数据和清空系统数据。
实现功能
-
添加学生信息: 用户可以通过输入学生的ID、姓名、年龄、性别和成绩来添加学生信息。新添加的学生信息会被存储在一个向量中。
-
删除学生信息: 用户可以通过输入学生的ID来删除学生信息。程序会在向量中查找对应的学生ID,如果找到则删除该学生的信息。
-
修改学生信息: 用户可以通过输入学生的ID来修改学生信息。程序会在向量中查找对应的学生ID,如果找到则允许用户修改该学生的姓名、年龄、性别和成绩。
-
查询学生信息: 用户可以通过输入学生的ID来查询学生信息。程序会在向量中查找对应的学生ID,如果找到则显示该学生的详细信息。
-
显示信息列表: 程序会显示所有存储在向量中的学生信息列表,包括每个学生的ID、姓名、年龄、性别和成绩。使用格式化输出使信息更加整齐美观。
-
统计学生数据: 程序会计算并显示学生成绩的平均值、最高值和最低值。这有助于用户了解整体的学生成绩分布情况。
-
清空系统数据: 用户可以选择清空系统中所有学生的数据。这会删除向量中存储的所有学生信息。
-
退出系统: 用户选择退出系统时,程序会显示退出提示信息,并终止运行。
部分1:系统设置和主菜单
首先设置程序的基本结构和主菜单界面。
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>using namespace std;// 定义一个结构体来保存学生信息
struct Student {int id;string name;int age;string gender;double grade;
};// 函数声明
void addStudent(vector<Student>& students);
void deleteStudent(vector<Student>& students);
void modifyStudent(vector<Student>& students);
void queryStudent(const vector<Student>& students);
void displayStudents(const vector<Student>& students);
void statistics(const vector<Student>& students);
void clearData(vector<Student>& students);
void exitSystem();int main() {vector<Student> students;int choice;while (true) {cout << "*****************欢迎来到学生成绩管理系统*****************\n";cout << "你可以进行以下操作:\n";cout << "1. 添加学生信息\n";cout << "2. 删除学生信息\n";cout << "3. 修改学生信息\n";cout << "4. 查询学生信息\n";cout << "5. 显示信息列表\n";cout << "6. 统计学生数据\n";cout << "7. 清空系统数据\n";cout << "0. 退出\n";cout << "请输入你的选择: ";cin >> choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout << "无效的选择,请重新输入。\n";}}return 0;
}
1. 引入头文件
首先,引入了C++标准库中的必要头文件:
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
iostream
:用于输入输出操作。vector
:用于动态数组(向量)的使用。string
:用于字符串操作。iomanip
:用于格式化输出。
2. 定义结构体
定义了一个结构体 Student
,用于保存学生信息:
struct Student {int id; // 学生IDstring name; // 学生姓名int age; // 学生年龄string gender; // 学生性别double grade; // 学生成绩
};
3. 函数声明
在 main
函数之前,声明了一些函数,这些函数将在后续部分实现:
void addStudent(vector<Student>& students);
void deleteStudent(vector<Student>& students);
void modifyStudent(vector<Student>& students);
void queryStudent(const vector<Student>& students);
void displayStudents(const vector<Student>& students);
void statistics(const vector<Student>& students);
void clearData(vector<Student>& students);
void exitSystem();
4. 主函数
主函数包含了一个无限循环,用于显示菜单并处理用户的选择:
int main() {vector<Student> students;int choice;while (true) {cout << "*****************欢迎来到学生成绩管理系统*****************\n";cout << "你可以进行以下操作:\n";cout << "1. 添加学生信息\n";cout << "2. 删除学生信息\n";cout << "3. 修改学生信息\n";cout << "4. 查询学生信息\n";cout << "5. 显示信息列表\n";cout << "6. 统计学生数据\n";cout << "7. 清空系统数据\n";cout << "0. 退出\n";cout << "请输入你的选择: ";cin >> choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout << "无效的选择,请重新输入。\n";}}return 0;
}
vector<Student> students
:定义一个用于存储学生信息的向量。int choice
:用于存储用户的选择。
部分2:添加学生信息
这个功能允许用户输入新的学生信息到系统中。
void addStudent(vector<Student>& students) {Student newStudent;cout << "请输入学生ID: ";cin >> newStudent.id;cout << "请输入学生姓名: ";cin >> newStudent.name;cout << "请输入学生年龄: ";cin >> newStudent.age;cout << "请输入学生性别: ";cin >> newStudent.gender;cout << "请输入学生成绩: ";cin >> newStudent.grade;students.push_back(newStudent);cout << "学生信息添加成功!\n";
}
- 使用
cin
获取用户输入的学生信息,并存储在newStudent
变量中。 - 将
newStudent
添加到students
向量中。 - 提示用户添加成功。
部分3:删除学生信息
这个功能允许用户根据学生ID删除学生信息。
void deleteStudent(vector<Student>& students) {int id;cout << "请输入要删除的学生ID: ";cin >> id;for (auto it = students.begin(); it != students.end(); ++it) {if (it->id == id) {students.erase(it);cout << "学生信息删除成功!\n";return;}}cout << "未找到该学生ID。\n";
}
- 获取用户输入的学生ID。
- 使用迭代器遍历
students
向量,找到匹配的学生ID并删除。 - 提示用户删除成功或未找到该学生ID。
部分4:修改学生信息
这个功能允许用户修改现有的学生信息。
void modifyStudent(vector<Student>& students) {int id;cout << "请输入要修改的学生ID: ";cin >> id;for (auto& student : students) {if (student.id == id) {cout << "请输入新的学生姓名: ";cin >> student.name;cout << "请输入新的学生年龄: ";cin >> student.age;cout << "请输入新的学生性别: ";cin >> student.gender;cout << "请输入新的学生成绩: ";cin >> student.grade;cout << "学生信息修改成功!\n";return;}}cout << "未找到该学生ID。\n";
}
- 获取用户输入的学生ID。
- 遍历
students
向量,找到匹配的学生ID并获取新的学生信息进行修改。 - 提示用户修改成功或未找到该学生ID。
部分5:查询学生信息
这个功能允许用户根据学生ID查询并显示学生信息。
void queryStudent(const vector<Student>& students) {int id;cout << "请输入要查询的学生ID: ";cin >> id;for (const auto& student : students) {if (student.id == id) {cout << "学生ID: " << student.id << "\n";cout << "学生姓名: " << student.name << "\n";cout << "学生年龄: " << student.age << "\n";cout << "学生性别: " << student.gender << "\n";cout << "学生成绩: " << student.grade << "\n";return;}}cout << "未找到该学生ID。\n";
}
- 获取用户输入的学生ID。
- 遍历
students
向量,找到匹配的学生ID并显示学生信息。 - 提示用户未找到该学生ID。
部分6:显示信息列表
这个功能显示所有学生的信息列表。
void displayStudents(const vector<Student>& students) {cout << setw(10) << "学生ID" << setw(20) << "学生姓名" << setw(10) << "年龄" << setw(10) << "性别" << setw(10) << "成绩" << "\n";for (const auto& student : students) {cout << setw(10) << student.id << setw(20) << student.name << setw(10) << student.age << setw(10) << student.gender << setw(10) << student.grade << "\n";}
}
- 使用
setw
设置输出格式,确保信息对齐。 - 遍历
students
向量,显示每个学生的信息。
部分7:统计学生数据
这个功能提供学生成绩的基本统计信息。
void statistics(const vector<Student>& students) {if (students.empty()) {cout << "没有学生数据。\n";return;}double sum = 0;double maxGrade = students[0].grade;double minGrade = students[0].grade;for (const auto& student : students) {sum += student.grade;if (student.grade > maxGrade) {maxGrade = student.grade;}if (student.grade < minGrade) {minGrade = student.grade;}}double average = sum / students.size();cout << "学生成绩统计:\n";cout << "平均成绩: " << average << "\n";cout << "最高成绩: " << maxGrade << "\n";cout << "最低成绩: " << minGrade << "\n";
}
- 计算并显示学生成绩的平均值、最高值和最低值。
- 如果没有学生数据,提示用户。
部分8:清空系统数据
这个功能清除系统中的所有学生数据。
void clearData(vector<Student>& students) {students.clear();cout << "系统数据已清空。\n";
}
- 清空
students
向量中的所有数据。 - 提示用户数据已清空。
部分9: 退出系统函数
实现了退出系统时的提示功能:
void exitSystem() {cout << "感谢使用学生成绩管理系统,再见!\n";
}
- 提示用户系统退出信息。
总结代码
将所有部分整合在一起,形成完整的学生成绩管理系统代码如下:
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>using namespace std;struct Student {int id;string name;int age;string gender;double grade;
};void addStudent(vector<Student>& students);
void deleteStudent(vector<Student>& students);
void modifyStudent(vector<Student>& students);
void queryStudent(const vector<Student>& students);
void displayStudents(const vector<Student>& students);
void statistics(const vector<Student>& students);
void clearData(vector<Student>& students);
void exitSystem();int main() {vector<Student> students;int choice;while (true) {cout << "*****************欢迎来到学生成绩管理系统*****************\n";cout << "你可以进行以下操作:\n";cout << "1. 添加学生信息\n";cout << "2. 删除学生信息\n";cout << "3. 修改学生信息\n";cout << "4. 查询学生信息\n";cout << "5. 显示信息列表\n";cout << "6. 统计学生数据\n";cout << "7. 清空系统数据\n";cout << "0. 退出\n";cout << "请输入你的选择: ";cin >> choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout << "无效的选择,请重新输入。\n";}}return 0;
}void addStudent(vector<Student>& students) {Student newStudent;cout << "请输入学生ID: ";cin >> newStudent.id;cout << "请输入学生姓名: ";cin >> newStudent.name;cout << "请输入学生年龄: ";cin >> newStudent.age;cout << "请输入学生性别: ";cin >> newStudent.gender;cout << "请输入学生成绩: ";cin >> newStudent.grade;students.push_back(newStudent);cout << "学生信息添加成功!\n";
}void deleteStudent(vector<Student>& students) {int id;cout << "请输入要删除的学生ID: ";cin >> id;for (auto it = students.begin(); it != students.end(); ++it) {if (it->id == id) {students.erase(it);cout << "学生信息删除成功!\n";return;}}cout << "未找到该学生ID。\n";
}void modifyStudent(vector<Student>& students) {int id;cout << "请输入要修改的学生ID: ";cin >> id;for (auto& student : students) {if (student.id == id) {cout << "请输入新的学生姓名: ";cin >> student.name;cout << "请输入新的学生年龄: ";cin >> student.age;cout << "请输入新的学生性别: ";cin >> student.gender;cout << "请输入新的学生成绩: ";cin >> student.grade;cout << "学生信息修改成功!\n";return;}}cout << "未找到该学生ID。\n";
}void queryStudent(const vector<Student>& students) {int id;cout << "请输入要查询的学生ID: ";cin >> id;for (const auto& student : students) {if (student.id == id) {cout << "学生ID: " << student.id << "\n";cout << "学生姓名: " << student.name << "\n";cout << "学生年龄: " << student.age << "\n";cout << "学生性别: " << student.gender << "\n";cout << "学生成绩: " << student.grade << "\n";return;}}cout << "未找到该学生ID。\n";
}void displayStudents(const vector<Student>& students) {cout << setw(10) << "学生ID" << setw(20) << "学生姓名" << setw(10) << "年龄" << setw(10) << "性别" << setw(10) << "成绩" << "\n";for (const auto& student : students) {cout << setw(10) << student.id << setw(20) << student.name << setw(10) << student.age << setw(10) << student.gender << setw(10) << student.grade << "\n";}
}void statistics(const vector<Student>& students) {if (students.empty()) {cout << "没有学生数据。\n";return;}double sum = 0;double maxGrade = students[0].grade;double minGrade = students[0].grade;for (const auto& student : students) {sum += student.grade;if (student.grade > maxGrade) {maxGrade = student.grade;}if (student.grade < minGrade) {minGrade = student.grade;}}double average = sum / students.size();cout << "学生成绩统计:\n";cout << "平均成绩: " << average << "\n";cout << "最高成绩: " << maxGrade << "\n";cout << "最低成绩: " << minGrade << "\n";
}void clearData(vector<Student>& students) {students.clear();cout << "系统数据已清空。\n";
}void exitSystem() {cout << "感谢使用学生成绩管理系统,再见!\n";
}
相关文章:
【C/C++】【学生成绩管理系统】深度剖析
可接各类C/C管理系统课设 目录 实现功能 部分1:系统设置和主菜单 1. 引入头文件 2. 定义结构体 3. 函数声明 4. 主函数 部分2:添加学生信息 部分3:删除学生信息 部分4:修改学生信息 部分5:查询学生信息 部分…...
C++作业第四天
#include <iostream> using namespace std; class Per { private: string name; int age; int *high; double *weight; public: //构造函数 Per() { cout << "Per的无参构造" << endl; } Per(str…...
设计模式之工厂方法模式(Factory Method Pattern)
目录 1.1、前言1.2、工厂方法模式简介1.2.1、工厂方法模式的主要特点1.2.2、工厂方法模式的主要结构1.2.3、使用工厂方法模式的好处 1.3、SpringBoot中那些场景使用了工厂方法模式1.4、日常工作中那些业务场景可以使用工厂方法模式1.5、工厂方法模式实战(以某商场一…...
API接口设计的18条规范
API接口设计的18条规范 签名 目的:防止数据被篡改 实现方法: 接口请求方将请求参数、时间戳和密钥拼接成一个字符串使用MD5等hash算法生成签名sign在请求参数或请求头中增加sign参数,传递给API接口API接口网关服务验证传递的sign值&#…...
adb简单使用命令
1. 查看当前连接的设备 adb devices 2. 文件路径 adb install apk 注意文件路径中不能有中文 3. adb shell ps Toplogcatlogcat可以结合greplogcat *:w 显示警告级别以上de 4. adb uninstall 软件名 1.软件名如何查看? 使用命令adb shell pm list packages会…...
构建 deno/fresh 的 docker 镜像
众所周知, 最近 docker 镜像的使用又出现了新的困难. 但是不怕, 窝们可以使用曲线救国的方法: 自己制作容器镜像 ! 下面以 deno/fresh 举栗, 部署一个简单的应用. 目录 1 创建 deno/fresh 项目2 构建 docker 镜像3 部署和测试4 总结与展望 1 创建 deno/fresh 项目 执行命令…...
数据库 | 数据库设计的步骤
1.需求分析 调查机构情况与熟悉业务活动,明确用户的需求,确定系统的边界,生成数据字典和用户需求规格说明书 2.概念结构设计 将从需求分析中得到的用户需求抽象为概念模型,设计E-R模型 3.逻辑结构设计 将E-R图转换为和DBMS相…...
改进YOLO系列 | CVPR 2021 | Involution:超越convolution和self-attention的神经网络算子
Involution:超越卷积和自注意力的新型神经网络算子(中文综述) 简介 Involuton是CVPR 2021上提出的新型神经网络算子,旨在超越卷积和自注意力,提供更高效、更具表达力的特征提取能力。 Involution原理 Involution的…...
落地速度与效果之争,通用VS垂直,我的观点和预测。
标题:AI大模型战场:通用VS垂直,谁将领跑落地新纪元? 摘要:随着人工智能技术的飞速发展,大模型的应用场景日益广泛。在这场竞赛中,通用大模型和垂直大模型各有优势,落地速度和可能性也…...
【Android面试八股文】在Android中,出现ClassNotFound的有可能的原因是什么?
在Android环境下类未找到的可能原因 在Android环境下,类未找到的可能原因包括但不限于以下几点: 类路径问题:Android应用使用的类通常存储在APK文件中。如果类所在的APK文件没有被正确加载,或者应用的类路径配置有误,就会导致类未找到的错误。 多DEX文件加载问题:在一些…...
模板引擎与 XSS 防御
在 View 层,可以解决 XSS 问题。在本书的“跨站脚本攻击”一章中,阐述了“输入检查” 与“输出编码”这两种方法在 XSS 防御效果上的差异。XSS 攻击是在用户的浏览器上执行的, 其形成过程则是在服务器端页面渲染时,注入了恶意的 H…...
vue3轮播图怎么做
先看效果 实现代码 <n-carouseleffect"card"dot-type"line"draggable:autoplay"!isHovered":current-index"currentIndex"prev-slide-style"transform: translateX(-150%) translateZ(-450px);opacity:1"next-slide-st…...
ubuntu中安装docker并换源
使用 Ubuntu 的仓库安装 Docker sudo apt update现在,你可以使用以下命令在 Ubuntu 中安装 Docker 以及 Docker Compose: sudo apt install docker.io docker-composeDocker 包被命名为 docker.io,因为在 Docker 出现之前就已经存在一个名为…...
HTML静态网页成品作业(HTML+CSS)—— 环保主题介绍网页(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...
深入了解RSA加密算法
目录 前言 一、什么是RSA? 二、RSA加密的基本概念 1.非对称加密 2.密钥生成 3.加密和解密 三、RSA加密的工作原理 四、RSA的应用场景 五、RSA加密解密的实现 六、RSA算法的局限性及改进措施 前言 在当今的数字化时代,信息的安全性成为了人们关注…...
github基础使用
前言 将用到的github指令记录下来,持续更新,方便随时查找学习。 一、github用到的指令 1、我们从github克隆下来的代码版本一般都是master主分支,我们要建立自己的分支进行修改: //git branch //查看目前的分支/* * master /…...
Docker使用心得
Docker使用心得 最近使用Docker比较频繁,特此想记录一下,方便后续查找。 Docker常用命令Docker如何配置使用GPU环境?如何使用Dockerfile构建镜像?如何使用docker compose 实例化容器? Docker如何配置使用GPU环境 参…...
QListWidget 插入 item,item显示自定义界面
代码示意: class ItemWidget_action_cfg_w(QWidget):... # 如下方法是在指定item下插入新的item def __do_add_item(self, item):# 获取当前item rowrow self.__list_w.indexFromItem(item).row()# 注意这里没有父类,解释见后面说明new_item QList…...
Python写一个ERP系统和agent智能体协同仓库和订单的案例
这是一个关于使用Python编写一个简单的ERP系统,并与Agent智能体协同完成仓库和订单管理的案例。在这个案例中,我们将使用Python的第三方库sqlite3进行数据库操作,以及discord库实现与Agent智能体的通信。 1. 首先,安装所需库&…...
【计算机网络】已解决:“‘ping‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”报错
文章目录 一、问题分析背景二、可能出错的原因三、错误代码示例四、正确解决方法与示例五、注意事项 已解决“‘ping’ 不是内部或外部命令,也不是可运行的程序或批处理文件”报错 一、问题分析背景 在Windows操作系统中,ping 命令是一个常用的网络诊断…...
Web前端学堂:深入探索前端开发的核心领域
Web前端学堂:深入探索前端开发的核心领域 在数字化时代的浪潮中,Web前端开发扮演着至关重要的角色。它不仅是连接用户与互联网世界的桥梁,更是创造丰富、互动网络体验的关键所在。本文将带领读者走进Web前端学堂,从四个方面、五个…...
Java数据结构与算法(0/1背包问题)
前言: 背包问题(Knapsack Problem)是组合优化问题中的一个经典问题,有多个变种。这里我们讨论的是 0/1 背包问题,这是最基本的一种形式。问题的描述如下: 给定 n 件物品,每件物品有一个重量 wi 和一个价值…...
LLVM 中 的 pass 及其管理机制
概述 LLVM 编译器框架的核心概念是任务调用和执行 编译器开发者将IR分解为不同的处理对象,并将其处理过程实现为单独的pass类型。在编译器初始化,pass被实例化,并被添加到pass管理中 pass 管理器(pass manager) 以流水线的方式将各个独立的…...
第 5 章 监控系统 | 入门案例 - 虚拟机监控
👉 本文目标:为 Linux 虚拟机/服务器安装 node_exporter,实现对虚拟机/服务器的监控。 👀 本文内容: 安装 Node Exporter,暴露 Linux 指标(比如 CPU、磁盘、IO 等)配置 Prometheus 抓取 Node Exporter 暴露的指标数据配置 Recording Rule,便于缓存/加速 Dashboard 频…...
教资认定报名照片要求小于190kb…
教资认定报名照片要求小于190kb…… 要求:文件小于190kb,宽度290-300,高度408-418 方法:vx搜随时照-教资认定 直接制作合规尺寸即可,还可以打印纸质版邮寄到家...
显示类控件——Calendar Widget
🐌博主主页:🐌倔强的大蜗牛🐌 📚专栏分类:QT ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、Calendar Widget介绍核心属性重要信号代码示例: 获取选中的日期 一、Calendar Widget 介绍 …...
system与excel族函数区别
1.system #include<stdlib.h> int system(const char *command); comand是命令的路径,一般我们用绝对路径 system函数会创建新的进程,新的进程执行完返回原来的进程,原来的进程则继续执行后面的代码段。 如我们创建一个sys.cpp文件…...
STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX
STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX STM32的USB接口可以模拟成为U盘,通过FATS文件系统对连接的存储单元进行U盘方式的读写。 这里介绍STM32CUBEIDE开发平台HAL库模拟U盘桥接SPI总线FATS读写W25Q各型号FLASH的例程。 FLASH是常用的一种非易失…...
jrt从量变到质变
又是一个加班的周末,上周把台式机代码和数据库环境弄好了,这周进行大数据测试,直接把标本、标本医嘱、报告、报告结果、药敏结果等数据插入到1亿的规模,跑了一天一夜插入了5000多万个标本,后面接着补剩下的到一亿。 演…...
NLP主流大模型如GPT3/chatGPT/T5/PaLM/LLaMA/GLM的原理和差异有哪些-详细解读
自然语言处理(NLP)领域的多个大型语言模型(如GPT-3、ChatGPT、T5、PaLM、LLaMA和GLM)在结构和功能上有显著差异。以下是对这些模型的原理和差异的深入分析: GPT-3 (Generative Pre-trained Transformer 3) 虽然GPT-4…...
网站首页介绍/电子商务网站建设
感觉不知道什么是VR就OUT了 其实除了VR之外,还有AR、MR、CR等外形类似 技术含量更高的头戴式设备,那么问题来了,这些*R们有哪些区别? VR(virtualreality),虚拟现实 vr是由美国VPL公司创建人拉尼尔(Jaron…...
携程网站建设目的/在哪个平台做推广比较好
简介:SaltStack是 一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基 于Python语言实现,结合轻量级消息队列(ZeroMQ)与Pyth…...
office 网站制作/搜索引擎有哪些种类
自己没想出来, 代码来自别人的博客, 但是找不到出处了… 代码实现 int longestSubstring(string str) {//利用哈希的思想,key是每一个字符,value是其对应的下标// 存储上一个重复字符的位置int* lastPosition new int[256];//初始化,首字符之前没有与其重复的字符,都为-1for (…...
都匀网站建设公司/百度 营销中心
在开发中,可能须要动态设置控件的大小 比如为一个gridview设置宽度: LinearLayout.LayoutParams linearParams2 (LinearLayout.LayoutParams)head_gridView.getLayoutParams();int realwidth Utils.Dp2Px(context, 32);linearParams2.width(headAdapter.getCount())*(realwid…...
移动网站好处/域名信息查询
WCF是微软实现其在过去五年与业界合作伙伴共同开发的所有Web服务标准的机制,它有望实现广泛的互操作性,适用于诸多平台、运行时环境和编程语言。 WCF(Windows Communications Foundation,原先称为Indigo)是微软的下一…...
网站建设响应式是什么意思/网站seo关键词优化排名
如果在爱和技术之间选其一,我更愿意爱而非技术。爱是天性,智力是器用,器用不能取代天性。不欲得到和拥有,只是宁静地与之相处。 那曾使人欢乐的,是使人现在所悲伤;而今天的悲伤,复又成将来的欢乐…...