定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中删除记录的程序?

定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中删除记录的程序?,第1张

1.输入完成后进行判断即可,如输入的学号是多少位如果不是12位则返回错误,然后再遍历学号(以字符进行输入)如果字符中不是数字返回错误等,或者以数字进行(格式控制)先判断输入函数返回是否正确2.你确定是结构数组而不是链表对吧,那么遍历这个数组与数组中相应元素(结构体)中的对应查询数据比对即可,打到后打印该元素内所有数据3.删除可以在结构体中设置一个该元素是否被删除的标致,初始为未删除,删除时标记为删除即可,由于是数组,删除数组中元素需要将删除元素之后的所有元素向前移动一位会比较浪费时间4.人数不确定则可以使用一个计数用来记录当前学生数量多少,如果下一个学生的添加超过了这个数量则动态添加数组长度,即使用动态数组5.一般来说你输入的数据是存储在内存中的,程序一旦退出后程序所占资源被回收所以数据也就丢失了,为了数据不丢失可以将数据保存到一个能够永久保存数据库的外部存储设备比如保存到硬盘上,简单地说就是保存到文件里,程序启动时从文件里读取数据一般这样的程序都是使用链表来做当前使用数组也是可以的之前我就有用结构体数组做过一个简单的学生管理系统如果需要写代码的话我可以有偿代劳

CDatabase类封装了MySQL数据库的功能,因此不具备通用性,只能在对MySQL的应用程序中使用。下面将根据C++要求及规范给出CDatabase类的具体结构以及相关简要介绍:

class CDatabase

{ public: BOOL UnLockTable()//解锁 BOOL LockTable(char* TableName,char* PRIORITY)//加锁 int Reload()//重新登陆,非零时返回错误信息 char* GetState()//服务器状态 char* GetServerInfo()//服务器信息 int GetProtocolInfo()//协议信息 char* GetHostInfo()//主机信息 char * GetClientInfo()//客户机信息 char* GetFieldName(int FieldNum)//字段名 BOOL IsEnd()//是否最后 int DropDB(char *db)//删除数据库,非零时返回错误信息 void SeekData(int offset)//查找指定数据 int CreateDB(char *db)//创建数据库,非零时返回错误信息 void FreeRecord()//释放结果集 unsigned int GetFieldNum()//得到字段数 BOOL ConnectDB(Database_Param *p)//连接数据库 MYSQL_ROW GetRecord()//得到结果(一个记录) my_ulonglong GetRowNum()//得到记录数 BOOL SelectDB(Data_Param *para)//选择数据库 BOOL UpdateRecord(Data_Param *para)//更新记录 BOOL SelectRecord(Data_Param *para)//选择记录 BOOL InsertRecord(Data_Param *para)//插入记录 BOOL DelRecord(Data_Param *para)//删除记录 BOOL SelectAll(Data_Param *para)//选择所有记录 char * OutErrors()//输出错误信息 CDatabase()//初始化数据库 virtual ~CDatabase()//关闭数据库连接

private: MYSQL mysql//数据库连接句柄 MYSQL_RES *query//结果集 MYSQL_ROW row//记录集 MYSQL_FIELD *field//字段信息(结构体) BOOL FindSave(char *str)//查找并保存结果集 }

通过CDatabase类中定义的这些功能函数,我们可以通过远程或本机完成对MySQL数据库的绝大部分 *** 控,并且由于定义了解锁和加锁功能,使得应用程序能够多线程或多进程地访问数据库,大大提高了效能。

public class Test1 {

public static void main(String[] args) {

FourElements e1 = new FourElements(1, 2, 3, 4D)

FourElements e2 = new FourElements(11, 22, 33, 44d)

FourElements e3 = e1.calculate(e2)

System.out.println("After calcualting, the result is: " + e3.toString())

}

}

class FourElements{

private double a, b, c, d

public FourElements(double a, double b, double c, double d){

this.a = a

this.b = b

this.c = c

this.d = d

}

public FourElements calculate(FourElements element2){

double newA = this.a + element2.getA()

double newB = this.b - element2.getB()

double newC = this.c * element2.getC()

double newD = this.d / element2.getD()

return new FourElements(newA, newB, newC, newD)

}

public double getA() {

return a

}

public double getB() {

return b

}

public double getC() {

return c

}

public double getD() {

return d

}

public String toString(){

return "a = " + a + ", b = " + b + ", c = " + c + ", d = " + d

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6697833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存