C++商品管理系统 功能描述: 1、录入商品 2、查询商品 3、删除商品 4、修改商品 5、统计商品 信息描述:商品名称、出品公司、商品数目、南品价格、保质日期等信息。
时间: 2023-06-20 08:09:46 浏览: 152
好的,这是一个简单的C++商品管理系统的功能描述和信息描述。下面我将为你提供一个基本的实现思路,你可以根据自己的需要进行修改和完善。
1、录入商品
首先,在程序中定义一个结构体来表示商品的信息,包括商品名称、出品公司、商品数目、单品价格、保质日期等信息。然后,通过从键盘读取输入的信息,将商品信息存储到一个数组或链表中。
2、查询商品
编写查询函数,从数组或链表中查找指定商品的信息,并输出到屏幕上。
3、删除商品
编写删除函数,从数组或链表中删除指定商品的信息。
4、修改商品
编写修改函数,从数组或链表中找到指定商品的信息,并允许用户修改商品的各项信息。
5、统计商品
编写统计函数,从数组或链表中统计出各种商品的总数、总价值等信息,并输出到屏幕上。
注意事项:
1、要对用户的输入进行有效性检查,防止输入不合法的数据。
2、要对程序运行过程中可能出现的异常情况进行处理,如数组越界、链表为空等。
3、为了方便管理,可以将商品信息保存到文件中,以便下次启动程序时可以恢复之前录入的商品信息。
希望以上信息对你有所帮助!
相关问题
问题描述:设学生信息包括:学号、姓名、期末成绩、平时成绩,对学生的学习成绩信息进行管理。 设计要求: 实现学生信息的录入、修改、插入、删除、查询、计算总评成绩、根据总评程序排序和划分等级、按学号查询学生成绩等。 (1)从文件输入学生的成绩信息,包含学号、姓名、期末成绩和平时成绩; (2)显示全部学生成绩信息; (3)更新某个学生的基本信息或课程成绩; (4)对成绩统计分析(总分、平均分、最高分、最低分、及格率等);(5)学号查找并显示某个学生的成绩;(6)按姓名查找并显示某个学生的成绩;(7)按总评成绩由高到低排序显示;(8)统计各分数段人数并显示; (9)设计一个菜单,具有上述规定的操作要求、退出系统等最基本的功能。(全部功能在devc++中一个程序实现)
这是一个典型的学生信息管理系统,可以使用C++语言实现。下面是一个简单的实现示例:
```
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
struct Student {
string id;
string name;
double final_score;
double regular_score;
double total_score;
char level;
};
vector<Student> students;
void load_data(string filename) {
ifstream fin(filename);
if (!fin.is_open()) {
cout << "Failed to open file " << filename << endl;
return;
}
students.clear();
while (!fin.eof()) {
Student s;
fin >> s.id >> s.name >> s.final_score >> s.regular_score;
s.total_score = s.final_score * 0.6 + s.regular_score * 0.4;
students.push_back(s);
}
fin.close();
}
void save_data(string filename) {
ofstream fout(filename);
if (!fout.is_open()) {
cout << "Failed to open file " << filename << endl;
return;
}
for (int i = 0; i < students.size(); i++) {
Student s = students[i];
fout << s.id << " " << s.name << " " << s.final_score << " " << s.regular_score << endl;
}
fout.close();
}
void display_all() {
cout << "ID\tName\tFinal\tRegular\tTotal\tLevel" << endl;
for (int i = 0; i < students.size(); i++) {
Student s = students[i];
cout << s.id << "\t" << s.name << "\t" << s.final_score << "\t" << s.regular_score << "\t"
<< s.total_score << "\t" << s.level << endl;
}
}
void update_student() {
string id;
cout << "Enter the student ID to update: ";
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
cout << "Enter new name: ";
cin >> students[i].name;
cout << "Enter new final score: ";
cin >> students[i].final_score;
cout << "Enter new regular score: ";
cin >> students[i].regular_score;
students[i].total_score = students[i].final_score * 0.6 + students[i].regular_score * 0.4;
return;
}
}
cout << "No such student found." << endl;
}
void calculate_statistics() {
double total = 0, average = 0, max_score = 0, min_score = 100;
int pass_count = 0, fail_count = 0;
for (int i = 0; i < students.size(); i++) {
Student s = students[i];
total += s.total_score;
if (s.total_score >= 60) {
pass_count++;
} else {
fail_count++;
}
if (s.total_score > max_score) {
max_score = s.total_score;
}
if (s.total_score < min_score) {
min_score = s.total_score;
}
}
average = total / students.size();
cout << "Total: " << total << endl;
cout << "Average: " << average << endl;
cout << "Highest score: " << max_score << endl;
cout << "Lowest score: " << min_score << endl;
cout << "Pass count: " << pass_count << endl;
cout << "Fail count: " << fail_count << endl;
}
void find_by_id() {
string id;
cout << "Enter the student ID to search: ";
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
Student s = students[i];
cout << "ID\tName\tFinal\tRegular\tTotal\tLevel" << endl;
cout << s.id << "\t" << s.name << "\t" << s.final_score << "\t" << s.regular_score << "\t"
<< s.total_score << "\t" << s.level << endl;
return;
}
}
cout << "No such student found." << endl;
}
void find_by_name() {
string name;
cout << "Enter the student name to search: ";
cin >> name;
for (int i = 0; i < students.size(); i++) {
if (students[i].name == name) {
Student s = students[i];
cout << "ID\tName\tFinal\tRegular\tTotal\tLevel" << endl;
cout << s.id << "\t" << s.name << "\t" << s.final_score << "\t" << s.regular_score << "\t"
<< s.total_score << "\t" << s.level << endl;
}
}
}
void sort_by_total_score() {
sort(students.begin(), students.end(), [](const Student &a, const Student &b) {
return a.total_score > b.total_score;
});
display_all();
}
void count_level() {
int level_A = 0, level_B = 0, level_C = 0, level_D = 0, level_E = 0;
for (int i = 0; i < students.size(); i++) {
if (students[i].total_score >= 90) {
level_A++;
students[i].level = 'A';
} else if (students[i].total_score >= 80) {
level_B++;
students[i].level = 'B';
} else if (students[i].total_score >= 70) {
level_C++;
students[i].level = 'C';
} else if (students[i].total_score >= 60) {
level_D++;
students[i].level = 'D';
} else {
level_E++;
students[i].level = 'E';
}
}
cout << "A: " << level_A << endl;
cout << "B: " << level_B << endl;
cout << "C: " << level_C << endl;
cout << "D: " << level_D << endl;
cout << "E: " << level_E << endl;
}
void menu() {
while (true) {
cout << "1. Load data" << endl;
cout << "2. Save data" << endl;
cout << "3. Display all data" << endl;
cout << "4. Update student information" << endl;
cout << "5. Calculate statistics" << endl;
cout << "6. Find student by ID" << endl;
cout << "7. Find student by name" << endl;
cout << "8. Sort by total score" << endl;
cout << "9. Count level" << endl;
cout << "0. Exit" << endl;
int option;
cin >> option;
switch (option) {
case 1:
load_data("students.txt");
break;
case 2:
save_data("students.txt");
break;
case 3:
display_all();
break;
case 4:
update_student();
break;
case 5:
calculate_statistics();
break;
case 6:
find_by_id();
break;
case 7:
find_by_name();
break;
case 8:
sort_by_total_score();
break;
case 9:
count_level();
break;
case 0:
return;
default:
cout << "Invalid option." << endl;
}
}
}
int main() {
menu();
return 0;
}
```
注意,这只是一个简单的实现示例,实际应用中可能需要更多的功能和更完善的错误处理。
用c++开发一个简单的停车场管理系统。要求实现以下基本功能: 1、管理停车收费费率。管理员可以设置和修改停车收费费率,如半个小时内免费,6小时内的收费2元/小时,24小时内的收费3元/小时,超出24小时的收费4元/小时,超出整时部分不足半个小时按半个小时收费,超过半个小时按一个小时计算。系统可自动计费。 2、停车类别管理:月租、年租、随机租。 3、管理停车:停车时建立对象录入信息(车牌号,停车位置,停车时间),程序查询第一个车位为空的位置,如果车位已满给出提示。 4、查询功能。将录入的信息存储到文件中并随时查询。 5、统计当天、当月、年停车详细信息。
好的,这是一个比较复杂的需求,需要设计多个类和实现各种功能。下面是我的一个实现思路,供你参考:
1. 停车场收费费率管理类(ChargeRateManager)
这个类用于管理停车场的收费费率,包括免费时间、不同时间段的费率等信息。可以设置和修改收费费率。
2. 停车类别管理类(ParkingCategoryManager)
这个类用于管理停车场的停车类别,包括月租、年租和随机租等。可以添加、删除和修改停车类别信息。
3. 停车信息类(ParkingInfo)
这个类用于描述每一个停车位上的停车信息,包括车牌号、停车位置、停车时间、停车状态等。可以查询和修改停车信息。
4. 停车场管理类(ParkingLotManager)
这个类用于管理整个停车场的信息,包括停车位数量、空余停车位数量、停车位状态等。可以查询和修改停车场信息,包括停车、缴费、查询等操作。
5. 停车记录类(ParkingRecord)
这个类用于记录每一次停车的信息,包括车牌号、停车时间、停车时长、停车费用等。可以查询当天、当月、年停车的详细信息。
6. 文件管理类(FileManager)
这个类用于将停车记录存储到文件中,并且可以随时查询文件中的记录。
以上是我的实现思路,你可以按照这个思路设计各个类,并且实现各种功能。希望对你有所帮助!
阅读全文