用C或C++编程实现数据库的查询,添加,删除,修改功能。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C或C++编程实现数据库的查询,添加,删除,修改功能。相关的知识,希望对你有一定的参考价值。
明天面试,这是最基本的题目了。我不懂C++。
一个教材管理系统,给你参考下void shumingsearch(struct book *head) /*按教材名称查找*/
struct book *p;
char name[20];
int c;
if(head==NULL) printf("未打开任何文件");getchar();return;
printf("1,查找专业 2,查找教材名称:");
scanf("%d",&c);
getchar();
if(c==2)
printf("请输入要查找的教材名称:");
else printf("请输入要查找的专业:");
gets(name);
p=head;
do if(c==2)
if(strcmp(p->shuming,name)==0)
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
if(c==1)
if(strcmp(p->zhuanye,name)==0)
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
p=p->next;
while(p!=NULL);
printf("查找完成");
return;
struct book *add(struct book *head) /*增加记录*/
struct book *p,*e,*f,*h;
if(head==NULL) printf("未打开任何文件");getchar(); return NULL;
h=f=e=head;
p=(struct book *)malloc(sizeof(struct book));
printf("\n教材编号:");
gets(p->number);
printf("\n教材名称:");
gets(p->shuming);
printf("\n数量:");
scanf("%d",&p->shuliang);
printf("\n价格:");
scanf("%d",&p->jiage);
getchar();
printf("\n专业:");
gets(p->zhuanye);
printf("\n作者:");
gets(p->zuozhe);
printf("\n出版社:");
gets(p->chubanshe);
printf("\n备注:");
gets(p->beizhu);
if(strcmp(f->number,p->number)>0) p->next=f;h=p;printf("\n添加成功");return h;
if(f->next==NULL) f->next=p;p->next=NULL;printf("\n添加成功");return h;
do
if(f->next!=NULL)
if(strcmp(f->number,p->number)>0)
e->next=p;p->next=f;printf("\n添加成功");return h;
if(f->next==NULL)
f->next=p;
p->next=NULL;
printf("\n添加成功");
return h;
f=f->next;
e=e->next;
while(1);
struct book *delet(struct book *head) /*删除记录*/
struct book *p,*e;
char num[20];
if(head==NULL) printf("未打开任何文件");getchar();return NULL;
printf("请输入要删除的教材编号:");
scanf("%s",num);
p=e=head;
if(strcmp(p->number,num)==0) head=head->next; print(head);return head;
else p=p->next;
do
if(strcmp(p->number,num)==0)
if(p->next!=NULL)
e->next=p->next;
if(p->next==NULL) e->next=NULL;
print(head);
return head;
p=p->next;
e=e->next;
while(p!=NULL);
printf("搜索完毕,未找到该记录");
return head;
struct book *change(struct book *head) /*修改记录*/
struct book *p;
char num[20];
if(head==NULL) printf("未打开任何文件");getchar();return NULL;
printf("请输入要修改的教材编号:");
scanf("%s",num);
getchar();
p=head;
do
if(strcmp(p->number,num)==0)
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);
printf("\n教材编号:");
gets(p->number);
printf("\n教材名称:");
gets(p->shuming);
printf("\n数量:");
scanf("%d",&p->shuliang);
printf("\n价格:");
scanf("%d",&p->jiage);
getchar();
printf("\n专业:");
gets(p->zhuanye);
printf("\n作者:");
gets(p->zuozhe);
printf("\n出版社:");
gets(p->chubanshe);
printf("\n备注:");
gets(p->beizhu);
printf("修改成功");
return head;
p=p->next;
while(p!=NULL);
printf("未找到要修改的记录");
return head;
int mima()
FILE *fp;
char mima1[20],mima2[20];
if((fp=fopen("mima","r"))==NULL)
printf("尚未设置密码请输入:");
scanf("%s",mima1);
printf("请再次输入密码:");
scanf("%s",mima2);
if(strcmp(mima1,mima2)!=0) printf("两次密码不一样");return 0;
else
fp=fopen("mima","w");
fprintf(fp,"%s",mima1);
printf("密码设置成功");
return 1;
printf("请输入初始化密码:");
scanf("%s",mima1);
fscanf(fp,"%s",mima2);
if(strcmp(mima1,mima2)==0)
printf("密码正确");
printf("请输入要删除的文件名:");
scanf("%s",mima1);
if(remove(mima1)==0)
printf("删除成功");
getchar();
return 1;
else
printf("删除失败,请检查是否存在该文件或路径是否正确");
getchar();
return 0;
else
printf("密码错误");
getchar();
return 0;
void main()
struct book *head=NULL;
char i;
getch();
system("cls");
do
printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n");
printf("m--菜单 h--帮助");
printf("\n请输入命令:");
i=getch();
if(i=='h')
printf("\n1,录入教材信息的时候,每一个项目都必须输入相应的内容。\n2,修改,增加,删除,查找记录前必须先打开一个文件,修改完后必须记得保存教材信息。\n3,必须使用正确的路径打开文件,建议保存文件时候不用输入路径(此时是默认路径,即保存在程序目录下。)");
getch();
break;
if(i=='m')
break;
system("cls");
while(i!='m'||i!='h');
system("cls");
do
printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n");
printf("┌————-———┐\n");
printf("│1,录入教材信息│\n│2,显示教材信息│\n│3,打开一个记录│\n│4,编辑一个记录│\n│5,保存教材信息│\n│6,查找记录 │\n│s,初始化系统 │\n│e,退出系统 │\n");
printf("└———————-┘\n");
printf("\n请输入功能编号:");
i=getch();
system("cls");
switch(i)
case '1': head=creat();save(head);break;
case '2': print(head);break;
case '3': head=openfile();break;
case '4': system("cls");
printf("┌————-———┐\n");
printf("│1,增加一个记录│\n");
printf("│2,删除一个记录│\n");
printf("│3,修改一个记录│\n");
printf("└———————-┘\n");
i=getch();
switch(i)
case '1':
head=add(head);break;
case '2':
head=delet(head);break;
case '3': head=change(head);break;
default: break;
break;
case '5': save(head);break;
case '6': shumingsearch(head);break;
case 's': mima();break;
case 'e': exit(0);
default :break;
system("cls");
while(1);
参考技术A 如果用VC做,可以参考MFC类库 CDatabase和CRecordset。
查询,添加,删除,修改功能都用相应的SQL语句实现。 参考技术B 我QQ空间有个类似的C程序,你看看可以使吗
QQ:1246298204 参考技术C 什么数据库啊?
python基础编程:学生信息管理系统 包含学生的添加查询修改删除等功能。
【python基础编程题目】
使用python编写一个基本的学生信息管理系统,包含功能菜单,学生信息的录入,增加,学生信息的查询,学生信息的修改,学生信息的删除等,所有操作过的学习信息要能够永久保存,下次打开程序时,上次录入的数据应该还在。
【思路分析】
这个题目主要是考察python中类和方法的定义,循环、字符串的使用,输入输出的使用,文件的使用等,是比较综合性的一个题目,对于初学者可能比较难。
学生的信息,我们申明一个类来定义,通过init方法把学生的姓名等信息传入,在类里再定义一个输出学习信息的方法。
学生信息的录入,我们用input来接收用户输入的数据,因为用户输入的时候是把学生所有的信息混在一起输入的,我们要使用split方法把各个信息分隔开,这样才知道哪个值是姓名,哪个值是学号。那什么时候停止呢,我们判断当用户输入ok的时候表示全部输入完成。因为 这里要求数据要永久保存,因此,停止输入后,我们要把输入的信息存储到文件中,这里就需要用到文件的写入。
查询和修改删除学生信息主要就是对已有学生数组中数据的修改了,主要考察对数组的循环、删除的使用。
功能菜单,我们用字典来存储和显示,当用户输入一个数字时,根据是什么数字来调用相应的方法。
【代码实现】
import numpy as np
class Student():
# 学生信息
以上是关于用C或C++编程实现数据库的查询,添加,删除,修改功能。的主要内容,如果未能解决你的问题,请参考以下文章
数据结构作业~急求~~~用c语言或c++ 使用单链表实现系统进程列表,完成插入、删除、查询等操作。
c语言!!!程序设计:建立一个学生信息链表,包括学号,姓名,成绩.(实现添加,删除,查询,排序,平均)