① 用c语言编写学生管理系统时如何实现对学生信息的删除操作
遍历所有学生信息。(可以按学号查询)
删除指定的学生信息。
将剩余的信息重新写入到文件中。
可以加群讨论,IT交流群 278697954。
② 在c语言中删除用户信息的代码怎么写
你什么信息都没有提供.....
③ C语言实现删除文件信息功能
这个和编译器有关。
你直接执行.exe文件是没问题的,strcmp()函数能起作用。C语言对中文支持度有限,如果姓名是英文的话,就一定OK。
我在我的电脑上试过,code::blocks是完全没有问题,而eclipse+CDT+minGW的话,如果不加上一些特定的语句就会出问题。其他IDE像VC/VS,dev-c++没去试了
④ C语言编程 怎样编出“删除用户信息”
//删除员工信息
void delete_worker(worker *HerdList)
{
int numble;
worker *temp1,*temp2;
for(temp1=HerdList;temp1->next;numble++)
{
temp1=temp1->next;
printf("\n\t\t[%d] %s",temp1->num,temp1->name);
}
temp1=HerdList;
printf("\n请输入您要删除的员工号:");
scanf("%d",&numble);
for(;numble>1;numble--)
temp1=temp1->next;
temp2=temp1->next;
temp1->next=temp2->next;
free(temp2); //释放空间
temp1=temp1->next;
if(temp1!=NULL)
{
for(;temp1->next;temp1=temp1->next)
temp1->num--;
}
printf("\n请按任意键继续...");
getch();
}
只要把链表的表头传进来,然后输入你要删除的第几个用户就可以了。就是释放节点的空间达到删除效果的。
⑤ 如何在UNIX下用C语言,以A用户身份删除B用户
像这种情况别无他法,普通用户只能够通过一些另类的途径进行编程解决(当然了,如果当前用户是超级用户除外,SuperUser是可以随意对任何普通用户的文件、以及目录等进行任何操作的。包括:删除文件、文件改名、复制文件、变更目录的属主等。普通用户如果想对其他的用户进行以上相同的操作,那就只能够想别的办法,至于如何操作,那就先不说了)。
如果作为一个普通用户想通过正当的编程渠道,达到以上的目的,那么肯定是行不通的。否则的话,对于 UNIX/Linux 系统来说,整个操作系统就非常不可靠了,谁想怎么操作都可以任意操作。那么这个操作系统的安全性就是实在太差了,任何用户都不敢使用这些系统了。
例如:证券系统、银行系统等等。谁还敢往银行里面存款、或者是往证券公司里面投资啊?万一碰上一个这样的普通用户,那么自己在银行里面的存款、以及在证券交易所里面存放的股票等,还不是都得不翼而飞啊?
⑥ c语言中怎样编写一个删除程序
链表保存到文件,删除节点,添加节点。
#include
"stdio.h"
#include
"malloc.h"
#include
/*
*
*
用户数据结构
*/
typedef
struct
struData
{
char
usertext[100];
int
userdata1;
int
userdata2;
}ST_DATA,*PST_DATA;
/*
*
*
链表结构
*/
typedef
struct
struLink
{
ST_DATA
userdata;
struct
struLink*
pnext;
}ST_LINK,*PST_LINK;
/*
*
*
链表操作
之
申请节点
*/
PST_LINK
MallocLinkNode()
{
PST_LINK
pLink
=
NULL;
pLink
=(PST_LINK)
malloc(sizeof(ST_LINK));
if
(pLink)
{
memset(pLink,0,sizeof(ST_LINK));
}
return
pLink;
}
/*
*
*
链表操作
之
添加节点(末尾)
*/
void
AddNodeToLinTail(PST_LINK
pNodeHead,PST_LINK
pNodeAdd)
{
while(pNodeHead->pnext
!=
0)
{
pNodeHead
=
pNodeHead->pnext;
}
pNodeHead->pnext
=
pNodeAdd;
pNodeAdd->pnext
=
0;
}
/*
*
*
链表操作
之
添加节点(头部)
*/
PST_LINK
AddNodeToLinHead(PST_LINK
pNodeHead,PST_LINK
pNodeAdd)
{
pNodeAdd->pnext
=
pNodeHead;
return
pNodeAdd;
}
/*
*
*
链表操作之
删除节点(假设
member
==
nCondition
为删除条件);
*
返回值为新的头部,因为有可能头部被删除。
*/
PST_LINK
DelLinkNode(PST_LINK
pNodeHead,int
nCondition)
{
PST_LINK
pTemp
=
pNodeHead;
PST_LINK
pTemp2;
/*在头部满足条件*/
if
(
pNodeHead->userdata.userdata1
==
nCondition)
{
pTemp
=
pNodeHead->pnext;
free(pNodeHead);
/*头部被删除,返回下个节点当头部*/
return
pTemp;
}
else
{
/*中间节点寻找满足的条件*/
while(pNodeHead->pnext
!=
0)
{
/*如果下一个节点满足条件*/
if
(pNodeHead->pnext->userdata.userdata1
==
nCondition)
/*这里是需要修改的地方*/
{
/*下一个满足了,我们删除下个节点,先保存它,以便释放内存*/
pTemp2
=
pNodeHead->pnext;
/*把它后面的节点连上来,覆盖要删除的节点*/
pNodeHead->pnext
=
pNodeHead->pnext->pnext;
/*释放删除节点内存*/
free(pTemp2);
/*这里可以返回了,要返回原先的链表头*/
return
pTemp;
}
/*测试下一个*/
pNodeHead
=
pNodeHead->pnext;
}
}
/*到这里,说明找不到,把原先的头部返回*/
return
pTemp;
}
int
GetNodeCount(PST_LINK
pLinkHead)
{
int
nCount
=
0;
while(pLinkHead)
{
nCount++;
pLinkHead
=
pLinkHead->pnext;
}
return
nCount;
⑦ 用C语言实现下面的功能 1、用户输入长度不超过50的任意整型数据并将其保存并在屏幕上显示一遍 2、删除用户
#include <stdio.h>
#include <stdlib.h>
#define OVERFLOW -1
#define OK 1
#define ERROR 0
typedef int Status;
typedef char TElemType;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild;//左孩子指针
struct BiTNode *rchild;// 右孩子指针
}BiTNode;
typedef BiTNode *BiTree;
Status CreateBiTree(BiTree &T)
{//按给定的带空指针标记的先序序列建二叉链表
char ch;
int i;
for (i=1;i<=50;i++)
{
ch=getchar();
if (ch==13 || ch==''|| ch<'0' || ch>'9')
{
if (i==1) printf("请输入有效数字");
return ;
}
else {
if (!(T = (BiTNode *)malloc(sizeof(BiTNode))))
exit(OVERFLOW);
T->data = ch; // 生成根结点
CreateBiTree(T->lchild); // 构造左子树
CreateBiTree(T->rchild); // 构造右子树
}
}
return OK;
} // CreateBiTree
void Display(TElemType& e)
{
printf("%c\t",e);
}
void InOrderTraverse (BiTree T, void( *visit)(TElemType& e))
{ // 先序遍历二叉树
if (T==NULL) return;
InOrderTraverse(T->lchild, visit); // 遍历左子树
visit(T->data); // 访问根结点
InOrderTraverse(T->rchild, visit); // 遍历右子树
}
void main()
{
BiTree R;
printf("输入带空指针标记的先序序列:(例如ABCD )\n");
CreateBiTree(R);
printf("该二叉树的中序序列为:\n");
InOrderTraverse(R,Display);
printf("\n");
}
⑧ 解析C语言程序是如何自删除的
程序自删除的方式有很多,不过最终的思想不过是关闭本身进程,开启新进程用于删除自身。下面这个方法是用windows自带命令行程序实现删除。命令行为
cmd.exe
/c
del
filename--------------------------------------------------------------------------------代码示例:C语言形式#include
#include
#include
BOOL
SelfDel(){SHELLEXECUTEINFO
sei;TCHAR
szMole
[MAX_PATH],szComspec[MAX_PATH],szParams
[MAX_PATH];//
获得自身文件名.
获取cmd的全路径文件名if((GetMoleFileName(0,szMole,MAX_PATH)!=0)
&&(GetShortPathName(szMole,szMole,MAX_PATH)!=0)
&&(GetEnvironmentVariable("COMSPEC",szComspec,MAX_PATH)!=0)){//
设置命令参数.lstrcpy(szParams,"/c
del
");lstrcat(szParams,
szMole);lstrcat(szParams,
"
>
nul");//
设置结构成员.sei.cbSize
=
sizeof(sei);sei.hwnd
=
0;sei.lpVerb
=
"Open";sei.lpFile
=
szComspec;sei.lpParameters
=
szParams;sei.lpDirectory
=
0;
sei.nShow
=
SW_HIDE;sei.fMask
=
SEE_MASK_NOCLOSEPROCESS;//
创建cmd进程.if(ShellExecuteEx(&sei)){//
设置cmd进程的执行级别为空闲执行,使本程序有足够的时间从内存中退出.SetPriorityClass(sei.hProcess,IDLE_PRIORITY_CLASS);//
将自身进程的优先级置高SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS);SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL);//
通知Windows资源浏览器,本程序文件已经被删除.SHChangeNotify(SHCNE_DELETE,SHCNF_PATH,szMole,0);return
TRUE;}}return
FALSE;}---------------------------------------------------------------------------------代码示例:汇编形式.386.model
flat,stdcalloption
casemap:noneinclude
windows.incinclude
kernel32.incincludelib
kernel32.libinclude
urlmon.incincludelib
urlmon.libinclude
shell32.incincludelib
shell32.lib.data?szMole
db
MAX_PATH
p
(?)sComspec
db
MAX_PATH
p
(?);
自删除szParams
db
MAX_PATH
p
(?)hCurProcess
dd
?hCurThread
dd
?.datasei
SHELLEXECUTEINFO
<0>.constszComspec
db
COMSPEC,0Verb1
db
open,0szCom1
db
/c
del
,0szCom2
db
>
nul,0.codestart:invoke
GetMoleFileName,0,addr
szMole,MAX_PATHinvoke
GetEnvironmentVariable,addr
szComspec,addr
sComspec,MAX_PATHinvoke
lstrcpy,addr
szParams,addr
szCom1invoke
lstrcat,addr
szParams,addr
szMoleinvoke
lstrcat,addr
szParams,addr
szCom2mov
sei.cbSize,sizeof
sei
;1mov
sei.hwnd,0
;2mov
sei.lpVerb,offset
Verb1
;3lea
eax,szParamsmov
sei.lpParameters,eax
;4lea
eax,sComspecmov
sei.lpFile,eax
;5mov
sei.lpDirectory,0mov
sei.nShow,SW_HIDEmov
sei.fMask,SEE_MASK_NOCLOSEPROCESSinvoke
ShellExecuteEx,
addr
sei.if
eaxinvoke
SetPriorityClass,sei.hProcess,IDLE_PRIORITY_CLASSinvoke
GetCurrentProcessmov
hCurProcess,eaxinvoke
SetPriorityClass,hCurProcess,REALTIME_PRIORITY_CLASSinvoke
GetCurrentThreadmov
hCurThread,eaxinvoke
SetThreadPriority,hCurThread,THREAD_PRIORITY_TIME_CRITICALinvoke
SHChangeNotify,SHCNE_DELETE,SHCNF_PATH,addr
szMole,0&n
⑨ C语言中学生管理系统中如何删除一个学生的信息
直接在数据库里面删吧
⑩ C语言 删除用户输入的一个字符串中的指定字符
用字符串的替换语句CString str("ok,.dkfjd");
str.Replace("ok","");
把ok替换为空,即删除指定字符串。函数第一个参数是指定删除字符串,第二个是替换后的字符串