C实现串的操作.docx
- 文档编号:23492001
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:8
- 大小:15.49KB
C实现串的操作.docx
《C实现串的操作.docx》由会员分享,可在线阅读,更多相关《C实现串的操作.docx(8页珍藏版)》请在冰豆网上搜索。
C实现串的操作
(1)能够判断两个字符串是否相等;
(2)能够判断一个字符串是否包含另一个字符串;
(3)能够查找字符串中某个特定字符出现的位置和次数;
(4)能够判断某个字符串是否符合特定的格式,如是否是一个有效的Email;地址。
#include"stdio.h"/*I/O函数*/
#include"stdlib.h"/*其它说明*/
#include"string.h"/*字符串函数*/
#include"conio.h"/*屏幕操作函数*/
#include"mem.h"/*内存操作函数*/
#include"ctype.h"/*字符操作函数*/
#include"alloc.h"/*动态地址分配函数*/
structscore
{
intmingci;
charxuehao[8];
charmingzi[20];
floatscore[6];
}data,info[1000];
inti,j,k=0;
chartemp[20],ch;
FILE*fp,*fp1;
voidshuru()
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannotopenthisfile.\n");
getch();exit(0);
}
for(i=0;i<=1000;i++)
{
printf("\nPleaseshuruxuehao:
");
gets(data.xuehao);
printf("Pleaseshurumingzi:
");
gets(data.mingzi);
printf("Pleaseshuruyuwenscore:
");
gets(temp);data.score[0]=atof(temp);
printf("Pleaseshurushuxuescore:
");
gets(temp);data.score[1]=atof(temp);
printf("Pleaseinputyingyuscore:
");
gets(temp);data.score[2]=atof(temp);
printf("Pleaseshuruwuliscore:
");
gets(temp);data.score[3]=atof(temp);
printf("Pleaseshurhuaxuescore:
");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data,sizeof(data),1,fp);
printf("another?
y/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
}fclose(fp);
}
voidxianshi()
{
floats;intn;
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("Cannotreadingthisfile.\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!
=1)
break;
}
printf("\nxuehaomingziyuwenshuxueyingyuwulihuauxuezhongfen\n");
for(j=0,k=1;j
{
info[j].mingci=k;
printf("%6s%8s%3.1f%3.1f%3.1f%3.1f%3.1f%3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5]);
}
getch();
fclose(fp);
}
voidxiugai()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("Cannotopenthisfile.\n");
exit(0);
}
printf("\nPLeaseshuruxiugaixuehao:
");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("xuehao:
%s\nmingzi:
%s\n",data.xuehao,data.mingzi);
printf("Pleaseshurumingzi:
");
gets(data.mingzi);
printf("Pleaseshuruyuwenscore:
");
gets(temp);data.score[0]=atof(temp);
printf("Pleaseshurushuxuescore:
");
gets(temp);data.score[1]=atof(temp);
printf("Pleaseinputyingyuscore:
");
gets(temp);data.score[2]=atof(temp);
printf("Pleaseinputwuliscore:
");
gets(temp);data.score[3]=atof(temp);
printf("Pleaseinputhuaxuescore:
");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
}fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
}
fclose(fp);
fclose(fp1);
}
voidchazhao()
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\nCannotopenthisfile.\n");
exit(0);
}
printf("\nPLeaseshuruxuehaochakan:
");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao);
if(i==j)
{
printf("xuehao:
%smingzi:
%s\nyuwen:
%f\nshuxue:
%f\nyingyu:
%f\nwuli:
%f\nhuaxue:
%f\n",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
}getch();
}
}
voidshanchu()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopenscore.txtwasfailed!
");
getch();
exit(0);
}
printf("\nPleaseinputIDwhichyouwanttodel:
");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("Anykeywilldeletit.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_score.txt");
rename("temp.txt","s_score.txt");
printf("Datadeletwassuccesful!
\n");
printf("Anykeywillreturntomain.");
getch();
}
main()
{
while
(1)
{
clrscr();/*清屏幕*/
gotoxy(1,1);/*移动光标*/
textcolor(YELLOW);/*设置文本显示颜色为黄色*/
textbackground(BLUE);/*设置背景颜色为蓝色*/
window(1,1,99,99);/*制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr();
printf("*************welcometousestudentmanage******************\n");
printf("*************************menu********************************\n");
printf("*=========================================================*\n");
printf("*1>shuru2>xiugai*\n");
printf("*3>shanchu4>chazhao*\n");
printf("*5>xianshi6>exit*\n");
printf("**\n");
printf("*---------------------------------------------------------*\n");
printf("Pleaseinputwhichyouwant(1-6):
");
ch=getch();
switch(ch)
{
case'1':
shuru();break;
case'2':
xiugai();break;
case'3':
shanchu();break;
case'4':
chazhao();break;
case'5':
xianshi();break;
case'6':
exit(0);
default:
continue;
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 操作