解释 void modify()//修改 { int i, flag; char ID[LEN], name[LEN], sex; int age; float score; printf("请输入需要修改的学生姓名:\n"); getchar(); gets(name); while (1) { flag = 0; for (i = 0; i < n; i++) { if (strcmp(name, stu[i].Stuname) == 0) { flag = 1; int num;//用于switch函数的子菜单 printf("***************************************************\n"); printf("*----1.修改学号-------- - -----2.修改性别-------*\n"); printf("*----3.修改年龄-------- - -----4.修改C语言成绩--*\n"); printf("*----5.修改高数成绩---- - -----6.修改英语成绩---*\n"); printf("*-------------------7.退出本菜单------------------*\n"); printf("***************************************************\n\n"); printf("请输入子菜单:"); scanf("%d", &num); switch (num) { case 1: printf("请输入新的学号:\n"); getchar(); gets(ID); strcpy(stu[i].StuID, ID); break; case 2: getchar(); printf("请输入新的性别:\n"); scanf("%c", &sex); stu[i].Stusex = sex; break; case 3: printf("请输入新的年龄:\n"); scanf("%d", &age); stu[i].Stuage = age; break; case 4: printf("请输入新的C语言成绩:\n"); scanf("%f", &score); stu[i].score[0] = score; break; case 5: printf("请输入新的高数成绩:\n"); scanf("%f", &score); stu[i].score[1] = score; break; case 6: printf("请输入新的英语成绩:\n"); scanf("%f", &score); stu[i].score[2] = score; break; case 7: return; break; default: printf("请在1--7之间选择!\n"); } if (num > 0 && num < 7) printf("修改成功,记得保存哟!!!\n"); break;//找到学生,结束循环; } } if (flag == 0) { printf("没有找到该学生,请重新输入需要修改信息的学生姓名:\n"); gets(name); } } system("pause"); }
时间: 2023-07-23 11:36:42 浏览: 126
这是一个 C 语言函数,用于修改学生信息。它首先要求用户输入需要修改的学生姓名,然后在学生数组中进行查找,若找到该学生,则会显示一个子菜单,让用户选择需要修改的信息。子菜单中有 7 个选项,分别对应学号、性别、年龄、C语言成绩、高数成绩、英语成绩和退出。用户选择一个选项后,会要求用户输入新的信息,然后将这个信息替换原来的信息。最后,如果修改成功,函数会提示用户记得保存。如果没有找到该学生,则会提示用户重新输入需要修改信息的学生姓名。函数执行完毕后,会暂停程序运行。
相关问题
#include<stdio.h> #include<stdlib.h> #include<iostream> struct Contact {char num[10]; char name[10]; char sex[10]; char phone[20]; char address[50]; Contact*next; }; class ContactList { public: ContactList(); ~ContactList(); void insert(Contact* contact); // 插入结点 Contact* find(char* num); // 查找结点 void remove(char* num); // 删除结点 void modify(char* num, Contact* contact); // 修改结点 void display(); // 输出所有结点 void displayGenderRatio(); // 输出男女比例 void displaySameAddress(); // 输出同一公司中的人的信息 private: Contact* head; int maleCount; int femaleCount; void increaseGenderCount(char* sex); // 统计男女比例 }; ContactList::ContactList() { head = new Contact(); head->next = nullptr; maleCount = 0; femaleCount = 0; } ContactList::~ContactList() { Contact* p = head; while (p != nullptr) { Contact* q = p->next; delete p; p = q; } } void ContactList::insert(Contact*
联系人信息管理系统的代码已经被截断,我无法得知完整的代码,因此我无法对其进行优化。但是,以下是一些常见的代码优化技巧,可以供参考:
1. 减少不必要的内存分配和释放操作,可以通过预先分配足够的内存空间或者使用对象池等技术来实现。
2. 避免频繁的系统调用和磁盘访问,可以将数据缓存到内存中,减少对外部存储的依赖。
3. 使用更高效的算法和数据结构,例如使用哈希表来加速查找操作,使用排序算法来优化排序操作等等。
4. 避免重复计算和重复操作,可以使用缓存技术来存储中间结果,避免重复计算。
5. 使用多线程和并发技术来提高程序的并行度和吞吐量,充分利用多核处理器的性能。
6. 编写高质量的代码,包括遵循编码规范、使用适当的命名和注释、进行代码重构和优化等等,可以使程序更加易于维护和改进。
#ifndef WAREHOUSE_H #define WAREHOUSE_H #include <vector> #include <iostream> // 添加iostream头文件 #include <algorithm> // 添加algorithm头文件 struct Item { int id; // 商品编号 std::string name; // 商品名称 int quantity; // 库存数量 double price; // 单价 }; class Warehouse { public: void add(); // 增加物品 void remove(); // 删除物品 void query(); // 查询物品信息 void modify(); // 修改物品信息 void display(); // 显示物品信息 void sort(); // 排序物品信息 void save(); // 保存并退出 private: std::vector<Item> items; // 商品列表 std::vector<Item>::iterator findItem(int id); // 查找商品 }; #endif缺少.cpp文件
好的,下面是一个简单的仓库管理的实现,包括.h和.cpp文件:
warehouse.h
```c++
#ifndef WAREHOUSE_H
#define WAREHOUSE_H
#include <vector>
#include <iostream>
#include <algorithm>
struct Item {
int id; // 商品编号
std::string name; // 商品名称
int quantity; // 库存数量
double price; // 单价
};
class Warehouse {
public:
void add(); // 增加物品
void remove(); // 删除物品
void query(); // 查询物品信息
void modify(); // 修改物品信息
void display(); // 显示物品信息
void sort(); // 排序物品信息
void save(); // 保存并退出
private:
std::vector<Item> items; // 商品列表
std::
阅读全文