这个代码怎样改符合下列情况(初学者文件不会用,只学了单链表)
图书借阅管理软件
功能描述
1)新进图书基本信息的输入,并存入图书文件。
2)图书基本信息的查询。
3)为借书人办理注册,并将已经注册会员存入会员文件。
5)办理借书手续(非注册会员不能借书)。
6)办理还书手续
信息描述:有关该系统基本信息的描述,如:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等
#include<iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
int k = 1;
struct student { //修改
int num;
char name[30];
struct student* next;
};
class stu {
private:
struct student* head, * tail;
public:
stu() {
head = new struct student; //修改
head->num = 0;
head->name[0] = '\0';
head->next = NULL; //修改
};
void create(int n);
void print();
int Insert();
void del();
void destroy();
};
void stu::create(int n) {
struct student* p;
//head->next = NULL; 修改
tail = head;
for (int i = 0; i < n; i++) {
p = new struct student; //修改
cout << "input num,name" << endl;
cin >> p->num >> p->name;
cout << endl;
p->next = NULL;
tail->next = p;
tail = p;
}
}
void stu::print()
{
if (head->next == NULL) { //修改
cout << "kongbiao" << endl;
return;
}
struct student* p;
p = head->next;
while (p != NULL) {
cout << p->num << '\t' << p->name << endl;
p = p->next;
}
}
int stu::Insert() {
system("cls");
if (head->next == NULL) { //修改
cout << "kongbiao" << endl;
return -1;
}
cout << "请输入要在哪个学号后面插入信息" << endl;
int sno;
cin >> sno;
struct student* p = head->next;
while (p != NULL){
if (p->num == sno) {
struct student* newp = new struct student; //修改
newp->next = NULL;
cout << "请输入要插入的信息:num,name" << endl;
cin >> newp->num >> newp->name;
newp->next = p->next;
p->next = newp;
break;
}
p = p->next;
}
if (p == NULL) //修改
printf("学号:%d 记录未找到,插入未成功!\n", sno);
return 0;
}
void stu::del() {
system("cls");
if (head->next == NULL) { //修改
cout << "kongbiao" << endl;
return;
}
struct student* p, * pre;
p = head->next;
pre = head;
cout << "请输入要删除的学号" << endl;
int sno;
cin >> sno;
while (p != NULL) {
if (p->num == sno) {
pre->next = p->next;
delete p;
printf("学号:%d 记录删除成功!\n", sno);//修改
return; //break; //修改
}
pre = p;
p = p->next;
}
if (p == NULL) //修改
printf("学号:%d 记录未找到,删除未成功!\n", sno);
}
void stu::destroy() {
struct student* p, * ptr;
//p = head; //修改
while (head->next != NULL) {
ptr = head->next;
head->next = ptr->next;
delete ptr;
}
}
/*void stu::paixu() {
struct student*p,*q;
p=head;
q=NULL;
if(p==NULL||p->next==NULL) {
return ;
}
while(p!=q) {
while(p->next!=q){
if(p->num<p->next->num) {
/*int temp=p->score1;
p->score1=p->next->score1;
p->next->score1=temp;//成绩交换
int tem1=p->score2;
p->score2=p->next->score2;
p->next->score2=tem1;//成绩交换
int tem2=p->score3;
p->score3=p->next->score3;
p->next->score3=tem2;//成绩交换
int temp1=p->num;
p->num=p->next->num;
p->next->num=temp1;//学号交换*/
/*char temp3[10];
strcpy(temp3,p->name);
strcpy(p->name,p->next->name);
strcpy(p->next->name,temp3);//姓名交换 */
// int temp4=p->phone;
/* p->phone=p->next->phone;
p->next->phone=temp4;//电话交换
char temp5[10];
strcpy(temp5,p->sex);
strcpy(p->sex,p->next->sex);
strcpy(p->next->sex,temp5);//性别交换
}
p=p->next;
}
q=p;
p=head;
}}*/
void menu(stu STU)//界面 //修改
{
cout << "1.添加" << endl;
cout << "2.打印" << endl;
cout << "3.插入" << endl;
cout << "4.删除" << endl;
cout << "5.销毁" << endl;
cout << "6.退出" << endl;
int num;
//stu STU; //修改
cout << "请输入你的选择" << endl;
cin >> num;
switch (num) {
case 1:
int n;
cout << "请输入个数" << endl;
cin >> n;
STU.create(n);
STU.print();
break;
case 2:
STU.print();
break;
case 3:
STU.Insert();
STU.print();
break;
case 4:
STU.del();
STU.print();
break;
case 5:
STU.destroy();
STU.print();
break;
case 6:
k = 0;
cout << "即将退出程序!" << endl;
break;
default:
cout << "请在1~6之间选择" << endl;
break;
}
}/*void save(){
int i;
FILE *fp;
char filename[LEN + 1];
printf("请输入要保存的文件名:\n");
scanf("%s", filename);
fp = fopen(filename, "w");
for (i = 0; i < n; i++){
fprintf(fp, );
}
printf("保存成功!!!\n");
fclose(fp);
system("pause");
}*/
int main()
{
stu STU; //修改
while (k) {
menu(STU);
}
system("pause");
return 0;
}
问题太笼统了,这么问和找人代写有啥区别
https://blog.csdn.net/qq_43212988/article/details/106903133?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4.essearch_pc_relevant&spm=1001.2101.3001.4242.3
找了半天,才找到这里有一个博主写的可能符合你的要求。
https://blog.csdn.net/qq_36616692/article/details/80613050
可以参考这个文章
这个代码在完整性上应该是可以了,具体功能可以一个一个调试