① 用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替換為空,即刪除指定字元串。函數第一個參數是指定刪除字元串,第二個是替換後的字元串